* [PATCH v3 14/36] mtd: st_spi_fsm: Add device-tree binding documentation [not found] ` <1385727565-25794-1-git-send-email-lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> @ 2013-11-29 12:19 ` Lee Jones [not found] ` <1385727565-25794-15-git-send-email-lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> 0 siblings, 1 reply; 7+ messages in thread From: Lee Jones @ 2013-11-29 12:19 UTC (permalink / raw) To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-kernel-u79uwXL29TY76Z2rM5mHXA, dwmw2-wEGCiKHe2LqWVfeAwA7xHQ Cc: linus.walleij-QSEj5FYQhm4dnm+yROfE0A, linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, angus.clark-qxv4g6HH51o, Lee Jones, devicetree-u79uwXL29TY76Z2rM5mHXA Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Signed-off-by: Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> --- Documentation/devicetree/bindings/mtd/st-fsm.txt | 26 ++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 Documentation/devicetree/bindings/mtd/st-fsm.txt diff --git a/Documentation/devicetree/bindings/mtd/st-fsm.txt b/Documentation/devicetree/bindings/mtd/st-fsm.txt new file mode 100644 index 0000000..c248939 --- /dev/null +++ b/Documentation/devicetree/bindings/mtd/st-fsm.txt @@ -0,0 +1,26 @@ +* ST-Microelectronics SPI FSM Serial (NOR) Flash Controller + +Required properties: + - compatible : Should be "st,spi-fsm" + - reg : Contains register's location and length. + - reg-names : Should contain the reg names "spi-fsm" + - interrupts : The interrupt number + - pinctrl-0 : Standard Pinctrl phandle (see: pinctrl/pinctrl-bindings.txt) + +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@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>; + status = "okay"; + }; + -- 1.8.3.2 -- 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 ^ permalink raw reply related [flat|nested] 7+ messages in thread
[parent not found: <1385727565-25794-15-git-send-email-lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>]
* Re: [PATCH v3 14/36] mtd: st_spi_fsm: Add device-tree binding documentation [not found] ` <1385727565-25794-15-git-send-email-lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> @ 2013-11-29 19:07 ` Linus Walleij 2013-12-02 11:03 ` Lee Jones 0 siblings, 1 reply; 7+ messages in thread From: Linus Walleij @ 2013-11-29 19:07 UTC (permalink / raw) To: Lee Jones Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, David Woodhouse, linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, angus.clark-qxv4g6HH51o, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org On Fri, Nov 29, 2013 at 1:19 PM, Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> wrote: Re this: > +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@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. The syscfg phandle is elegant though, really like that. Yours, Linus Walleij -- 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 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 14/36] mtd: st_spi_fsm: Add device-tree binding documentation 2013-11-29 19:07 ` Linus Walleij @ 2013-12-02 11:03 ` Lee Jones 2013-12-03 10:23 ` Linus Walleij 0 siblings, 1 reply; 7+ messages in thread From: Lee Jones @ 2013-12-02 11:03 UTC (permalink / raw) To: Linus Walleij Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, David Woodhouse, linux-mtd@lists.infradead.org, angus.clark, devicetree@vger.kernel.org > > +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@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. > The syscfg phandle is elegant though, really like that. -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 14/36] mtd: st_spi_fsm: Add device-tree binding documentation 2013-12-02 11:03 ` Lee Jones @ 2013-12-03 10:23 ` Linus Walleij [not found] ` <CACRpkdb8=RRsNRKe4Nbefu2BJ4xHakmNjxFC1gwLea=bAmOz-A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 7+ messages in thread From: Linus Walleij @ 2013-12-03 10:23 UTC (permalink / raw) To: Lee Jones Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, David Woodhouse, linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, angus.clark-qxv4g6HH51o, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org On Mon, Dec 2, 2013 at 12:03 PM, Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> wrote: >> > +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@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 -- 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 ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <CACRpkdb8=RRsNRKe4Nbefu2BJ4xHakmNjxFC1gwLea=bAmOz-A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: [PATCH v3 14/36] mtd: st_spi_fsm: Add device-tree binding documentation [not found] ` <CACRpkdb8=RRsNRKe4Nbefu2BJ4xHakmNjxFC1gwLea=bAmOz-A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2013-12-03 11:31 ` Lee Jones 2013-12-03 12:22 ` Linus Walleij 0 siblings, 1 reply; 7+ messages in thread From: Lee Jones @ 2013-12-03 11:31 UTC (permalink / raw) To: Linus Walleij Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, David Woodhouse, linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, angus.clark-qxv4g6HH51o, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org On Tue, 03 Dec 2013, Linus Walleij wrote: > On Mon, Dec 2, 2013 at 12:03 PM, Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> wrote: > >> > +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@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? And this have lots of machine_is() calls everywhere? Sounds perfect. ;) -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- 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 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 14/36] mtd: st_spi_fsm: Add device-tree binding documentation 2013-12-03 11:31 ` Lee Jones @ 2013-12-03 12:22 ` Linus Walleij [not found] ` <CACRpkdYdW+p4-sDNCr8L75YB+e6agiQfvfEX5V+wCs4iZUaKSQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 7+ messages in thread From: Linus Walleij @ 2013-12-03 12:22 UTC (permalink / raw) To: Lee Jones Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, David Woodhouse, linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, angus.clark-qxv4g6HH51o, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org On Tue, Dec 3, 2013 at 12:31 PM, Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> wrote: > On Tue, 03 Dec 2013, Linus Walleij wrote: >> 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? > > And this have lots of machine_is() calls everywhere? No need for Mr. Everywhere to know about the SoC. There are other ways to achieve this. arch/arm/mach-foo always knows which ASIC it is running on, and it can do various things: - Add device tree fragments/overlays (OK high-tech, but we're getting to this, inevitably) - Selectively add AUXDATA, which is absolutely OK if we can do autoprobing of hardware IMO. Yours, Linus Walleij -- 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 ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <CACRpkdYdW+p4-sDNCr8L75YB+e6agiQfvfEX5V+wCs4iZUaKSQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: [PATCH v3 14/36] mtd: st_spi_fsm: Add device-tree binding documentation [not found] ` <CACRpkdYdW+p4-sDNCr8L75YB+e6agiQfvfEX5V+wCs4iZUaKSQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2013-12-03 12:31 ` Lee Jones 0 siblings, 0 replies; 7+ messages in thread From: Lee Jones @ 2013-12-03 12:31 UTC (permalink / raw) To: Linus Walleij Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, David Woodhouse, linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, angus.clark-qxv4g6HH51o, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org On Tue, 03 Dec 2013, Linus Walleij wrote: > On Tue, Dec 3, 2013 at 12:31 PM, Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> wrote: > > On Tue, 03 Dec 2013, Linus Walleij wrote: > > >> 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? > > > > And this have lots of machine_is() calls everywhere? > > No need for Mr. Everywhere to know about the SoC. > > There are other ways to achieve this. arch/arm/mach-foo > always knows which ASIC it is running on, and it can do > various things: > > - Add device tree fragments/overlays (OK high-tech, but > we're getting to this, inevitably) > > - Selectively add AUXDATA, which is absolutely OK if > we can do autoprobing of hardware IMO. I prefer our solution TBH. -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- 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 ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2013-12-03 12:31 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1385727565-25794-1-git-send-email-lee.jones@linaro.org>
[not found] ` <1385727565-25794-1-git-send-email-lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2013-11-29 12:19 ` [PATCH v3 14/36] mtd: st_spi_fsm: Add device-tree binding documentation Lee Jones
[not found] ` <1385727565-25794-15-git-send-email-lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2013-11-29 19:07 ` Linus Walleij
2013-12-02 11:03 ` Lee Jones
2013-12-03 10:23 ` Linus Walleij
[not found] ` <CACRpkdb8=RRsNRKe4Nbefu2BJ4xHakmNjxFC1gwLea=bAmOz-A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-12-03 11:31 ` Lee Jones
2013-12-03 12:22 ` Linus Walleij
[not found] ` <CACRpkdYdW+p4-sDNCr8L75YB+e6agiQfvfEX5V+wCs4iZUaKSQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-12-03 12:31 ` Lee Jones
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).