* [PATCH 0/3] Yet more fixes for booting omaps with device tree
@ 2013-11-21 18:51 Tony Lindgren
2013-11-21 18:51 ` [PATCH 1/3] ARM: OMAP2+: Fix more missing data for omap3.dtsi file Tony Lindgren
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Tony Lindgren @ 2013-11-21 18:51 UTC (permalink / raw)
To: linux-arm-kernel
Hi all,
Hopefully this is the last set for the -rc cycle on the legacy booting
vs device tree booting regressions.
Regards,
Tony
Tony Lindgren (3):
ARM: OMAP2+: Fix more missing data for omap3.dtsi file
ARM: OMAP2+: Add fixed regulator to omap2plus_defconfig
ARM: OMAP2+: Fix eMMC on n900 with device tree
arch/arm/boot/dts/omap3-n900.dts | 6 +++++-
arch/arm/boot/dts/omap3.dtsi | 42 ++++++++++++++++++++++++++++++++++++
arch/arm/configs/omap2plus_defconfig | 1 +
arch/arm/mach-omap2/pdata-quirks.c | 1 +
4 files changed, 49 insertions(+), 1 deletion(-)
--
1.8.1.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/3] ARM: OMAP2+: Fix more missing data for omap3.dtsi file
2013-11-21 18:51 [PATCH 0/3] Yet more fixes for booting omaps with device tree Tony Lindgren
@ 2013-11-21 18:51 ` Tony Lindgren
2013-11-21 18:51 ` [PATCH 2/3] ARM: OMAP2+: Add fixed regulator to omap2plus_defconfig Tony Lindgren
2013-11-21 18:51 ` [PATCH 3/3] ARM: OMAP2+: Fix eMMC on n900 with device tree Tony Lindgren
2 siblings, 0 replies; 8+ messages in thread
From: Tony Lindgren @ 2013-11-21 18:51 UTC (permalink / raw)
To: linux-arm-kernel
After dropping the duplicate data in hwmod that now should come from
the .dts files, I noticed few more entries missing. Let's add these
as otherwise devices relying on these won't work.
Looks like the side tone entries are bundled into the mcbsp1 to 3,
so that may needs some special handling in the hwmod code as it's
currently trying to look up mcbsp2_sidetone and mcbsp3_sidetone
entries.
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/boot/dts/omap3.dtsi | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/arch/arm/boot/dts/omap3.dtsi b/arch/arm/boot/dts/omap3.dtsi
index f3a0c26..daabf99 100644
--- a/arch/arm/boot/dts/omap3.dtsi
+++ b/arch/arm/boot/dts/omap3.dtsi
@@ -82,6 +82,13 @@
ranges;
ti,hwmods = "l3_main";
+ aes: aes at 480c5000 {
+ compatible = "ti,omap3-aes";
+ ti,hwmods = "aes";
+ reg = <0x480c5000 0x50>;
+ interrupts = <0>;
+ };
+
counter32k: counter at 48320000 {
compatible = "ti,omap-counter32k";
reg = <0x48320000 0x20>;
@@ -260,6 +267,13 @@
ti,hwmods = "i2c3";
};
+ mailbox: mailbox at 48094000 {
+ compatible = "ti,omap3-mailbox";
+ ti,hwmods = "mailbox";
+ reg = <0x48094000 0x200>;
+ interrupts = <26>;
+ };
+
mcspi1: spi at 48098000 {
compatible = "ti,omap2-mcspi";
reg = <0x48098000 0x100>;
@@ -357,6 +371,13 @@
dma-names = "tx", "rx";
};
+ mmu_isp: mmu at 480bd400 {
+ compatible = "ti,omap3-mmu-isp";
+ ti,hwmods = "mmu_isp";
+ reg = <0x480bd400 0x80>;
+ interrupts = <8>;
+ };
+
wdt2: wdt at 48314000 {
compatible = "ti,omap3-wdt";
reg = <0x48314000 0x80>;
@@ -442,6 +463,27 @@
dma-names = "tx", "rx";
};
+ sham: sham at 480c3000 {
+ compatible = "ti,omap3-sham";
+ ti,hwmods = "sham";
+ reg = <0x480c3000 0x64>;
+ interrupts = <49>;
+ };
+
+ smartreflex_core: smartreflex at 480cb000 {
+ compatible = "ti,omap3-smartreflex-core";
+ ti,hwmods = "smartreflex_core";
+ reg = <0x480cb000 0x400>;
+ interrupts = <19>;
+ };
+
+ smartreflex_mpu_iva: smartreflex at 480c9000 {
+ compatible = "ti,omap3-smartreflex-iva";
+ ti,hwmods = "smartreflex_mpu_iva";
+ reg = <0x480c9000 0x400>;
+ interrupts = <18>;
+ };
+
timer1: timer at 48318000 {
compatible = "ti,omap3430-timer";
reg = <0x48318000 0x400>;
--
1.8.1.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/3] ARM: OMAP2+: Add fixed regulator to omap2plus_defconfig
2013-11-21 18:51 [PATCH 0/3] Yet more fixes for booting omaps with device tree Tony Lindgren
2013-11-21 18:51 ` [PATCH 1/3] ARM: OMAP2+: Fix more missing data for omap3.dtsi file Tony Lindgren
@ 2013-11-21 18:51 ` Tony Lindgren
2013-11-21 18:51 ` [PATCH 3/3] ARM: OMAP2+: Fix eMMC on n900 with device tree Tony Lindgren
2 siblings, 0 replies; 8+ messages in thread
From: Tony Lindgren @ 2013-11-21 18:51 UTC (permalink / raw)
To: linux-arm-kernel
We do not have REGULATOR_FIXED selected if no boards are selected
and we boot with device tree. This can cause various devices to
fail.
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/configs/omap2plus_defconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm/configs/omap2plus_defconfig b/arch/arm/configs/omap2plus_defconfig
index 98a50c3..bfa80a1 100644
--- a/arch/arm/configs/omap2plus_defconfig
+++ b/arch/arm/configs/omap2plus_defconfig
@@ -173,6 +173,7 @@ CONFIG_MFD_PALMAS=y
CONFIG_MFD_TPS65217=y
CONFIG_MFD_TPS65910=y
CONFIG_TWL6040_CORE=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_PALMAS=y
CONFIG_REGULATOR_TPS65023=y
CONFIG_REGULATOR_TPS6507X=y
--
1.8.1.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 3/3] ARM: OMAP2+: Fix eMMC on n900 with device tree
2013-11-21 18:51 [PATCH 0/3] Yet more fixes for booting omaps with device tree Tony Lindgren
2013-11-21 18:51 ` [PATCH 1/3] ARM: OMAP2+: Fix more missing data for omap3.dtsi file Tony Lindgren
2013-11-21 18:51 ` [PATCH 2/3] ARM: OMAP2+: Add fixed regulator to omap2plus_defconfig Tony Lindgren
@ 2013-11-21 18:51 ` Tony Lindgren
2013-11-21 23:17 ` Sebastian Reichel
2 siblings, 1 reply; 8+ messages in thread
From: Tony Lindgren @ 2013-11-21 18:51 UTC (permalink / raw)
To: linux-arm-kernel
Looks like we need to configure the regulators and use the pdata
quirk to make eMMC work with device tree.
It seems that mostly vmmc2 is used, and only some earlier revisions
like the macro board used vaux3.
Note that we can add support for the macro board later as needed
by including the common n900 .dts file and configuring the vaux3
instead of vmmc2, and adding support for the smc91x Ethernet.
Cc: devicetree at vger.kernel.org
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
Cc: Sebastian Reichel <sre@debian.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
Can you guys please test this on production n900 devices?
I've tested it with my old macro board where I had to patch in vaux3
instead of vmmc2. I think there's some confusion in the legacy code
comments, or else I'm confused. In any case, vaux3 works for the macro
board, and I suspect that the production versions have vmmc2.
If this does not work and vaux3 as regulator works, please also dump
out the system_rev from your board.
---
arch/arm/boot/dts/omap3-n900.dts | 6 +++++-
arch/arm/mach-omap2/pdata-quirks.c | 1 +
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/omap3-n900.dts b/arch/arm/boot/dts/omap3-n900.dts
index c4f20bf..392ced2 100644
--- a/arch/arm/boot/dts/omap3-n900.dts
+++ b/arch/arm/boot/dts/omap3-n900.dts
@@ -359,7 +359,11 @@
};
&mmc2 {
- status = "disabled";
+ /* most boards use vmmc2, only the macro boards use vaux3 */
+ vmmc-supply = <&vmmc2>;
+ vmmc_aux-supply = <&vsim>;
+ bus-width = <8>;
+ non-removable;
};
&mmc3 {
diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c
index 10c7145..39f020c 100644
--- a/arch/arm/mach-omap2/pdata-quirks.c
+++ b/arch/arm/mach-omap2/pdata-quirks.c
@@ -139,6 +139,7 @@ struct of_dev_auxdata omap_auxdata_lookup[] __initdata = {
static struct pdata_init pdata_quirks[] __initdata = {
#ifdef CONFIG_ARCH_OMAP3
+ { "nokia,omap3-n900", hsmmc2_internal_input_clk, },
{ "nokia,omap3-n9", hsmmc2_internal_input_clk, },
{ "nokia,omap3-n950", hsmmc2_internal_input_clk, },
{ "isee,omap3-igep0020", omap3_igep0020_legacy_init, },
--
1.8.1.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 3/3] ARM: OMAP2+: Fix eMMC on n900 with device tree
2013-11-21 18:51 ` [PATCH 3/3] ARM: OMAP2+: Fix eMMC on n900 with device tree Tony Lindgren
@ 2013-11-21 23:17 ` Sebastian Reichel
2013-11-21 23:57 ` Tony Lindgren
0 siblings, 1 reply; 8+ messages in thread
From: Sebastian Reichel @ 2013-11-21 23:17 UTC (permalink / raw)
To: linux-arm-kernel
Hi Tony,
On Thu, Nov 21, 2013 at 10:51:06AM -0800, Tony Lindgren wrote:
> Looks like we need to configure the regulators and use the pdata
> quirk to make eMMC work with device tree.
>
> It seems that mostly vmmc2 is used, and only some earlier revisions
> like the macro board used vaux3.
>
> Note that we can add support for the macro board later as needed
> by including the common n900 .dts file and configuring the vaux3
> instead of vmmc2, and adding support for the smc91x Ethernet.
>
> ---
>
> Can you guys please test this on production n900 devices?
>
> I've tested it with my old macro board where I had to patch in vaux3
> instead of vmmc2. I think there's some confusion in the legacy code
> comments, or else I'm confused. In any case, vaux3 works for the macro
> board, and I suspect that the production versions have vmmc2.
>
> If this does not work and vaux3 as regulator works, please also dump
> out the system_rev from your board.
The good news is, that I got eMMC working :) The bad news is, that it
did not work with your patch :( I included my DTS nodes below. The
phone is HW/System revision 0x2101.
I have a second N900, which has HW revision 0x2204. I did not yet test
the patch with this phone, but legacy code also seems to use vaux3 for
it. Seems like we need two n900.dts files?
--- DTS nodes working on the 0x2101 board ---
&omap3_pmx_core {
mmc2_pins: pinmux_mmc2_pins {
pinctrl-single,pins = <
0x128 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_clk */
0x12a (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_cmd */
0x12c (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat0 */
0x12e (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat1 */
0x130 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat2 */
0x132 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat3 */
0x134 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat4 */
0x136 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat5 */
0x138 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat6 */
0x13a (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat7 */
>;
};
};
&mmc2 {
pinctrl-names = "default";
pinctrl-0 = <&mmc2_pins>;
vmmc-supply = <&vaux3>;
vmmc_aux-supply = <&vsim>;
bus-width = <8>;
non-removable;
};
-- Sebastian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20131122/9b244e1d/attachment.sig>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 3/3] ARM: OMAP2+: Fix eMMC on n900 with device tree
2013-11-21 23:17 ` Sebastian Reichel
@ 2013-11-21 23:57 ` Tony Lindgren
2013-11-22 16:35 ` Sebastian Reichel
0 siblings, 1 reply; 8+ messages in thread
From: Tony Lindgren @ 2013-11-21 23:57 UTC (permalink / raw)
To: linux-arm-kernel
* Sebastian Reichel <sre@debian.org> [131121 15:18]:
> Hi Tony,
>
> On Thu, Nov 21, 2013 at 10:51:06AM -0800, Tony Lindgren wrote:
> > Looks like we need to configure the regulators and use the pdata
> > quirk to make eMMC work with device tree.
> >
> > It seems that mostly vmmc2 is used, and only some earlier revisions
> > like the macro board used vaux3.
> >
> > Note that we can add support for the macro board later as needed
> > by including the common n900 .dts file and configuring the vaux3
> > instead of vmmc2, and adding support for the smc91x Ethernet.
> >
> > ---
> >
> > Can you guys please test this on production n900 devices?
> >
> > I've tested it with my old macro board where I had to patch in vaux3
> > instead of vmmc2. I think there's some confusion in the legacy code
> > comments, or else I'm confused. In any case, vaux3 works for the macro
> > board, and I suspect that the production versions have vmmc2.
> >
> > If this does not work and vaux3 as regulator works, please also dump
> > out the system_rev from your board.
>
> The good news is, that I got eMMC working :) The bad news is, that it
> did not work with your patch :( I included my DTS nodes below. The
> phone is HW/System revision 0x2101.
Oh ok, I must have parsed the revisions wrong way then, and the macro
I tried it on must be something newer than I thought :)
> I have a second N900, which has HW revision 0x2204. I did not yet test
> the patch with this phone, but legacy code also seems to use vaux3 for
> it. Seems like we need two n900.dts files?
Well let's use just vaux3 then with a comment to the .dts file if that
works also on your 0x2204. It works on my 0x0010 too.
I folded in your changes to the updated patch below. Care to reply with
your Signed-off-by too assuming it works also on your 0x2204 n900?
Regards,
Tony
From: Tony Lindgren <tony@atomide.com>
Date: Wed, 20 Nov 2013 18:03:39 -0800
Subject: [PATCH] ARM: OMAP2+: Fix eMMC on n900 with device tree
Looks like we need to configure the regulators and use the pdata
quirk to make eMMC work with device tree.
It seems that mostly vaux3 is used, and only some earlier revisions
used vmmc2. This has been tested to work on devices where the
system_rev passed by the bootloader has versions 0x0010 and 0x2101.
Cc: devicetree at vger.kernel.org
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
Cc: Sebastian Reichel <sre@debian.org>
[tony at atomide.com: updated with pinctrl changes and comments from Sebastian]
Signed-off-by: Tony Lindgren <tony@atomide.com>
diff --git a/arch/arm/boot/dts/omap3-n900.dts b/arch/arm/boot/dts/omap3-n900.dts
index c4f20bf..c2c306d 100644
--- a/arch/arm/boot/dts/omap3-n900.dts
+++ b/arch/arm/boot/dts/omap3-n900.dts
@@ -125,6 +125,21 @@
>;
};
+ mmc2_pins: pinmux_mmc2_pins {
+ pinctrl-single,pins = <
+ 0x128 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_clk */
+ 0x12a (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_cmd */
+ 0x12c (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat0 */
+ 0x12e (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat1 */
+ 0x130 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat2 */
+ 0x132 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat3 */
+ 0x134 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat4 */
+ 0x136 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat5 */
+ 0x138 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat6 */
+ 0x13a (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat7 */
+ >;
+ };
+
display_pins: pinmux_display_pins {
pinctrl-single,pins = <
0x0d4 (PIN_OUTPUT | MUX_MODE4) /* RX51_LCD_RESET_GPIO */
@@ -358,8 +373,14 @@
cd-gpios = <&gpio6 0 GPIO_ACTIVE_HIGH>; /* 160 */
};
+/* most boards use vaux3, only some old versions use vmmc2 instead */
&mmc2 {
- status = "disabled";
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc2_pins>;
+ vmmc-supply = <&vaux3>;
+ vmmc_aux-supply = <&vsim>;
+ bus-width = <8>;
+ non-removable;
};
&mmc3 {
diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c
index 10c7145..39f020c 100644
--- a/arch/arm/mach-omap2/pdata-quirks.c
+++ b/arch/arm/mach-omap2/pdata-quirks.c
@@ -139,6 +139,7 @@ struct of_dev_auxdata omap_auxdata_lookup[] __initdata = {
static struct pdata_init pdata_quirks[] __initdata = {
#ifdef CONFIG_ARCH_OMAP3
+ { "nokia,omap3-n900", hsmmc2_internal_input_clk, },
{ "nokia,omap3-n9", hsmmc2_internal_input_clk, },
{ "nokia,omap3-n950", hsmmc2_internal_input_clk, },
{ "isee,omap3-igep0020", omap3_igep0020_legacy_init, },
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 3/3] ARM: OMAP2+: Fix eMMC on n900 with device tree
2013-11-21 23:57 ` Tony Lindgren
@ 2013-11-22 16:35 ` Sebastian Reichel
2013-11-22 17:14 ` Tony Lindgren
0 siblings, 1 reply; 8+ messages in thread
From: Sebastian Reichel @ 2013-11-22 16:35 UTC (permalink / raw)
To: linux-arm-kernel
On Thu, Nov 21, 2013 at 03:57:29PM -0800, Tony Lindgren wrote:
> Well let's use just vaux3 then with a comment to the .dts file if that
> works also on your 0x2204. It works on my 0x0010 too.
>
> I folded in your changes to the updated patch below. Care to reply with
> your Signed-off-by too assuming it works also on your 0x2204 n900?
It does work with the 0x2204 phone.
Signed-off-by: Sebastian Reichel <sre@debian.org>
-- Sebastian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20131122/f13c7aaf/attachment.sig>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 3/3] ARM: OMAP2+: Fix eMMC on n900 with device tree
2013-11-22 16:35 ` Sebastian Reichel
@ 2013-11-22 17:14 ` Tony Lindgren
0 siblings, 0 replies; 8+ messages in thread
From: Tony Lindgren @ 2013-11-22 17:14 UTC (permalink / raw)
To: linux-arm-kernel
* Sebastian Reichel <sre@ring0.de> [131122 08:38]:
> On Thu, Nov 21, 2013 at 03:57:29PM -0800, Tony Lindgren wrote:
> > Well let's use just vaux3 then with a comment to the .dts file if that
> > works also on your 0x2204. It works on my 0x0010 too.
> >
> > I folded in your changes to the updated patch below. Care to reply with
> > your Signed-off-by too assuming it works also on your 0x2204 n900?
>
> It does work with the 0x2204 phone.
>
> Signed-off-by: Sebastian Reichel <sre@debian.org>
OK good to hear. I'll update the patch with that.
Thanks,
Tony
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2013-11-22 17:14 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-21 18:51 [PATCH 0/3] Yet more fixes for booting omaps with device tree Tony Lindgren
2013-11-21 18:51 ` [PATCH 1/3] ARM: OMAP2+: Fix more missing data for omap3.dtsi file Tony Lindgren
2013-11-21 18:51 ` [PATCH 2/3] ARM: OMAP2+: Add fixed regulator to omap2plus_defconfig Tony Lindgren
2013-11-21 18:51 ` [PATCH 3/3] ARM: OMAP2+: Fix eMMC on n900 with device tree Tony Lindgren
2013-11-21 23:17 ` Sebastian Reichel
2013-11-21 23:57 ` Tony Lindgren
2013-11-22 16:35 ` Sebastian Reichel
2013-11-22 17:14 ` Tony Lindgren
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).