Re: [PATCH v3 5/7] ARM: brcmstb: add misc. DT bindings for brcm,brcmstb-*
From: Mark Rutland <hidden>
Date: 2014-01-15 17:12:31
Also in:
linux-arm-kernel, lkml
On Tue, Jan 14, 2014 at 11:48:51PM +0000, Marc Carino wrote:
quoted hunk ↗ jump to hunk
Document the bindings that the Broadcom STB platform needs for proper bootup. Signed-off-by: Marc Carino <redacted> Acked-by: Florian Fainelli <redacted> --- .../devicetree/bindings/arm/brcm-brcmstb.txt | 43 ++++++++++++++++++++ 1 files changed, 43 insertions(+), 0 deletions(-) create mode 100644 Documentation/devicetree/bindings/arm/brcm-brcmstb.txtdiff --git a/Documentation/devicetree/bindings/arm/brcm-brcmstb.txt b/Documentation/devicetree/bindings/arm/brcm-brcmstb.txt new file mode 100644 index 0000000..5f1aba7 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/brcm-brcmstb.txt@@ -0,0 +1,43 @@ +Broadcom STB platforms Device Tree Bindings +------------------------------------------- +Boards with Broadcom Brahma15 ARM-based BCM7xxx SoC shall have the following +properties. + +Required root node properties: + + - compatible = "brcm,brcmstb-<chip_id>";
I'd prefer it if variants were listed explicitly (as it makes it far easier to grep for). Something like: - compatible: should contain one of: * "brcm,brcmsrb-7445" * "brcm,brcmsrb-7446"
+ +Further, a node with the following compatible string shall be defined: + + - compatible: "brcm,brcmstb-gen-ctrl-v1"
It's probably better to say a brcmstb-gen-ctrl node (described below) should be present, or you'll have two places to update the compatible strings for each new variant...
+ +brcmstb-gen-ctrl +---------------- +This node describes the registers needed for reset and CPU power control. + + - compatible: "brcm,brcmstb-gen-ctrl-v1" + - properties:
This looks odd, compatible is itself a property.
+ o reg = <rst-src-en-reg-base len + sw-mstr-rst-reg-base len + cpu-rst-cfg-reg-base len + cpu-pwr-zone-ctrl-reg-base len + stb-boot-hi-addr0-reg len>;
This would be nicer as something like follows, but with less abberviation (unless these names are from a datasheet for the hardware). - reg: a list of base-address size pairs: * The first entry should cover the sw-mstr-rst registers * The second entry should cover the cpu-rst-cfg registers * The third entry should cover the cpu-pwr-zone registers * The fourth entry should cover the stb-boot-hi-addr0 registers It may make sense to use reg-names, future revisions might change things.
+
+example:
+/ {
+ model = "Broadcom STB";
+ compatible = "brcm,brcmstb-7445";
+
+ /* snip */
+
+ gen-ctrl {
+ compatible = "brcm,brcmstb-gen-ctrl-v1";
+ reg = <0xf0404304 0x4
+ 0xf0404308 0x4
+ 0xf03e2578 0x4
+ 0xf03e2488 0x10
+ 0xf0452000 0x20>;
Nit: please bracket each entry individually:
reg = <0xf0404304 0x4>,
<0xf0404308 0x4>,
<0xf03e2578 0x4>,
<0xf03e2488 0x10>,
<0xf0452000 0x20>;
Also, these look to be single registers in a larger register bank. Is
there any reason you can't describe the bank(s) they are in? That'll
give you more flexibility in the driver...
Thanks,
Mark
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html