[PATCH v5 6/8] ARM: brcmstb: add misc. DT bindings for brcmstb
Mark Rutland
mark.rutland at arm.com
Fri Jan 24 06:03:00 EST 2014
On Wed, Jan 22, 2014 at 03:30:50AM +0000, Marc Carino wrote:
> Document the bindings that the Broadcom STB platform needs
> for proper bootup.
>
> Signed-off-by: Marc Carino <marc.ceeeee at gmail.com>
> Acked-by: Florian Fainelli <f.fainelli at gmail.com>
> ---
> .../devicetree/bindings/arm/brcm-brcmstb.txt | 95 ++++++++++++++++++++
> 1 files changed, 95 insertions(+), 0 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/arm/brcm-brcmstb.txt
>
> diff --git a/Documentation/devicetree/bindings/arm/brcm-brcmstb.txt b/Documentation/devicetree/bindings/arm/brcm-brcmstb.txt
> new file mode 100644
> index 0000000..3c436cc
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/brcm-brcmstb.txt
> @@ -0,0 +1,95 @@
> +ARM Broadcom STB platforms Device Tree Bindings
> +-----------------------------------------------
> +Boards with Broadcom Brahma15 ARM-based BCMxxxx (generally BCM7xxx variants)
> +SoC shall have the following DT organization:
> +
> +Required root node properties:
> + - compatible: "brcm,bcm<chip_id>", "brcm,brcmstb"
> +
> +example:
> +/ {
> + #address-cells = <2>;
> + #size-cells = <2>;
> + model = "Broadcom STB (bcm7445)";
> + compatible = "brcm,bcm7445", "brcm,brcmstb";
> +
> +Further, syscon nodes that map platform-specific registers used for general
> +system control is required:
> +
> + - compatible: "brcm,bcm<chip_id>-sun-top-ctrl", "syscon"
> + - compatible: "brcm,bcm<chip_id>-hif-cpubiuctrl", "syscon"
> + - compatible: "brcm,bcm<chip_id>-hif-continuation", "syscon"
> +
> +example:
> + rdb {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + compatible = "simple-bus";
> + ranges = <0 0x00 0xf0000000 0x1000000>;
> +
> + sun_top_ctrl: syscon at 404000 {
> + compatible = "brcm,bcm7445-sun-top-ctrl", "syscon";
> + reg = <0x404000 0x51c>;
> + };
> +
> + hif_cpubiuctrl: syscon at 3e2400 {
> + compatible = "brcm,bcm7445-hif-cpubiuctrl", "syscon";
> + reg = <0x3e2400 0x5b4>;
> + };
> +
> + hif_continuation: syscon at 452000 {
> + compatible = "brcm,bcm7445-hif-continuation", "syscon";
> + reg = <0x452000 0x100>;
> + };
> + };
> +
> +Lastly, nodes that allow for support of SMP initialization and reboot are
> +required:
> +
> +smpboot
> +-------
> +Required properties:
> +
> + - compatible
> + The string "brcm,brcmstb-smpboot".
> +
> + - syscon-cpu
> + A phandle / integer array property which lets the BSP know the location
> + of certain CPU power-on registers.
> +
> + The layout of the property is as follows:
> + o a phandle to the "hif_cpubiuctrl" syscon node
> + o offset to the base CPU power zone register
> + o offset to the base CPU reset register
How variable are these values?
> +
> + - syscon-cont
> + A phandle pointing to the syscon node which describes the CPU boot
> + continuation registers.
> + o a phandle to the "hif_continuation" syscon node
> +
> +example:
> + smpboot {
> + compatible = "brcm,brcmstb-smpboot";
> + syscon-cpu = <&hif_cpubiuctrl 0x88 0x178>;
> + syscon-cont = <&hif_continuation>;
> + };
This looks odd. This doesn't seem like a device, but rather a grouping
of disparate devices used for a particular software purpose.
> +
> +reboot
> +-------
> +Required properties
> +
> + - compatible
> + The string property "brcm,brcmstb-reboot".
> +
> + - syscon
> + A phandle / integer array that points to the syscon node which describes
> + the general system reset registers.
> + o a phandle to "sun_top_ctrl"
> + o offset to the "reset source enable" register
> + o offset to the "software master reset" register
How variable are these values?
> +
> +example:
> + reboot {
> + compatible = "brcm,brcmstb-reboot";
> + syscon = <&sun_top_ctrl 0x304 0x308>;
> + };
As with smpboot, this seems odd.
Thanks,
Mark.
More information about the linux-arm-kernel
mailing list