1*c66ec88fSEmmanuel Vadot%YAML 1.2 2*c66ec88fSEmmanuel Vadot--- 3*c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/bus/renesas,bsc.yaml# 4*c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 5*c66ec88fSEmmanuel Vadot 6*c66ec88fSEmmanuel Vadottitle: Renesas Bus State Controller (BSC) 7*c66ec88fSEmmanuel Vadot 8*c66ec88fSEmmanuel Vadotmaintainers: 9*c66ec88fSEmmanuel Vadot - Geert Uytterhoeven <geert+renesas@glider.be> 10*c66ec88fSEmmanuel Vadot 11*c66ec88fSEmmanuel Vadotdescription: | 12*c66ec88fSEmmanuel Vadot The Renesas Bus State Controller (BSC, sometimes called "LBSC within Bus 13*c66ec88fSEmmanuel Vadot Bridge", or "External Bus Interface") can be found in several Renesas ARM 14*c66ec88fSEmmanuel Vadot SoCs. It provides an external bus for connecting multiple external 15*c66ec88fSEmmanuel Vadot devices to the SoC, driving several chip select lines, for e.g. NOR 16*c66ec88fSEmmanuel Vadot FLASH, Ethernet and USB. 17*c66ec88fSEmmanuel Vadot 18*c66ec88fSEmmanuel Vadot While the BSC is a fairly simple memory-mapped bus, it may be part of a 19*c66ec88fSEmmanuel Vadot PM domain, and may have a gateable functional clock. Before a device 20*c66ec88fSEmmanuel Vadot connected to the BSC can be accessed, the PM domain containing the BSC 21*c66ec88fSEmmanuel Vadot must be powered on, and the functional clock driving the BSC must be 22*c66ec88fSEmmanuel Vadot enabled. 23*c66ec88fSEmmanuel Vadot 24*c66ec88fSEmmanuel Vadot The bindings for the BSC extend the bindings for "simple-pm-bus". 25*c66ec88fSEmmanuel Vadot 26*c66ec88fSEmmanuel VadotallOf: 27*c66ec88fSEmmanuel Vadot - $ref: simple-pm-bus.yaml# 28*c66ec88fSEmmanuel Vadot 29*c66ec88fSEmmanuel Vadotproperties: 30*c66ec88fSEmmanuel Vadot compatible: 31*c66ec88fSEmmanuel Vadot items: 32*c66ec88fSEmmanuel Vadot - enum: 33*c66ec88fSEmmanuel Vadot - renesas,bsc-r8a73a4 # R-Mobile APE6 (r8a73a4) 34*c66ec88fSEmmanuel Vadot - renesas,bsc-sh73a0 # SH-Mobile AG5 (sh73a0) 35*c66ec88fSEmmanuel Vadot - const: renesas,bsc 36*c66ec88fSEmmanuel Vadot - {} # simple-pm-bus, but not listed here to avoid false select 37*c66ec88fSEmmanuel Vadot 38*c66ec88fSEmmanuel Vadot reg: 39*c66ec88fSEmmanuel Vadot maxItems: 1 40*c66ec88fSEmmanuel Vadot 41*c66ec88fSEmmanuel Vadot interrupts: 42*c66ec88fSEmmanuel Vadot maxItems: 1 43*c66ec88fSEmmanuel Vadot 44*c66ec88fSEmmanuel Vadotrequired: 45*c66ec88fSEmmanuel Vadot - reg 46*c66ec88fSEmmanuel Vadot 47*c66ec88fSEmmanuel Vadotexamples: 48*c66ec88fSEmmanuel Vadot - | 49*c66ec88fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 50*c66ec88fSEmmanuel Vadot 51*c66ec88fSEmmanuel Vadot bsc: bus@fec10000 { 52*c66ec88fSEmmanuel Vadot compatible = "renesas,bsc-sh73a0", "renesas,bsc", "simple-pm-bus"; 53*c66ec88fSEmmanuel Vadot #address-cells = <1>; 54*c66ec88fSEmmanuel Vadot #size-cells = <1>; 55*c66ec88fSEmmanuel Vadot ranges = <0 0 0x20000000>; 56*c66ec88fSEmmanuel Vadot reg = <0xfec10000 0x400>; 57*c66ec88fSEmmanuel Vadot interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>; 58*c66ec88fSEmmanuel Vadot clocks = <&zb_clk>; 59*c66ec88fSEmmanuel Vadot power-domains = <&pd_a4s>; 60*c66ec88fSEmmanuel Vadot }; 61