| Renesas Bus State Controller (BSC) |
| ================================== |
| |
| The Renesas Bus State Controller (BSC, sometimes called "LBSC within Bus |
| Bridge", or "External Bus Interface") can be found in several Renesas ARM SoCs. |
| It provides an external bus for connecting multiple external devices to the |
| SoC, driving several chip select lines, for e.g. NOR FLASH, Ethernet and USB. |
| |
| While the BSC is a fairly simple memory-mapped bus, it may be part of a PM |
| domain, and may have a gateable functional clock. |
| Before a device connected to the BSC can be accessed, the PM domain |
| containing the BSC must be powered on, and the functional clock |
| driving the BSC must be enabled. |
| |
| The bindings for the BSC extend the bindings for "simple-pm-bus". |
| |
| |
| Required properties |
| - compatible: Must contain an SoC-specific value, and "renesas,bsc" and |
| "simple-pm-bus" as fallbacks. |
| SoC-specific values can be: |
| "renesas,bsc-r8a73a4" for R-Mobile APE6 (r8a73a4) |
| "renesas,bsc-sh73a0" for SH-Mobile AG5 (sh73a0) |
| - #address-cells, #size-cells, ranges: Must describe the mapping between |
| parent address and child address spaces. |
| - reg: Must contain the base address and length to access the bus controller. |
| |
| Optional properties: |
| - interrupts: Must contain a reference to the BSC interrupt, if available. |
| - clocks: Must contain a reference to the functional clock, if available. |
| - power-domains: Must contain a reference to the PM domain, if available. |
| |
| |
| Example: |
| |
| bsc: bus@fec10000 { |
| compatible = "renesas,bsc-sh73a0", "renesas,bsc", |
| "simple-pm-bus"; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| ranges = <0 0 0x20000000>; |
| reg = <0xfec10000 0x400>; |
| interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&zb_clk>; |
| power-domains = <&pd_a4s>; |
| }; |