Message ID | 1339914539-4154-1-git-send-email-festevam@gmail.com |
---|---|
State | New |
Headers | show |
Dear Fabio Estevam, > From: Fabio Estevam <fabio.estevam@freescale.com> > > mx23-olinuxino is a low cost board designed by Olimex. > > It has the following features: > > - Freescale iMX233 ARM926J processor at 454MHz > -64 MB RAM > -SD-card connector > -TV PAL/NTSC video output > -2 USB High Speed Hosts > -Ethernet 100 Mbit > -Stereo Audio Input > -Stereo Headphones Audio Output > > More information at: > http://www.olimex.com/dev/imx233-olinuxino-maxi.html > > Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> > --- > Documentation/devicetree/bindings/arm/fsl.txt | 4 ++ > arch/arm/boot/dts/imx23-olinuxino.dts | 45 > +++++++++++++++++++++++++ arch/arm/boot/dts/imx23.dtsi | > 14 ++++++++ > arch/arm/mach-mxs/mach-mxs.c | 1 + > 4 files changed, 64 insertions(+), 0 deletions(-) > create mode 100644 arch/arm/boot/dts/imx23-olinuxino.dts > > diff --git a/Documentation/devicetree/bindings/arm/fsl.txt > b/Documentation/devicetree/bindings/arm/fsl.txt index ac9e751..ca2bc1c > 100644 > --- a/Documentation/devicetree/bindings/arm/fsl.txt > +++ b/Documentation/devicetree/bindings/arm/fsl.txt > @@ -5,6 +5,10 @@ i.MX23 Evaluation Kit > Required root node properties: > - compatible = "fsl,imx23-evk", "fsl,imx23"; > > +i.MX23 Olinuxino Low Cost Board > +Required root node properties: > + - compatible = "fsl,imx23-olinuxino", "fsl,imx23"; > + > i.MX28 Evaluation Kit > Required root node properties: > - compatible = "fsl,imx28-evk", "fsl,imx28"; > diff --git a/arch/arm/boot/dts/imx23-olinuxino.dts > b/arch/arm/boot/dts/imx23-olinuxino.dts new file mode 100644 > index 0000000..3c56010 > --- /dev/null > +++ b/arch/arm/boot/dts/imx23-olinuxino.dts > @@ -0,0 +1,44 @@ > +/* > + * Copyright 2012 Freescale Semiconductor, Inc. > + * > + * Author: Fabio Estevam <fabio.estevam@freescale.com> > + * > + * The code contained herein is licensed under the GNU General Public > + * License. You may obtain a copy of the GNU General Public License > + * Version 2 or later at the following locations: > + * > + * http://www.opensource.org/licenses/gpl-license.html > + * http://www.gnu.org/copyleft/gpl.html > + */ > + > +/dts-v1/; > +/include/ "imx23.dtsi" > + > +/ { > + model = "i.MX23 Olinuxino Low Cost Board"; > + compatible = "fsl,imx23-olinuxino", "fsl,imx23"; > + > + memory { > + reg = <0x40000000 0x08000000>; > + }; > + > + apb@80000000 { > + apbh@80000000 { > + ssp0: ssp@80010000 { > + compatible = "fsl,imx23-mmc"; > + pinctrl-names = "default"; > + pinctrl-0 = <&mmc0_4bit_pins_a &mmc0_sck_cfg>; > + bus-width = <4>; > + status = "okay"; > + }; > + }; > + > + apbx@80040000 { > + duart: serial@80070000 { > + pinctrl-names = "default"; > + pinctrl-0 = <&duart_pins_a>; > + status = "okay"; > + }; > + }; > + }; > +}; > diff --git a/arch/arm/boot/dts/imx23.dtsi b/arch/arm/boot/dts/imx23.dtsi > index 8c5f999..89044f0 100644 > --- a/arch/arm/boot/dts/imx23.dtsi > +++ b/arch/arm/boot/dts/imx23.dtsi > @@ -134,6 +134,20 @@ > fsl,pinmux-ids = <0x2010 0x2060>; > fsl,pull-up = <0>; > }; > + > + mmc0_4bit_pins_a: mmc0-4bit@0 { > + reg = <0>; > + fsl,pinmux-ids = <0x2000 0x2020 0x2030 > + 0x2040 0x2050>; > + fsl,drive-strength = <1>; > + fsl,voltage = <1>; > + fsl,pull-up = <1>; > + }; > + > + mmc0_sck_cfg: mmc0_sck_cfg { > + fsl,pinmux-ids = <0x2010>; > + fsl,pull-up = <0>; > + }; > }; > > digctl@8001c000 { > diff --git a/arch/arm/mach-mxs/mach-mxs.c b/arch/arm/mach-mxs/mach-mxs.c > index 8cac94b..a321753 100644 > --- a/arch/arm/mach-mxs/mach-mxs.c > +++ b/arch/arm/mach-mxs/mach-mxs.c > @@ -92,6 +92,7 @@ static void __init mxs_machine_init(void) > > static const char *imx23_dt_compat[] __initdata = { > "fsl,imx23-evk", > + "fsl,imx23-olinuxino", Is this addition needed? > "fsl,imx23", > NULL, > }; Best regards, Marek Vasut
On Sun, Jun 17, 2012 at 8:14 AM, Marek Vasut <marex@denx.de> wrote: >> static const char *imx23_dt_compat[] __initdata = { >> "fsl,imx23-evk", >> + "fsl,imx23-olinuxino", > > Is this addition needed? Actually it is not required. Board boots just fine without it. I have just kept this for compatibilty with other i.MX boards boards added to dt. I followed the same approach from imx6q_dt_compat and imx53_dt_compat.
On Sun, Jun 17, 2012 at 9:41 AM, Fabio Estevam <festevam@gmail.com> wrote: > On Sun, Jun 17, 2012 at 8:14 AM, Marek Vasut <marex@denx.de> wrote: > >>> static const char *imx23_dt_compat[] __initdata = { >>> "fsl,imx23-evk", >>> + "fsl,imx23-olinuxino", >> >> Is this addition needed? > > Actually it is not required. Board boots just fine without it. > > I have just kept this for compatibilty with other i.MX boards boards > added to dt. > > I followed the same approach from imx6q_dt_compat and imx53_dt_compat. I would prefer to do something like that instead: static const char *<soc>_dt_compat[] __initdata = { "fsl,<soc>", NULL, } ,this way we do not have to patch a C file when adding a new board file. Shawn, what do you think? Should I drop the "fsl,imx23-olinuxino", addition of this patch and then work on another patch that keeps the static const char *<soc>_dt_compat[] __initdata = { "fsl,<soc>", NULL, } approach?
On Sun, Jun 17, 2012 at 09:59:18AM -0300, Fabio Estevam wrote: > On Sun, Jun 17, 2012 at 9:41 AM, Fabio Estevam <festevam@gmail.com> wrote: > > On Sun, Jun 17, 2012 at 8:14 AM, Marek Vasut <marex@denx.de> wrote: > > > >>> static const char *imx23_dt_compat[] __initdata = { > >>> "fsl,imx23-evk", > >>> + "fsl,imx23-olinuxino", > >> > >> Is this addition needed? > > > > Actually it is not required. Board boots just fine without it. > > > > I have just kept this for compatibilty with other i.MX boards boards > > added to dt. > > > > I followed the same approach from imx6q_dt_compat and imx53_dt_compat. > > I would prefer to do something like that instead: > > static const char *<soc>_dt_compat[] __initdata = { > "fsl,<soc>", > NULL, > } > > ,this way we do not have to patch a C file when adding a new board file. > There already is a fsl,imx23 compatible entry, you just have to use it. Sascha
On Sun, Jun 17, 2012 at 01:14:09PM +0200, Marek Vasut wrote: > > static const char *imx23_dt_compat[] __initdata = { > > "fsl,imx23-evk", > > + "fsl,imx23-olinuxino", > > Is this addition needed? > Unlike the .of_match_table of platform_driver, I would prefer to maintain such an explicit compatible list to show all the in-tree boards supported by the DT_MACHINE. Also, if we only list "fsl,imx23" there, I'm a little worrying about people will start even dropping the board compatible string from their board dts, then we will have no way to play of_machine_is_compatible(). Regards, Shawn > > "fsl,imx23", > > NULL, > > }; >
On Sun, Jun 17, 2012 at 03:28:59AM -0300, Fabio Estevam wrote: > From: Fabio Estevam <fabio.estevam@freescale.com> > > mx23-olinuxino is a low cost board designed by Olimex. > > It has the following features: > > - Freescale iMX233 ARM926J processor at 454MHz > -64 MB RAM > -SD-card connector > -TV PAL/NTSC video output > -2 USB High Speed Hosts > -Ethernet 100 Mbit > -Stereo Audio Input > -Stereo Headphones Audio Output > > More information at: > http://www.olimex.com/dev/imx233-olinuxino-maxi.html > > Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> > --- > Documentation/devicetree/bindings/arm/fsl.txt | 4 ++ > arch/arm/boot/dts/imx23-olinuxino.dts | 45 +++++++++++++++++++++++++ > arch/arm/boot/dts/imx23.dtsi | 14 ++++++++ > arch/arm/mach-mxs/mach-mxs.c | 1 + > 4 files changed, 64 insertions(+), 0 deletions(-) > create mode 100644 arch/arm/boot/dts/imx23-olinuxino.dts > > diff --git a/Documentation/devicetree/bindings/arm/fsl.txt b/Documentation/devicetree/bindings/arm/fsl.txt > index ac9e751..ca2bc1c 100644 > --- a/Documentation/devicetree/bindings/arm/fsl.txt > +++ b/Documentation/devicetree/bindings/arm/fsl.txt > @@ -5,6 +5,10 @@ i.MX23 Evaluation Kit > Required root node properties: > - compatible = "fsl,imx23-evk", "fsl,imx23"; > > +i.MX23 Olinuxino Low Cost Board > +Required root node properties: > + - compatible = "fsl,imx23-olinuxino", "fsl,imx23"; > + I'm not sure it's appropriate to have these in fsl.txt which should only contain the boards made by Freescale I think. And I even think the compatible string should be something like "olimex,imx23-olinuxino"? Regards, Shawn
diff --git a/Documentation/devicetree/bindings/arm/fsl.txt b/Documentation/devicetree/bindings/arm/fsl.txt index ac9e751..ca2bc1c 100644 --- a/Documentation/devicetree/bindings/arm/fsl.txt +++ b/Documentation/devicetree/bindings/arm/fsl.txt @@ -5,6 +5,10 @@ i.MX23 Evaluation Kit Required root node properties: - compatible = "fsl,imx23-evk", "fsl,imx23"; +i.MX23 Olinuxino Low Cost Board +Required root node properties: + - compatible = "fsl,imx23-olinuxino", "fsl,imx23"; + i.MX28 Evaluation Kit Required root node properties: - compatible = "fsl,imx28-evk", "fsl,imx28"; diff --git a/arch/arm/boot/dts/imx23-olinuxino.dts b/arch/arm/boot/dts/imx23-olinuxino.dts new file mode 100644 index 0000000..3c56010 --- /dev/null +++ b/arch/arm/boot/dts/imx23-olinuxino.dts @@ -0,0 +1,44 @@ +/* + * Copyright 2012 Freescale Semiconductor, Inc. + * + * Author: Fabio Estevam <fabio.estevam@freescale.com> + * + * The code contained herein is licensed under the GNU General Public + * License. You may obtain a copy of the GNU General Public License + * Version 2 or later at the following locations: + * + * http://www.opensource.org/licenses/gpl-license.html + * http://www.gnu.org/copyleft/gpl.html + */ + +/dts-v1/; +/include/ "imx23.dtsi" + +/ { + model = "i.MX23 Olinuxino Low Cost Board"; + compatible = "fsl,imx23-olinuxino", "fsl,imx23"; + + memory { + reg = <0x40000000 0x08000000>; + }; + + apb@80000000 { + apbh@80000000 { + ssp0: ssp@80010000 { + compatible = "fsl,imx23-mmc"; + pinctrl-names = "default"; + pinctrl-0 = <&mmc0_4bit_pins_a &mmc0_sck_cfg>; + bus-width = <4>; + status = "okay"; + }; + }; + + apbx@80040000 { + duart: serial@80070000 { + pinctrl-names = "default"; + pinctrl-0 = <&duart_pins_a>; + status = "okay"; + }; + }; + }; +}; diff --git a/arch/arm/boot/dts/imx23.dtsi b/arch/arm/boot/dts/imx23.dtsi index 8c5f999..89044f0 100644 --- a/arch/arm/boot/dts/imx23.dtsi +++ b/arch/arm/boot/dts/imx23.dtsi @@ -134,6 +134,20 @@ fsl,pinmux-ids = <0x2010 0x2060>; fsl,pull-up = <0>; }; + + mmc0_4bit_pins_a: mmc0-4bit@0 { + reg = <0>; + fsl,pinmux-ids = <0x2000 0x2020 0x2030 + 0x2040 0x2050>; + fsl,drive-strength = <1>; + fsl,voltage = <1>; + fsl,pull-up = <1>; + }; + + mmc0_sck_cfg: mmc0_sck_cfg { + fsl,pinmux-ids = <0x2010>; + fsl,pull-up = <0>; + }; }; digctl@8001c000 { diff --git a/arch/arm/mach-mxs/mach-mxs.c b/arch/arm/mach-mxs/mach-mxs.c index 8cac94b..a321753 100644 --- a/arch/arm/mach-mxs/mach-mxs.c +++ b/arch/arm/mach-mxs/mach-mxs.c @@ -92,6 +92,7 @@ static void __init mxs_machine_init(void) static const char *imx23_dt_compat[] __initdata = { "fsl,imx23-evk", + "fsl,imx23-olinuxino", "fsl,imx23", NULL, };