On Mon, Sep 16, 2019 at 05:33:57PM +0200, Simon Horman wrote:
> Convert Renesas Bus State Controller (BSC) bindings documentation to
> json-schema.
>
> Signed-off-by: Simon Horman <[email protected]>
> ---
> * Tested using:
> # ARCH=arm64 make dtbs_check
> DT_SCHEMA_FILES=Documentation/devicetree/bindings/bus/renesas,bsc.yaml
> # ARCH=arm make dtbs_check
> DT_SCHEMA_FILES=Documentation/devicetree/bindings/bus/renesas,bsc.yaml
> ---
> .../devicetree/bindings/bus/renesas,bsc.txt | 46 -----------------
> .../devicetree/bindings/bus/renesas,bsc.yaml | 57
> ++++++++++++++++++++++
> 2 files changed, 57 insertions(+), 46 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/bus/renesas,bsc.txt
> create mode 100644 Documentation/devicetree/bindings/bus/renesas,bsc.yaml
>
> diff --git a/Documentation/devicetree/bindings/bus/renesas,bsc.txt
> b/Documentation/devicetree/bindings/bus/renesas,bsc.txt
> deleted file mode 100644
> index 90e947269437..000000000000
> --- a/Documentation/devicetree/bindings/bus/renesas,bsc.txt
> +++ /dev/null
> @@ -1,46 +0,0 @@
> -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".
> -
> -
There is an extra blank line above,
I plan to remove it in v2.
> -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>;
> - };
> diff --git a/Documentation/devicetree/bindings/bus/renesas,bsc.yaml
> b/Documentation/devicetree/bindings/bus/renesas,bsc.yaml
> new file mode 100644
> index 000000000000..0231a15cac47
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/bus/renesas,bsc.yaml
> @@ -0,0 +1,57 @@
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/bus/renesas,bsc.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Renesas Bus State Controller (BSC)
> +
> +maintainers:
> + - Geert Uytterhoeven <[email protected]>
> +
> +description: |
> + 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".
> +
> +allOf:
> + - $ref: simple-pm-bus.yaml#
> +
> +properties:
> + compatible:
> + items:
> + - enum:
> + - renesas,bsc-r8a73a4 # R-Mobile APE6 (r8a73a4)
> + - renesas,bsc-sh73a0 # SH-Mobile AG5 (sh73a0)
> + - const: renesas,bsc
> + - const: simple-pm-bus
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/irq.h>
> +
> + 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>;
> + };
> --
> 2.11.0
>