Thread (77 messages) 77 messages, 5 authors, 2014-01-07

[PATCH v3 14/36] mtd: st_spi_fsm: Add device-tree binding documentation

From: Linus Walleij <hidden>
Date: 2013-12-03 10:23:41
Also in: linux-devicetree, lkml

On Mon, Dec 2, 2013 at 12:03 PM, Lee Jones [off-list ref] wrote:
quoted
quoted
+Optional properties:
+  - st,syscfg          : Phandle to boot-device system configuration registers
+  - st,boot-device-reg : Address of the aforementioned boot-device register(s)
+  - st,boot-device-spi : Expected boot-device value if booted via this device
+
+Example:
+       spifsm: spifsm at fe902000{
+               compatible         = "st,spi-fsm";
+               reg                =  <0xfe902000 0x1000>;
+               reg-names          = "spi-fsm";
+               pinctrl-0          = <&pinctrl_fsm>;
+               st,syscfg          = <&syscfg_rear>;
+               st,boot-device-reg = <0x958>;
+               st,boot-device-spi = <0x1a>;
I don't think we should encode any register offsets whatsoever in device
tree but maybe that's just me. (Yes, Stephen will beat me up about
pin control single, but I consider that a special case.)

I would just put the last two things as #defines into the driver file(s)
or - if it's related to other syscfg registers and varies with SoC incarnation,
as a #define in a shared header for that syscfg thing.
No can do. This isn't _this_ device's register offset, this is a
syscfg register offset which a) there is no driver to apply specific
register offsets to and b) are liable to change oversubsequent SoCs.
So it can be in <linux/mfd/my-sysconfig-regs.h> as
a

#define MY_SYSCON_V1_BOOT_DEV_REG 0x958
#define MY_SYSCON_V1_BOOT_DEV_SPI 0x1a

The kernel should know which SoC is in use and
act apropriately right?

But indeed, what you're doing has been done before
in drivers/regulator/anatop-regulator.c where some
register offset is read in from the attribute
"anatop-delay-reg-offset". So it may be that the DT people
need to overrule me on this one :-)

I don't think we should hard-code knowledge of specific
register locations into the device tree at all as that makes
things very hard to debug.

Yours,
Linus Walleij
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help