* [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
* 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
* 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
* 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).