Skip to contentSkip to conversation

Drop legacy booting for omap4 for v3.11, boot with device tree only

PATCH New Tony Lindgren 13 participants 50 messages May 17, 2013 – Oct 28, 2013

Subsystems (6)
lore
Share & tools
lore

Tony Lindgren

author maintainer
#0 lore raw

cover Drop legacy booting for omap4 for v3.11, boot with device tree only

Hi all,

Here are patches against v3.10-rc1 to drop omap4 legacy booting as things are now working well enough for booting omap4 with device tree.

We already have am33xx and omap5 booting with device tree only, and converting omap4 is relatively easy with just two board-*.c files merged as we have not accepted any new board-*.c files for quite some time now.

By working "well enough" I mean that I can use my omap4 panda-es with device tree with a Motorola LapDock with HDMI, DVI, HID, USB and WLAN using v3.10-rc1 and the patches in this series plus some extra patches that are driver related.

Of course some things will need more work, like PM. But that has not yet been fully working for omap4 anyways, and that work can now be combined with omap5 PM work to some extent.

Regards,

Tony

FYI, the extra patches I'm using in addition to these are:

1. GPIO regression fix (needed at least for SDP nfsroot)

ab6ec0fb (gpio/omap: ensure gpio context is initialised)

2. HSMMC DT pbias fix

[PATCH] mmc: omap_hsmmc: Fix the DT pbias workaround for MMC controllers 2 to 5

3. WL12XX support patches

[PATCH 0/3] WLAN support for omap4 when booted with devicetree

4. USB host support for panda dts changes

ARM: dts: omap4-panda: Add USB Host support

5. Fix for LapDock enumeration

usb: musb: Fix LapDock enumeration on omap for boot and slow cable insertion

---

Tony Lindgren (6):
ARM: OMAP2+: Remove board-4430sdp.c
ARM: OMAP2+: Remove board-omap4panda.c
ARM: OMAP2+: Remove legacy mux data for omap4
ARM: OMAP2+: Remove omap4 pdata from hsmmc.c
ARM: OMAP2+: Remove omap4 pdata for USB
ARM: OMAP2+: Remove omap4 ocp2scp pdata

 arch/arm/mach-omap2/Kconfig                |   22 
 arch/arm/mach-omap2/Makefile               |    3 
 arch/arm/mach-omap2/board-4430sdp.c        |  765 ----------------
 arch/arm/mach-omap2/board-omap4panda.c     |  455 ---------
 arch/arm/mach-omap2/devices.c              |  123 ---
 arch/arm/mach-omap2/hsmmc.c                |  103 --
 arch/arm/mach-omap2/mux.h                  |    3 
 arch/arm/mach-omap2/mux44xx.c              | 1356 ----------------------------
 arch/arm/mach-omap2/mux44xx.h              |  298 ------
 arch/arm/mach-omap2/omap_hwmod_44xx_data.c |   21 
 arch/arm/mach-omap2/usb-host.c             |  194 ----
 arch/arm/mach-omap2/usb-musb.c             |    3 
 drivers/bus/omap-ocp2scp.c                 |   60 -
 include/linux/platform_data/omap_ocp2scp.h |   31 -
 14 files changed, 10 insertions(+), 3427 deletions(-)
 delete mode 100644 arch/arm/mach-omap2/board-4430sdp.c
 delete mode 100644 arch/arm/mach-omap2/board-omap4panda.c
 delete mode 100644 arch/arm/mach-omap2/mux44xx.c
 delete mode 100644 arch/arm/mach-omap2/mux44xx.h
 delete mode 100644 include/linux/platform_data/omap_ocp2scp.h
Signature · 1 line
Signature
author maintainer
#1 lore raw

PATCH 1/6 ARM: OMAP2+: Remove board-4430sdp.c

We can now boot with device tree. If you don't want to update u-boot, you can boot with appended DTB with the following instructions:

1. Make sure you have the appended DTB support in .config

CONFIG_ARM_APPENDED_DTB=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y

2. Build the zImage

   $ ARCH=arm CROSS_COMPILE=... make zImage

3. Build the device tree blobs

   $ ARCH=arm CROSS_COMPILE=... make dtbs

4. Append the dtb to zImage

   $ cat arch/arm/boot/zImage arch/arm/boot/dts/omap4-sdp.dtb > /tmp/appended

5. Use mkimage to produce the appended device tree uImage

   $ mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 \
     -n "Linux" -d /tmp/appended /tmp/uImage
---
 arch/arm/mach-omap2/Kconfig         |    8 
 arch/arm/mach-omap2/Makefile        |    1 
 arch/arm/mach-omap2/board-4430sdp.c |  765 -----------------------------------
 3 files changed, 774 deletions(-)
 delete mode 100644 arch/arm/mach-omap2/board-4430sdp.c
arch/arm/mach-omap2/Kconfig +0 -8
index f49cd51..465edd1 100644
@@ -378,14 +378,6 @@ config MACH_TI8148EVM
 	depends on SOC_TI81XX
 	default y
 
-config MACH_OMAP_4430SDP
-	bool "OMAP 4430 SDP board"
-	default y
-	depends on ARCH_OMAP4
-	select OMAP_PACKAGE_CBL
-	select OMAP_PACKAGE_CBS
-	select REGULATOR_FIXED_VOLTAGE if REGULATOR
-
 config MACH_OMAP4_PANDA
 	bool "OMAP4 Panda Board"
 	default y
arch/arm/mach-omap2/Makefile +0 -1
index 55a9d67..875d61d 100644
@@ -251,7 +251,6 @@ obj-$(CONFIG_MACH_CM_T35)		+= board-cm-t35.o
 obj-$(CONFIG_MACH_CM_T3517)		+= board-cm-t3517.o
 obj-$(CONFIG_MACH_IGEP0020)		+= board-igep0020.o
 obj-$(CONFIG_MACH_TOUCHBOOK)		+= board-omap3touchbook.o
-obj-$(CONFIG_MACH_OMAP_4430SDP)		+= board-4430sdp.o
 obj-$(CONFIG_MACH_OMAP4_PANDA)		+= board-omap4panda.o
 
 obj-$(CONFIG_MACH_OMAP3517EVM)		+= board-am3517evm.o
arch/arm/mach-omap2/board-4430sdp.c deleted +0 -765

765 lines not on this page · raw message

#2 lore raw

PATCH 1/6 ARM: OMAP2+: Remove board-4430sdp.c

Quoted 19 lines · Tony Lindgren

We can now boot with device tree. If you don't want to update u-boot, you can boot with appended DTB with the following instructions:

1. Make sure you have the appended DTB support in .config

CONFIG_ARM_APPENDED_DTB=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y

2. Build the zImage

   $ ARCH=arm CROSS_COMPILE=... make zImage

3. Build the device tree blobs

   $ ARCH=arm CROSS_COMPILE=... make dtbs

4. Append the dtb to zImage

Quoted 8 lines
   $ cat arch/arm/boot/zImage arch/arm/boot/dts/omap4-sdp.dtb > /tmp/appended

5. Use mkimage to produce the appended device tree uImage

   $ mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 \
     -n "Linux" -d /tmp/appended /tmp/uImage

Okay, I'm removing the 4430SDP from the boot test system once this goes in, because this will mean rewriting the build system to cope with this stuff.

author maintainer
#3 lore raw

PATCH 1/6 ARM: OMAP2+: Remove board-4430sdp.c

Quoted 24 lines · Russell King - ARM Linux
Quoted 23 lines · Tony Lindgren

We can now boot with device tree. If you don't want to update u-boot, you can boot with appended DTB with the following instructions:

1. Make sure you have the appended DTB support in .config

CONFIG_ARM_APPENDED_DTB=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y

2. Build the zImage

   $ ARCH=arm CROSS_COMPILE=... make zImage

3. Build the device tree blobs

   $ ARCH=arm CROSS_COMPILE=... make dtbs

4. Append the dtb to zImage

   $ cat arch/arm/boot/zImage arch/arm/boot/dts/omap4-sdp.dtb > /tmp/appended

5. Use mkimage to produce the appended device tree uImage

Quoted 8 lines
Quoted 4 lines
   $ mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 \
     -n "Linux" -d /tmp/appended /tmp/uImage

Okay, I'm removing the 4430SDP from the boot test system once this goes in, because this will mean rewriting the build system to cope with this stuff.

OK, up to you. At least I check the results of your build system occasionally though.

I know people don't want to have more uImage handling in the kernel, but maybe we could add handling for board specific uImage targets for compability?

Maybe something like dtbname.uImage-dtba:

$ make omap4-sdp.uImage-dtba

And then that would take care of steps 3 - 5 automatically?

Of course the alternative is to update u-boot, but that's not always possible for some legacy boards.

Regards,

Tony

#4 lore raw

PATCH 1/6 ARM: OMAP2+: Remove board-4430sdp.c

In reply to Russell King - ARM Linux
Quoted 24 lines · Russell King - ARM Linux
Quoted 23 lines · Tony Lindgren

We can now boot with device tree. If you don't want to update u-boot, you can boot with appended DTB with the following instructions:

1. Make sure you have the appended DTB support in .config

CONFIG_ARM_APPENDED_DTB=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y

2. Build the zImage

   $ ARCH=arm CROSS_COMPILE=... make zImage

3. Build the device tree blobs

   $ ARCH=arm CROSS_COMPILE=... make dtbs

4. Append the dtb to zImage

   $ cat arch/arm/boot/zImage arch/arm/boot/dts/omap4-sdp.dtb > /tmp/appended

5. Use mkimage to produce the appended device tree uImage

Quoted 8 lines
Quoted 4 lines
   $ mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 \
     -n "Linux" -d /tmp/appended /tmp/uImage

Okay, I'm removing the 4430SDP from the boot test system once this goes in, because this will mean rewriting the build system to cope with this stuff.

Well, this doesn't work. I've tried several things, and I think I'm generating a correct image, but it doesn't boot.

This could be that the current Linus tip plus my stuff plus arm-soc is broken, but as it boots on the 3430LDP I suspect that isn't the case.

I've tried with omap4-sdp.dtb and the other omap4-sdp DTB file with no improvement. No idea how to even begin to debug this, as there's no way for the decompressor to produce output, and I've no idea which OMAP uart to use for debug output (because that information has been removed from the kernel source.)

And... WTF is the OMAP debug uart selection in its own separate menu from the main "choice" statement? This is totally unnecessary complexity and is just making things more complicated for the hell of it. Look at what every other platform does - they put their stuff in the main choice statement even if they have multiple UARTs. The hint there is that these depend on the appropriate support being selected, so in the case of a kernel only targetting OMAP, as things stand you'll end up with a menu which lists the OMAP2PLUS, none, icedcc, and semihosting entries followed by another menu to select which OMAP port you want. That's utterly rediculous and broken. And just think about the two titles for the menus:

prompt "Kernel low-level debugging port"
vs
prompt "Low-level debug console UART"

Oh wait, why don't I get to choose my "debug console UART" on an AT91? Maybe AT91 should move their debug uart selection into this menu as well, and maybe the Versatile Express options too, because they're all to do with selecting the UART to be used. Please... some sane *thought* would be *really* good here.

Oh my god, you're not the only ones. Arnd/Olof, who started this madness and _why_ haven't you already stepped on it? Right, I'm fixing this in this merge window. Everything is moving under the original choice menu as it was intended to be.

The attempts are all on the builder website against the (disabled) omap4430-sdp entry.

#5 lore raw

PATCH 1/6 ARM: OMAP2+: Remove board-4430sdp.c

Quoted 35 lines · Russell King - ARM Linux

Well, this doesn't work. I've tried several things, and I think I'm generating a correct image, but it doesn't boot.

This could be that the current Linus tip plus my stuff plus arm-soc is broken, but as it boots on the 3430LDP I suspect that isn't the case.

I've tried with omap4-sdp.dtb and the other omap4-sdp DTB file with no improvement. No idea how to even begin to debug this, as there's no way for the decompressor to produce output, and I've no idea which OMAP uart to use for debug output (because that information has been removed from the kernel source.)

And... WTF is the OMAP debug uart selection in its own separate menu from the main "choice" statement? This is totally unnecessary complexity and is just making things more complicated for the hell of it. Look at what every other platform does - they put their stuff in the main choice statement even if they have multiple UARTs. The hint there is that these depend on the appropriate support being selected, so in the case of a kernel only targetting OMAP, as things stand you'll end up with a menu which lists the OMAP2PLUS, none, icedcc, and semihosting entries followed by another menu to select which OMAP port you want. That's utterly rediculous and broken. And just think about the two titles for the menus:

prompt "Kernel low-level debugging port"
vs
prompt "Low-level debug console UART"

Oh wait, why don't I get to choose my "debug console UART" on an AT91? Maybe AT91 should move their debug uart selection into this menu as well, and maybe the Versatile Express options too, because they're all to do with selecting the UART to be used. Please... some sane *thought* would be *really* good here.

Quoted 7 lines

Oh my god, you're not the only ones. Arnd/Olof, who started this madness and _why_ haven't you already stepped on it? Right, I'm fixing this in this merge window. Everything is moving under the original choice menu as it was intended to be.

The attempts are all on the builder website against the (disabled) omap4430-sdp entry.

Okay, I guessed that the OMAP4430SDP was "blaze" (it's not obvious to use internal codenames for boards when they're known as "SDP" etc - especially when they have stickers on them saying that they're "SDP".)

With that worked out, throwing my standard printascii() hack into the kernel results in boot messages... up to the point where the timer is calibrated. So, it looks like either interrupts, clocks, or the OMAP timers are non-functional with DT based kernels on the SDP board.

Any ideas?

author maintainer
#6 lore raw

PATCH 1/6 ARM: OMAP2+: Remove board-4430sdp.c

Quoted 4 lines · Russell King - ARM Linux

Okay, I guessed that the OMAP4430SDP was "blaze" (it's not obvious to use internal codenames for boards when they're known as "SDP" etc - especially when they have stickers on them saying that they're "SDP".)

Agreed, let's update that.

Quoted 4 lines

With that worked out, throwing my standard printascii() hack into the kernel results in boot messages... up to the point where the timer is calibrated. So, it looks like either interrupts, clocks, or the OMAP timers are non-functional with DT based kernels on the SDP board.

Hey the good news is that you've updated your build system to support also appended dtb images, thanks for doing that!

Quoted 1 line

Any ideas?

Looks like you need some things updated and added to your .config.

-# CONFIG_OMAP_MUX is not set
+CONFIG_MACH_OMAP_GENERIC=y

That we should nowadays always select though.

CONFIG_REGULATOR_FIXED_VOLTAGE=y

This you will need for Ethernet.

CONFIG_PINCTRL_SINGLE=y

This is good to have, will be needed especially for for UART wake-up events with deeper idle modes enabled once the pending pinctrl patches are merged.

Also, can you please add these for NFSroot:

CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_ROOT_NFS=y

That way I can also boot test your .config on regular basis ;)

Then there's a pending patch to change drivers/i2c/busses/i2c-omap.c to use just a regular module_init, that should remove the i2c timeout errors as then deferred probe will work properly.

BTW, maybe add a link to your build system to www.arm.linux.org.uk developer page too? At least I could not find a link to it.

Regards,

Tony

#7 lore raw

PATCH 1/6 ARM: OMAP2+: Remove board-4430sdp.c

Quoted 8 lines · Tony Lindgren
Quoted 4 lines · Russell King - ARM Linux

Okay, I guessed that the OMAP4430SDP was "blaze" (it's not obvious to use internal codenames for boards when they're known as "SDP" etc - especially when they have stickers on them saying that they're "SDP".)

Agreed, let's update that.

Quoted 7 lines
Quoted 4 lines

With that worked out, throwing my standard printascii() hack into the kernel results in boot messages... up to the point where the timer is calibrated. So, it looks like either interrupts, clocks, or the OMAP timers are non-functional with DT based kernels on the SDP board.

Hey the good news is that you've updated your build system to support also appended dtb images, thanks for doing that!

It was far from trivial - there's many places in the build process which do things quite differently depending on whether it's a DTB build or not.

Quoted 11 lines
Quoted 1 line

Any ideas?

Looks like you need some things updated and added to your .config.

(quoted diff) +1 -1
-# CONFIG_OMAP_MUX is not set
+CONFIG_MACH_OMAP_GENERIC=y

That we should nowadays always select though.

CONFIG_REGULATOR_FIXED_VOLTAGE=y

Quoted 7 lines

This you will need for Ethernet.

CONFIG_PINCTRL_SINGLE=y

This is good to have, will be needed especially for for UART wake-up events with deeper idle modes enabled once the pending pinctrl patches are merged.

That probably explains why there was no output.

Quoted 3 lines

Then there's a pending patch to change drivers/i2c/busses/i2c-omap.c to use just a regular module_init, that should remove the i2c timeout errors as then deferred probe will work properly.

It seems that - yet again - the mmc devices have swapped themselves. Also looks like the nonfunctional video stuff is even more nonfunctional than usual:

omapdss DSI error: can't get VDDS_DSI regulator omapdss HDMI error: can't get VDDA_HDMI_DAC regulator

ASoC looks dead too:

omap-abe-twl6040 sound.10: ASoC: CPU DAI (null) not registered omap-abe-twl6040 sound.10: snd_soc_register_card() failed: -517

Quoted 2 lines

BTW, maybe add a link to your build system to www.arm.linux.org.uk developer page too? At least I could not find a link to it.

Hmm, I thought I had, but it looks like I never pushed the change to the main site. I'll do that at some point.

author maintainer
#8 lore raw

PATCH 1/6 ARM: OMAP2+: Remove board-4430sdp.c

Quoted 8 lines · Russell King - ARM Linux
Quoted 3 lines · Tony Lindgren

Hey the good news is that you've updated your build system to support also appended dtb images, thanks for doing that!

It was far from trivial - there's many places in the build process which do things quite differently depending on whether it's a DTB build or not.

Yes that's too bad. We can make it slightly easier to update from custom .config files by always building in support for board-generic.c.

Quoted 1 line

It seems that - yet again - the mmc devices have swapped themselves.

Hmm they also seem to swap depending if there's a card plugged in.

Quoted 5 lines

Also looks like the nonfunctional video stuff is even more nonfunctional than usual:

omapdss DSI error: can't get VDDS_DSI regulator omapdss HDMI error: can't get VDDA_HDMI_DAC regulator

Tomi?

Quoted 4 lines

ASoC looks dead too:

omap-abe-twl6040 sound.10: ASoC: CPU DAI (null) not registered omap-abe-twl6040 sound.10: snd_soc_register_card() failed: -517

Peter, I think you've had audio working with devicetree for at least a year or something?

Regards,

Tony

#9 lore raw

PATCH 1/6 ARM: OMAP2+: Remove board-4430sdp.c

Quoted 7 lines · Tony Lindgren
Quoted 4 lines

ASoC looks dead too:

omap-abe-twl6040 sound.10: ASoC: CPU DAI (null) not registered omap-abe-twl6040 sound.10: snd_soc_register_card() failed: -517

Peter, I think you've had audio working with devicetree for at least a year or something?

Yes it has been working and going to work soon again:
http://mailman.alsa-project.org/pipermail/alsa-devel/2013-July/063909.html

With the DMA devicetree bindings platform_get_resource_byname() stopped working for DMA (it works for MEM resources) -> dai drivers were not probing.

Signature · 1 line
P?ter
#10 lore raw

PATCH 1/6 ARM: OMAP2+: Remove board-4430sdp.c

In reply to Russell King - ARM Linux
Quoted 5 lines · Russell King - ARM Linux

Also looks like the nonfunctional video stuff is even more nonfunctional than usual:

omapdss DSI error: can't get VDDS_DSI regulator omapdss HDMI error: can't get VDDA_HDMI_DAC regulator

Those should be followed by "...requests probe deferral", and the driver is probed again later.

The log
http://www.arm.linux.org.uk/developer/build/result.php?type=boot&idx=946
shows "taal display2: panel revision e3.83.7d" which hints that the panel (and DSS) was initialized properly.

Those error prints should probably be tuned down a bit now that the driver uses probe deferral.

Tomi

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 901 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130722/b1fe83e3/attachment.sig>

#11 lore raw

PATCH 1/6 ARM: OMAP2+: Remove board-4430sdp.c

Hi Tomi,

Quoted 7 lines · Tomi Valkeinen
Quoted 5 lines · Russell King - ARM Linux

Also looks like the nonfunctional video stuff is even more nonfunctional than usual:

omapdss DSI error: can't get VDDS_DSI regulator omapdss HDMI error: can't get VDDA_HDMI_DAC regulator

I have the same issue when trying to get VDI output working on a IGEPv2 board.

Quoted 4 lines

Those should be followed by "...requests probe deferral", and the driver is probed again later.

When booting with DT the omapfb's probe is deferred several times but it always fails on dpi_connect() due not being able to get the VDDS_DSI regulator:

[    3.186035] OMAPFB: omapfb_probe
[    3.190704] omapdss DPI error: can't get VDDS_DSI regulator
[    3.196594] omapfb omapfb: failed to connect default display
[    3.202667] omapfb omapfb: failed to init overlay connections
[    3.208892] OMAPFB: free_resources
[    3.212493] OMAPFB: free all fbmem
[    3.216735] omapfb omapfb: failed to setup omapfb
[    3.221832] platform omapfb: Driver omapfb requests probe deferral
[    3.231689] OMAPFB: omapfb_probe
[    3.236175] omapdss DPI error: can't get VDDS_DSI regulator
[    3.242248] omapfb omapfb: failed to connect default display
[    3.248291] omapfb omapfb: failed to init overlay connections
[    3.254394] OMAPFB: free_resources
[    3.258026] OMAPFB: free all fbmem
[    3.262268] omapfb omapfb: failed to setup omapfb
[    3.267303] platform omapfb: Driver omapfb requests probe deferral

My complete boot log is [1]

I tracked down to dpi_init_regulator in drivers/video/omap2/dss/dpi.c

static int dpi_init_regulator(void)
{
....

        vdds_dsi = devm_regulator_get(&dpi.pdev->dev, "vdds_dsi");
        if (IS_ERR(vdds_dsi)) {
                DSSERR("can't get VDDS_DSI regulator\n");
                return PTR_ERR(vdds_dsi);
        }

....
}

So I tried adding this to my DT with no luck.

(quoted diff) +0 -0

b/arch/arm/boot/dts/omap3-igep0020.dts
index 17a6fc1..eaae935 100644

arch/arm/boot/dts/omap3-igep0020.dts +5 -0
@@ -256,3 +256,8 @@
 &usbhsehci {
        phys = <&hsusb1_phy>;
 };
+
+&vpll2 {
+        supply-dev = "omapdss_dpi.0";
+        supply = "vdds_dsi";
+};

Now what you said does indeed happen when booting with the legacy board file. omapfb fails the first time with "can't get VDDS_DSI regulator"
but the driver is probed again and it succeeds.

I tried to spot a difference but didn't find it...

Quoted 11 lines

The log
http://www.arm.linux.org.uk/developer/build/result.php?type=boot&idx=946
shows "taal display2: panel revision e3.83.7d" which hints that the panel (and DSS) was initialized properly.

Those error prints should probably be tuned down a bit now that the driver uses probe deferral.

Tomi

fwiw, my wip branch is [2]:

Javier Martinez Canillas (3):
ARM: dts: omap3-igep0020: Add pinmux setup for i2c devices
ARM: dts: omap3-igep0020: Add pinmuxig for DVI output
ARM: OMAP: dss-common: change IGEP's DVI DDC i2c bus

Any hints will be highly appreciated.

Thanks a lot and best regards,
Javier

[1]: http://fpaste.org/49736/79384138/raw/
[2]: https://github.com/martinezjavier/linux/commits/igep-video-wip

#12 lore raw

PATCH 1/6 ARM: OMAP2+: Remove board-4430sdp.c

Quoted 3 lines · Javier Martinez Canillas

When booting with DT the omapfb's probe is deferred several times but it always fails on dpi_connect() due not being able to get the VDDS_DSI regulator:

The problem with DT boot is that the VDDS_DSI is not linked to the DPI device. For omap4, we have a few hacks to go around this (see dsi.c, dsi_regulator_init()).

Quoted 8 lines

So I tried adding this to my DT with no luck.

arch/arm/boot/dts/omap3-igep0020.dts +0 -0
index 17a6fc1..eaae935 100644

arch/arm/boot/dts/omap3-igep0020.dts line 263

Quoted 8 lines
arch/arm/boot/dts/omap3-igep0020.dts +5 -0
@@ -256,3 +256,8 @@
 &usbhsehci {
        phys = <&hsusb1_phy>;
 };
+
+&vpll2 {
+        supply-dev = "omapdss_dpi.0";
+        supply = "vdds_dsi";
+};

I didn't see "supply-dev" defined in dt bindings documentation, is that supposed to work? If it should work, then the problem could be solved with the above. Otherwise I guess we must add more hacks to omapdss driver, to all places where it uses regulator_get...

Tomi

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 901 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20131028/a76b34f1/attachment.sig>

#13 lore raw

PATCH 1/6 ARM: OMAP2+: Remove board-4430sdp.c

Quoted 10 lines · Tomi Valkeinen
Quoted 3 lines · Javier Martinez Canillas

When booting with DT the omapfb's probe is deferred several times but it always fails on dpi_connect() due not being able to get the VDDS_DSI regulator:

The problem with DT boot is that the VDDS_DSI is not linked to the DPI device. For omap4, we have a few hacks to go around this (see dsi.c, dsi_regulator_init()).

I see, I'll add a dpi_regulator_init() to
drivers/video/omap2/dss/dpi.c to workaround this.

Quoted 13 lines
Quoted 13 lines

So I tried adding this to my DT with no luck.

arch/arm/boot/dts/omap3-igep0020.dts +2 -0
index 17a6fc1..eaae935 100644
@@ -256,3 +256,8 @@
 &usbhsehci {
        phys = <&hsusb1_phy>;
 };
+
+&vpll2 {
Quoted 9 lines

arch/arm/boot/dts/omap3-igep0020.dts line 263

Quoted 3 lines
arch/arm/boot/dts/omap3-igep0020.dts +3 -0
+        supply-dev = "omapdss_dpi.0";
+        supply = "vdds_dsi";
+};

I didn't see "supply-dev" defined in dt bindings documentation, is that supposed to work? If it should work, then the problem could be solved with the above. Otherwise I guess we must add more hacks to omapdss driver, to all places where it uses regulator_get...

Yes I didn't find on the DT binding documentation either but saw it before on a DTS someone shared on linux-omap so I thought it was just a matter of outdated documentation. But I guess it was the other way around, that DTS was for a vendor kernel which added that supply-dev property.

Quoted 3 lines

Tomi

Thanks a lot for your help!
Javier

#14 lore raw

PATCH 1/6 ARM: OMAP2+: Remove board-4430sdp.c

In reply to Russell King - ARM Linux

Hi,

Quoted 6 lines · Russell King - ARM Linux

With that worked out, throwing my standard printascii() hack into the kernel results in boot messages... up to the point where the timer is calibrated. So, it looks like either interrupts, clocks, or the OMAP timers are non-functional with DT based kernels on the SDP board.

Any ideas?

I'm a bit late to the party due to travel and other things going on, but I have the exact same thing happening with multi_v7_defconfig on my Panda ES right now -- it gets stuck on calibrating delay loop. I needed to enable DEBUG_LL and early printk to not just get a dead system though.

What happened in my case was that MACH_OMAP4 was no longer enabled so clocks weren't registered. I wonder if we can improve debugability of that somehow.

Before Arnd's patch to flip the MACH_OMAP2PLUS option around, they got enabled by default I think. So now I needed:

-CONFIG_ARCH_OMAP2PLUS=y
+CONFIG_ARCH_OMAP3=y
+CONFIG_ARCH_OMAP4=y
CONFIG_SOC_OMAP5=y
+CONFIG_SOC_AM33XX=y

...in the defconfig.

This is pretty painful, and I don't know if we want to rethink Arnd's patch since it will break existing defconfigs out there that rely on OMAP2PLUS enabling the socs instead of the other way around. Opinions?

-Olof

#15 lore raw

PATCH 1/6 ARM: OMAP2+: Remove board-4430sdp.c

Quoted 3 lines · Olof Johansson

This is pretty painful, and I don't know if we want to rethink Arnd's patch since it will break existing defconfigs out there that rely on OMAP2PLUS enabling the socs instead of the other way around. Opinions?

(replying to myself, I know, I know...)

I think it's probably easiest to just select the OMAP{2,3,4} and AM33XX options in multi_v7_defconfig just like Arnd did in the commit that changed the dependencies for now. I've added a patch on top of our current fixes branch to do so.

Note that you need to make corresponding changes to your seeds for your build tests, Russell.

-Olof

author maintainer
#16 lore raw

PATCH 1/6 ARM: OMAP2+: Remove board-4430sdp.c

Quoted 6 lines · Olof Johansson
Quoted 3 lines · Olof Johansson

This is pretty painful, and I don't know if we want to rethink Arnd's patch since it will break existing defconfigs out there that rely on OMAP2PLUS enabling the socs instead of the other way around. Opinions?

Quoted 6 lines

(replying to myself, I know, I know...)

I think it's probably easiest to just select the OMAP{2,3,4} and AM33XX options in multi_v7_defconfig just like Arnd did in the commit that changed the dependencies for now. I've added a patch on top of our current fixes branch to do so.

Well should select only omap 3 and later for multi_v7_defconfig as omap2 is v6 :)

Quoted 2 lines

Note that you need to make corresponding changes to your seeds for your build tests, Russell.

Eventually we could have them all selected based on the core type, but I'd rather not do that until clocks and hwmod data come from DT.

Regards,

Tony

#17 lore raw

PATCH 1/6 ARM: OMAP2+: Remove board-4430sdp.c

In reply to Russell King - ARM Linux
Quoted 10 lines · Russell King - ARM Linux

Oh wait, why don't I get to choose my "debug console UART" on an AT91? Maybe AT91 should move their debug uart selection into this menu as well, and maybe the Versatile Express options too, because they're all to do with selecting the UART to be used. Please... some sane thought would be really good here.

Oh my god, you're not the only ones. Arnd/Olof, who started this madness and why haven't you already stepped on it? Right, I'm fixing this in this merge window. Everything is moving under the original choice menu as it was intended to be.

Sorry, I missed that this was going on, and I absolutely agree with your sentiment. From what I can tell from the git log, Tegra was the first to have the separate choice statement, after it just move its options from mach-tegra/Kconfig into the Kconfig.debug. OMAP followed with the same method and I think from there people just copied it.

I can understand why one wants to have some more structure in the list, given that i.MX alone has 37 options for UART addresses, but we first need to have a consistent method of configuring the addresses.

Arnd

#18 lore raw

debugging options (was: Re: [PATCH 1/6] ARM: OMAP2+: Remove board-4430sdp.c)

Apologies for the topic hijack.

Quoted 9 lines · Arnd Bergmann

Sorry, I missed that this was going on, and I absolutely agree with your sentiment. From what I can tell from the git log, Tegra was the first to have the separate choice statement, after it just move its options from mach-tegra/Kconfig into the Kconfig.debug. OMAP followed with the same method and I think from there people just copied it.

I can understand why one wants to have some more structure in the list, given that i.MX alone has 37 options for UART addresses, but we first need to have a consistent method of configuring the addresses.

I don't have an option with an option after the choice or a set of options afterwards asking for details about the selected option - that is logical.

For example, if we were to reduce the 8250-uart based stuff down to a single "8250-compatible uart" option, and then ask for the address, register shift and register access size.

... and of course by this time I now have a patch set which does exactly that... and it can do more by getting rid of that 8250_32.S file as well with another config option. The patch below tries hard not to break anything or lose information as to the details of the 8250 UART in any platform which they're already known to the kernel, but they can be trivially overridden. Eventually (maybe tomorrow), I expect a load of the choice config statements in arch/arm/Kconfig.debug to go away, replaced just with a generic "Kernel low-level debugging messages via 8250 UART" option.

 arch/arm/Kconfig.debug                             |   92 ++++++++++++++++++--
 arch/arm/include/asm/hardware/debug-8250.S         |   29 ------
 arch/arm/include/debug/8250.S                      |   36 ++++++++
 arch/arm/include/debug/mvebu.S                     |   30 -------
 arch/arm/include/debug/nspire.S                    |    9 +--
 arch/arm/include/debug/pxa.S                       |   33 -------
 arch/arm/include/debug/rockchip.S                  |   42 ---------
 arch/arm/include/debug/sunxi.S                     |   27 ------
 arch/arm/mach-dove/include/mach/debug-macro.S      |   19 ----
 arch/arm/mach-ebsa110/include/mach/debug-macro.S   |   22 -----
 .../arm/mach-footbridge/include/mach/debug-macro.S |   15 ---
 arch/arm/mach-gemini/include/mach/debug-macro.S    |   21 -----
 arch/arm/mach-iop13xx/include/mach/debug-macro.S   |   24 -----
 arch/arm/mach-iop32x/include/mach/debug-macro.S    |   21 -----
 arch/arm/mach-iop33x/include/mach/debug-macro.S    |   22 -----
 arch/arm/mach-ixp4xx/include/mach/debug-macro.S    |   26 ------
 arch/arm/mach-kirkwood/include/mach/debug-macro.S  |   19 ----
 arch/arm/mach-lpc32xx/include/mach/debug-macro.S   |   29 ------
 arch/arm/mach-mv78xx0/include/mach/debug-macro.S   |   19 ----
 arch/arm/mach-orion5x/include/mach/debug-macro.S   |   21 -----
 arch/arm/mach-rpc/include/mach/debug-macro.S       |   23 -----
 21 files changed, 121 insertions(+), 458 deletions(-)
 delete mode 100644 arch/arm/include/asm/hardware/debug-8250.S
 create mode 100644 arch/arm/include/debug/8250.S
 delete mode 100644 arch/arm/include/debug/mvebu.S
 delete mode 100644 arch/arm/include/debug/pxa.S
 delete mode 100644 arch/arm/include/debug/rockchip.S
 delete mode 100644 arch/arm/include/debug/sunxi.S
 delete mode 100644 arch/arm/mach-dove/include/mach/debug-macro.S
 delete mode 100644 arch/arm/mach-ebsa110/include/mach/debug-macro.S
 delete mode 100644 arch/arm/mach-gemini/include/mach/debug-macro.S
 delete mode 100644 arch/arm/mach-iop13xx/include/mach/debug-macro.S
 delete mode 100644 arch/arm/mach-iop32x/include/mach/debug-macro.S
 delete mode 100644 arch/arm/mach-iop33x/include/mach/debug-macro.S
 delete mode 100644 arch/arm/mach-ixp4xx/include/mach/debug-macro.S
 delete mode 100644 arch/arm/mach-kirkwood/include/mach/debug-macro.S
 delete mode 100644 arch/arm/mach-lpc32xx/include/mach/debug-macro.S
 delete mode 100644 arch/arm/mach-mv78xx0/include/mach/debug-macro.S
 delete mode 100644 arch/arm/mach-orion5x/include/mach/debug-macro.S
 delete mode 100644 arch/arm/mach-rpc/include/mach/debug-macro.S
author maintainer
#19 lore raw

PATCH 2/6 ARM: OMAP2+: Remove board-omap4panda.c

In reply to Tony Lindgren

We can now boot with device tree. If you don't want to update u-boot, you can boot with appended DTB with the following instructions:

1. Make sure you have the appended DTB support in .config

CONFIG_ARM_APPENDED_DTB=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y

2. Build the zImage

   $ ARCH=arm CROSS_COMPILE=... make zImage

3. Build the device tree blobs

   $ ARCH=arm CROSS_COMPILE=... make dtbs

4. Append the correct panda dtb to zImage

Depending on your hardware it's omap4-panda.dtb, omap4-panda-a4.dtb or omap4-panda-es.dtb.

   $ cat arch/arm/boot/zImage arch/arm/boot/dts/omap4-panda-es.dtb > /tmp/appended

5. Use mkimage to produce the appended device tree uImage

   $ mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 \
     -n "Linux" -d /tmp/appended /tmp/uImage
Signed-off-by Tony Lindgren <tony at atomide.com
---
 arch/arm/mach-omap2/Kconfig            |    8 -
 arch/arm/mach-omap2/Makefile           |    1 
 arch/arm/mach-omap2/board-omap4panda.c |  455 --------------------------------
 3 files changed, 464 deletions(-)
 delete mode 100644 arch/arm/mach-omap2/board-omap4panda.c
arch/arm/mach-omap2/Kconfig +0 -8
index 465edd1..1f941c4 100644
@@ -378,14 +378,6 @@ config MACH_TI8148EVM
 	depends on SOC_TI81XX
 	default y
 
-config MACH_OMAP4_PANDA
-	bool "OMAP4 Panda Board"
-	default y
-	depends on ARCH_OMAP4
-	select OMAP_PACKAGE_CBL
-	select OMAP_PACKAGE_CBS
-	select REGULATOR_FIXED_VOLTAGE if REGULATOR
-
 config OMAP3_EMU
 	bool "OMAP3 debugging peripherals"
 	depends on ARCH_OMAP3
arch/arm/mach-omap2/Makefile +0 -1
index 875d61d..2cbf3ef 100644
@@ -251,7 +251,6 @@ obj-$(CONFIG_MACH_CM_T35)		+= board-cm-t35.o
 obj-$(CONFIG_MACH_CM_T3517)		+= board-cm-t3517.o
 obj-$(CONFIG_MACH_IGEP0020)		+= board-igep0020.o
 obj-$(CONFIG_MACH_TOUCHBOOK)		+= board-omap3touchbook.o
-obj-$(CONFIG_MACH_OMAP4_PANDA)		+= board-omap4panda.o
 
 obj-$(CONFIG_MACH_OMAP3517EVM)		+= board-am3517evm.o
 
arch/arm/mach-omap2/board-omap4panda.c deleted +0 -455

455 lines not on this page · raw message

#20 lore raw

PATCH 2/6 ARM: OMAP2+: Remove board-omap4panda.c

Hi,

Quoted 22 lines · Tony Lindgren

We can now boot with device tree. If you don't want to update u-boot, you can boot with appended DTB with the following instructions:

1. Make sure you have the appended DTB support in .config

CONFIG_ARM_APPENDED_DTB=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y

2. Build the zImage

   $ ARCH=arm CROSS_COMPILE=... make zImage

3. Build the device tree blobs

   $ ARCH=arm CROSS_COMPILE=... make dtbs

4. Append the correct panda dtb to zImage

Depending on your hardware it's omap4-panda.dtb, omap4-panda-a4.dtb or omap4-panda-es.dtb.

Quoted 6 lines
   $ cat arch/arm/boot/zImage arch/arm/boot/dts/omap4-panda-es.dtb > /tmp/appended

5. Use mkimage to produce the appended device tree uImage

   $ mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 \
     -n "Linux" -d /tmp/appended /tmp/uImage

I followed the above steps and tried devicetree on Pandaboard against 3.10.0-rc3-next-20130528, and the board will hang during boot, but works well with legacy mode.

Hardware: Pandaboard A1
dtb: omap4-panda.dtb

See 'dmesg' on below link:

http://kernel.ubuntu.com/~ming/up/panda-dts.dmesg

Thanks,

Signature · 1 line
Ming Lei
author maintainer
#21 lore raw

PATCH 2/6 ARM: OMAP2+: Remove board-omap4panda.c

Quoted 36 lines · Ming Lei

Hi,

Quoted 22 lines · Tony Lindgren

We can now boot with device tree. If you don't want to update u-boot, you can boot with appended DTB with the following instructions:

1. Make sure you have the appended DTB support in .config

CONFIG_ARM_APPENDED_DTB=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y

2. Build the zImage

   $ ARCH=arm CROSS_COMPILE=... make zImage

3. Build the device tree blobs

   $ ARCH=arm CROSS_COMPILE=... make dtbs

4. Append the correct panda dtb to zImage

Depending on your hardware it's omap4-panda.dtb, omap4-panda-a4.dtb or omap4-panda-es.dtb.

Quoted 6 lines
   $ cat arch/arm/boot/zImage arch/arm/boot/dts/omap4-panda-es.dtb > /tmp/appended

5. Use mkimage to produce the appended device tree uImage

   $ mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 \
     -n "Linux" -d /tmp/appended /tmp/uImage

I followed the above steps and tried devicetree on Pandaboard against 3.10.0-rc3-next-20130528, and the board will hang during boot, but works well with legacy mode.

Quoted 7 lines

Hardware: Pandaboard A1
dtb: omap4-panda.dtb

See 'dmesg' on below link:

http://kernel.ubuntu.com/~ming/up/panda-dts.dmesg

Hmm looks like it boots to init. Maybe add initcall_debug to the cmdline in case there's some late_initcall that causes the issue. It's probably some trivial issue causing it.

Regards,

Tony

author maintainer
#22 lore raw

PATCH 2/6 ARM: OMAP2+: Remove board-omap4panda.c

Quoted 40 lines · Tony Lindgren
Quoted 39 lines · Ming Lei

Hi,

Quoted 22 lines · Tony Lindgren

We can now boot with device tree. If you don't want to update u-boot, you can boot with appended DTB with the following instructions:

1. Make sure you have the appended DTB support in .config

CONFIG_ARM_APPENDED_DTB=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y

2. Build the zImage

   $ ARCH=arm CROSS_COMPILE=... make zImage

3. Build the device tree blobs

   $ ARCH=arm CROSS_COMPILE=... make dtbs

4. Append the correct panda dtb to zImage

Depending on your hardware it's omap4-panda.dtb, omap4-panda-a4.dtb or omap4-panda-es.dtb.

Quoted 6 lines
   $ cat arch/arm/boot/zImage arch/arm/boot/dts/omap4-panda-es.dtb > /tmp/appended

5. Use mkimage to produce the appended device tree uImage

   $ mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 \
     -n "Linux" -d /tmp/appended /tmp/uImage

I followed the above steps and tried devicetree on Pandaboard against 3.10.0-rc3-next-20130528, and the board will hang during boot, but works well with legacy mode.

Hardware: Pandaboard A1
dtb: omap4-panda.dtb

Quoted 8 lines
Quoted 4 lines

See 'dmesg' on below link:

http://kernel.ubuntu.com/~ming/up/panda-dts.dmesg

Hmm looks like it boots to init. Maybe add initcall_debug to the cmdline in case there's some late_initcall that causes the issue. It's probably some trivial issue causing it.

Sricharan, maybe give this a quick try if you have the original pandaboard? I only have pandaboard es.

Regards,

Tony

#23 lore raw

PATCH 2/6 ARM: OMAP2+: Remove board-omap4panda.c

Hi Tony,

Quoted 47 lines · Tony Lindgren
Quoted 39 lines · Tony Lindgren
Quoted 38 lines · Ming Lei

Hi,

Quoted 22 lines · Tony Lindgren

We can now boot with device tree. If you don't want to update u-boot, you can boot with appended DTB with the following instructions:

1. Make sure you have the appended DTB support in .config

CONFIG_ARM_APPENDED_DTB=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y

2. Build the zImage

   $ ARCH=arm CROSS_COMPILE=... make zImage

3. Build the device tree blobs

   $ ARCH=arm CROSS_COMPILE=... make dtbs

4. Append the correct panda dtb to zImage

Depending on your hardware it's omap4-panda.dtb, omap4-panda-a4.dtb or omap4-panda-es.dtb.

Quoted 6 lines
   $ cat arch/arm/boot/zImage arch/arm/boot/dts/omap4-panda-es.dtb > /tmp/appended

5. Use mkimage to produce the appended device tree uImage

   $ mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 \
     -n "Linux" -d /tmp/appended /tmp/uImage

I followed the above steps and tried devicetree on Pandaboard against 3.10.0-rc3-next-20130528, and the board will hang during boot, but works well with legacy mode.

Hardware: Pandaboard A1
dtb: omap4-panda.dtb

Quoted 7 lines
Quoted 4 lines

See 'dmesg' on below link:

http://kernel.ubuntu.com/~ming/up/panda-dts.dmesg

Hmm looks like it boots to init. Maybe add initcall_debug to the cmdline in case there's some late_initcall that causes the issue. It's probably some trivial issue causing it.

Quoted 6 lines

Sricharan, maybe give this a quick try if you have the original pandaboard? I only have pandaboard es.

Regards,

Tony

I tried your cleanup branch omap-for-v3.11/cleanup on panda board and it booted
to prompt fine.
Hardware: Pandaboard A1 dtb: omap4-panda.dtb

git pull on linux-next branch was not working though.

Regards,
Sricharan

#24 lore raw

PATCH 2/6 ARM: OMAP2+: Remove board-omap4panda.c

Quoted 54 lines · Sricharan R

Hi Tony,

Quoted 52 lines · Tony Lindgren
Quoted 39 lines · Tony Lindgren
Quoted 38 lines · Ming Lei

Hi,

Quoted 22 lines · Tony Lindgren

We can now boot with device tree. If you don't want to update u-boot, you can boot with appended DTB with the following instructions:

1. Make sure you have the appended DTB support in .config

CONFIG_ARM_APPENDED_DTB=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y

2. Build the zImage

   $ ARCH=arm CROSS_COMPILE=... make zImage

3. Build the device tree blobs

   $ ARCH=arm CROSS_COMPILE=... make dtbs

4. Append the correct panda dtb to zImage

Depending on your hardware it's omap4-panda.dtb, omap4-panda-a4.dtb or omap4-panda-es.dtb.

Quoted 6 lines
   $ cat arch/arm/boot/zImage arch/arm/boot/dts/omap4-panda-es.dtb > /tmp/appended

5. Use mkimage to produce the appended device tree uImage

   $ mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 \
     -n "Linux" -d /tmp/appended /tmp/uImage

I followed the above steps and tried devicetree on Pandaboard against 3.10.0-rc3-next-20130528, and the board will hang during boot, but works well with legacy mode.

Hardware: Pandaboard A1
dtb: omap4-panda.dtb

Quoted 7 lines
Quoted 4 lines

See 'dmesg' on below link:

http://kernel.ubuntu.com/~ming/up/panda-dts.dmesg

Hmm looks like it boots to init. Maybe add initcall_debug to the cmdline in case there's some late_initcall that causes the issue. It's probably some trivial issue causing it.

Sricharan, maybe give this a quick try if you have the original pandaboard? I only have pandaboard es.

Regards,

Quoted 8 lines
Quoted 1 line

Tony

I tried your cleanup branch omap-for-v3.11/cleanup on panda board and it booted
to prompt fine.
Hardware: Pandaboard A1 dtb: omap4-panda.dtb

git pull on linux-next branch was not working though.

Ok, tested in linux-next as well and it booted fine with DTB.
HW: OMAP4430ES2.1 PANDA A1 version DTB: OMAP4-PANDA.DTB

Booted with ramdisk and mmc FS

commit c04efed734409f5a44715b54a6ca1b54b0ccf215

Author: Stephen Rothwell <[email protected]>
Date:   Fri Jun 7 16:40:02 2013 +1000

Add linux-next specific files for 20130607

Regards,
Sricharan

author maintainer
#25 lore raw

PATCH 2/6 ARM: OMAP2+: Remove board-omap4panda.c

Quoted 4 lines · Sricharan R
Quoted 4 lines

I tried your cleanup branch omap-for-v3.11/cleanup on panda board and it booted
to prompt fine.
Hardware: Pandaboard A1 dtb: omap4-panda.dtb

OK thanks for testing.

Quoted 5 lines
Quoted 2 lines

git pull on linux-next branch was not working though.

Ok, tested in linux-next as well and it booted fine with DTB.
HW: OMAP4430ES2.1 PANDA A1 version DTB: OMAP4-PANDA.DTB

Quoted 7 lines

Booted with ramdisk and mmc FS

commit c04efed734409f5a44715b54a6ca1b54b0ccf215

Author: Stephen Rothwell <[email protected]>
Date:   Fri Jun 7 16:40:02 2013 +1000

Add linux-next specific files for 20130607

OK thanks for testing that too. I don't think these patches are in linux-next yet. But still good to hear it works.

Ming Lei, any further info on your board?

Regards,

Tony

#26 lore raw

PATCH 2/6 ARM: OMAP2+: Remove board-omap4panda.c

Quoted 19 lines · Tony Lindgren
Quoted 4 lines · Sricharan R
Quoted 4 lines

I tried your cleanup branch omap-for-v3.11/cleanup on panda board and it booted
to prompt fine.
Hardware: Pandaboard A1 dtb: omap4-panda.dtb

OK thanks for testing.

Quoted 11 lines
Quoted 2 lines

git pull on linux-next branch was not working though.

Ok, tested in linux-next as well and it booted fine with DTB.
HW: OMAP4430ES2.1 PANDA A1 version DTB: OMAP4-PANDA.DTB

Booted with ramdisk and mmc FS

commit c04efed734409f5a44715b54a6ca1b54b0ccf215

Author: Stephen Rothwell <[email protected]>
Date:   Fri Jun 7 16:40:02 2013 +1000
Quoted 6 lines
Quoted 1 line

Add linux-next specific files for 20130607

OK thanks for testing that too. I don't think these patches are in linux-next yet. But still good to hear it works.

Ming Lei, any further info on your board?

OK, I will test the latest next tree to see if my board can work, and post the result.

Thanks,

Signature · 1 line
Ming Lei
#27 lore raw

PATCH 2/6 ARM: OMAP2+: Remove board-omap4panda.c

In reply to Sricharan R
Quoted 66 lines · Sricharan R
Quoted 54 lines · Sricharan R

Hi Tony,

Quoted 52 lines · Tony Lindgren
Quoted 39 lines · Tony Lindgren
Quoted 38 lines · Ming Lei

Hi,

Quoted 22 lines · Tony Lindgren

We can now boot with device tree. If you don't want to update u-boot, you can boot with appended DTB with the following instructions:

1. Make sure you have the appended DTB support in .config

CONFIG_ARM_APPENDED_DTB=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y

2. Build the zImage

   $ ARCH=arm CROSS_COMPILE=... make zImage

3. Build the device tree blobs

   $ ARCH=arm CROSS_COMPILE=... make dtbs

4. Append the correct panda dtb to zImage

Depending on your hardware it's omap4-panda.dtb, omap4-panda-a4.dtb or omap4-panda-es.dtb.

Quoted 6 lines
   $ cat arch/arm/boot/zImage arch/arm/boot/dts/omap4-panda-es.dtb > /tmp/appended

5. Use mkimage to produce the appended device tree uImage

   $ mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 \
     -n "Linux" -d /tmp/appended /tmp/uImage

I followed the above steps and tried devicetree on Pandaboard against 3.10.0-rc3-next-20130528, and the board will hang during boot, but works well with legacy mode.

Hardware: Pandaboard A1
dtb: omap4-panda.dtb

Quoted 7 lines
Quoted 4 lines

See 'dmesg' on below link:

http://kernel.ubuntu.com/~ming/up/panda-dts.dmesg

Hmm looks like it boots to init. Maybe add initcall_debug to the cmdline in case there's some late_initcall that causes the issue. It's probably some trivial issue causing it.

Sricharan, maybe give this a quick try if you have the original pandaboard? I only have pandaboard es.

Regards,

Quoted 8 lines
Quoted 1 line

Tony

I tried your cleanup branch omap-for-v3.11/cleanup on panda board and it booted
to prompt fine.
Hardware: Pandaboard A1 dtb: omap4-panda.dtb

git pull on linux-next branch was not working though.

Ok, tested in linux-next as well and it booted fine with DTB.
HW: OMAP4430ES2.1 PANDA A1 version DTB: OMAP4-PANDA.DTB

Quoted 7 lines

Booted with ramdisk and mmc FS

commit c04efed734409f5a44715b54a6ca1b54b0ccf215

Author: Stephen Rothwell <[email protected]>
Date:   Fri Jun 7 16:40:02 2013 +1000

Add linux-next specific files for 20130607

Looks linux-next-20130607 is broken, see below:

LD [M] drivers/usb/gadget/g_ncm.o
drivers/usb/musb/omap2430.c: In function 'omap2430_probe':
drivers/usb/musb/omap2430.c:571:2: error: 'musb_resources' undeclared (first use in this function) drivers/usb/musb/omap2430.c:571:2: note: each undeclared identifier is reported only once for each function it appears in drivers/usb/musb/omap2430.c:571:2: error: bit-field '<anonymous>' width not an integer constant drivers/usb/musb/omap2430.c:585:4: error: bit-field '<anonymous>' width not an integer constant
make[3]: *** [drivers/usb/musb/omap2430.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [drivers/usb/musb] Error 2
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [drivers/usb] Error 2
make: *** [drivers] Error 2
install kernel and modules

DEPMOD 3.10.0-rc4-next-20130607+

Thanks,

Signature · 1 line
Ming Lei
#28 lore raw

PATCH 2/6 ARM: OMAP2+: Remove board-omap4panda.c

Quoted 95 lines · Ming Lei
Quoted 66 lines · Sricharan R
Quoted 54 lines · Sricharan R

Hi Tony,

Quoted 52 lines · Tony Lindgren
Quoted 39 lines · Tony Lindgren
Quoted 38 lines · Ming Lei

Hi,

Quoted 22 lines · Tony Lindgren

We can now boot with device tree. If you don't want to update u-boot, you can boot with appended DTB with the following instructions:

1. Make sure you have the appended DTB support in .config

CONFIG_ARM_APPENDED_DTB=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y

2. Build the zImage

   $ ARCH=arm CROSS_COMPILE=... make zImage

3. Build the device tree blobs

   $ ARCH=arm CROSS_COMPILE=... make dtbs

4. Append the correct panda dtb to zImage

Depending on your hardware it's omap4-panda.dtb, omap4-panda-a4.dtb or omap4-panda-es.dtb.

Quoted 6 lines
   $ cat arch/arm/boot/zImage arch/arm/boot/dts/omap4-panda-es.dtb > /tmp/appended

5. Use mkimage to produce the appended device tree uImage

   $ mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 \
     -n "Linux" -d /tmp/appended /tmp/uImage

I followed the above steps and tried devicetree on Pandaboard against 3.10.0-rc3-next-20130528, and the board will hang during boot, but works well with legacy mode.

Hardware: Pandaboard A1
dtb: omap4-panda.dtb

Quoted 7 lines
Quoted 4 lines

See 'dmesg' on below link:

http://kernel.ubuntu.com/~ming/up/panda-dts.dmesg

Hmm looks like it boots to init. Maybe add initcall_debug to the cmdline in case there's some late_initcall that causes the issue. It's probably some trivial issue causing it.

Sricharan, maybe give this a quick try if you have the original pandaboard? I only have pandaboard es.

Regards,

Quoted 8 lines
Quoted 1 line

Tony

I tried your cleanup branch omap-for-v3.11/cleanup on panda board and it booted
to prompt fine.
Hardware: Pandaboard A1 dtb: omap4-panda.dtb

git pull on linux-next branch was not working though.

Ok, tested in linux-next as well and it booted fine with DTB.
HW: OMAP4430ES2.1 PANDA A1 version DTB: OMAP4-PANDA.DTB

Quoted 7 lines

Booted with ramdisk and mmc FS

commit c04efed734409f5a44715b54a6ca1b54b0ccf215

Author: Stephen Rothwell <[email protected]>
Date:   Fri Jun 7 16:40:02 2013 +1000

Add linux-next specific files for 20130607

Looks linux-next-20130607 is broken, see below:

LD [M] drivers/usb/gadget/g_ncm.o
drivers/usb/musb/omap2430.c: In function 'omap2430_probe':
drivers/usb/musb/omap2430.c:571:2: error: 'musb_resources' undeclared (first use in this function) drivers/usb/musb/omap2430.c:571:2: note: each undeclared identifier is reported only once for each function it appears in drivers/usb/musb/omap2430.c:571:2: error: bit-field '<anonymous>' width not an integer constant drivers/usb/musb/omap2430.c:585:4: error: bit-field '<anonymous>' width not an integer constant
make[3]: *** [drivers/usb/musb/omap2430.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [drivers/usb/musb] Error 2
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [drivers/usb] Error 2
make: *** [drivers] Error 2
install kernel and modules

Quoted 1 line

DEPMOD 3.10.0-rc4-next-20130607+

Even I disable musb so that kernel building is OK, but the kernel with dtb still can't boot, see attachment 'dmesg' and config.

Thanks,

Signature · 12 lines
Ming Lei
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: pandaA1-20130607-2.txt
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130614/92e61811/attachment-0001.txt>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: config.tar.gz
Type: application/x-gzip
Size: 19691 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130614/92e61811/attachment-0001.bin>
#29 lore raw

PATCH 2/6 ARM: OMAP2+: Remove board-omap4panda.c

Quoted 94 lines · Ming Lei
Quoted 93 lines · Ming Lei
Quoted 65 lines · Sricharan R
Quoted 52 lines · Sricharan R

Hi Tony,

Quoted 50 lines · Tony Lindgren
Quoted 39 lines · Tony Lindgren
Quoted 38 lines · Ming Lei

Hi,

Quoted 22 lines · Tony Lindgren

We can now boot with device tree. If you don't want to update u-boot, you can boot with appended DTB with the following instructions:

1. Make sure you have the appended DTB support in .config

CONFIG_ARM_APPENDED_DTB=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y

2. Build the zImage

   $ ARCH=arm CROSS_COMPILE=... make zImage

3. Build the device tree blobs

   $ ARCH=arm CROSS_COMPILE=... make dtbs

4. Append the correct panda dtb to zImage

Depending on your hardware it's omap4-panda.dtb, omap4-panda-a4.dtb or omap4-panda-es.dtb.

Quoted 6 lines
   $ cat arch/arm/boot/zImage arch/arm/boot/dts/omap4-panda-es.dtb > /tmp/appended

5. Use mkimage to produce the appended device tree uImage

   $ mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 \
     -n "Linux" -d /tmp/appended /tmp/uImage

I followed the above steps and tried devicetree on Pandaboard against 3.10.0-rc3-next-20130528, and the board will hang during boot, but works well with legacy mode.

Hardware: Pandaboard A1
dtb: omap4-panda.dtb

Quoted 7 lines
Quoted 4 lines

See 'dmesg' on below link:

http://kernel.ubuntu.com/~ming/up/panda-dts.dmesg

Hmm looks like it boots to init. Maybe add initcall_debug to the cmdline in case there's some late_initcall that causes the issue. It's probably some trivial issue causing it.

Sricharan, maybe give this a quick try if you have the original pandaboard? I only have pandaboard es.

Quoted 9 lines
Quoted 3 lines

Regards,

Tony

I tried your cleanup branch omap-for-v3.11/cleanup on panda board and it booted
to prompt fine.
Hardware: Pandaboard A1 dtb: omap4-panda.dtb

git pull on linux-next branch was not working though.

Ok, tested in linux-next as well and it booted fine with DTB.
HW: OMAP4430ES2.1 PANDA A1 version DTB: OMAP4-PANDA.DTB

Quoted 7 lines

Booted with ramdisk and mmc FS

commit c04efed734409f5a44715b54a6ca1b54b0ccf215

Author: Stephen Rothwell <[email protected]>
Date:   Fri Jun 7 16:40:02 2013 +1000

Add linux-next specific files for 20130607

Looks linux-next-20130607 is broken, see below:

LD [M] drivers/usb/gadget/g_ncm.o
drivers/usb/musb/omap2430.c: In function 'omap2430_probe':
drivers/usb/musb/omap2430.c:571:2: error: 'musb_resources' undeclared (first use in this function) drivers/usb/musb/omap2430.c:571:2: note: each undeclared identifier is reported only once for each function it appears in drivers/usb/musb/omap2430.c:571:2: error: bit-field '<anonymous>' width not an integer constant drivers/usb/musb/omap2430.c:585:4: error: bit-field '<anonymous>' width not an integer constant
make[3]: *** [drivers/usb/musb/omap2430.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [drivers/usb/musb] Error 2
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [drivers/usb] Error 2
make: *** [drivers] Error 2
install kernel and modules

Quoted 6 lines
Quoted 1 line

DEPMOD 3.10.0-rc4-next-20130607+

Even I disable musb so that kernel building is OK, but the kernel with dtb still can't boot, see attachment 'dmesg' and config.

Thanks,

I am not sure how both of us are different. I was testing 20130607 with
an omap2plusdefconfig. Also i was using a minimal busy box file system..

Is there anything specific FS that you want me to try ? I am using the latest u-boot version.

U-Boot SPL 2013.07-rc1-00010-gdfdb3d3 (Jun 17 2013 - 13:09:51) OMAP4430 ES2.1
OMAP SD/MMC: 0
reading u-boot.img
reading u-boot.img

U-Boot 2013.07-rc1-00010-gdfdb3d3 (Jun 17 2013 - 13:09:51)

CPU  : OMAP4430 ES2.1
Board: OMAP4 Panda
I2C:   ready
DRAM:  1 GiB
MMC:   OMAP SD/MMC: 0

Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   No ethernet found.
Hit any key to stop autoboot:  0

Panda #
Panda # setenv bootargs root=/dev/ram0 rw console=ttyO2,115200n8 initrd=0x81600000,20M ramdisk_size=20480 earlyprintk Panda # mmc dev 0
mmc0 is current device
Panda # fatload mmc 0 0x80300000 uImage
reading uImage
4394007 bytes read in 300 ms (14 MiB/s)
Panda # fatload mmc 0 0x81600000 bb.raw
reading bb.raw
10240000 bytes read in 722 ms (13.5 MiB/s)
Panda # bootm 0x80300000
## Booting kernel from Legacy Image at 80300000 ...

   Image Name:   Linux
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4393943 Bytes = 4.2 MiB

Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 3.10.0-rc4-next-20130607 (a0393807 at uda0393807) (gcc version 4.6.3 (Sourcery CodeBench Lite 2012.03-57) ) #18 SMP Mon Jun 17 12:55:05 IST 2013
[    0.000000] CPU: ARMv7 Processor [411fc092] revision 2 (ARMv7), cr=10c53c7d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine: OMAP4 Panda board
[    0.000000] cma: CMA: reserved 16 MiB at ae800000
[    0.000000] Memory policy: ECC disabled, Data cache writealloc
[    0.000000] OMAP4430 ES2.1
[    0.000000] PERCPU: Embedded 9 pages/cpu @c15d5000 s13440 r8192 d15232 u36864
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260368
[    0.000000] Kernel command line: root=/dev/ram0 rw console=ttyO2,115200n8 initrd=0x81600000,20M ramdisk_size=20480 earlyprintk
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Memory: 987436K/1047552K available (5619K kernel code, 603K rwdata, 1908K rodata, 393K init, 5521K bss, 60116K reserved, 269312K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc07620e8   (7529 kB)
[    0.000000]       .init : 0xc0763000 - 0xc07c5480   ( 394 kB)
[    0.000000]       .data : 0xc07c6000 - 0xc085ccc8   ( 604 kB)
[    0.000000]        .bss : 0xc085ccc8 - 0xc0dc10f0   (5522 kB)
[    0.000000] Hierarchical RCU implementation.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] OMAP clockevent source: timer1 at 32768 Hz
[    0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 131071999ms
[    0.000000] OMAP clocksource: 32k_counter at 32768 Hz
[    0.000000] Console: colour dummy device 80x30
[    0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[    0.000000] ... MAX_LOCKDEP_SUBCLASSES:  8
[    0.000000] ... MAX_LOCK_DEPTH:          48
[    0.000000] ... MAX_LOCKDEP_KEYS:        8191
[    0.000000] ... CLASSHASH_SIZE:          4096
[    0.000000] ... MAX_LOCKDEP_ENTRIES:     16384
[    0.000000] ... MAX_LOCKDEP_CHAINS:      32768
[    0.000000] ... CHAINHASH_SIZE:          16384
[    0.000000]  memory used by lock dependency info: 3695 kB
[    0.000000]  per task-struct memory footprint: 1152 bytes
[    0.001403] Calibrating delay loop... 1191.11 BogoMIPS (lpj=5955584)
[    0.079742] pid_max: default: 32768 minimum: 301
[    0.080535] Security Framework initialized
[    0.080780] Mount-cache hash table entries: 512
[    0.085571] CPU: Testing write buffer coherency: ok
[    0.087493] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.087829] Setting up static identity map for 0xc0556058 - 0xc05560c8
[    0.087890] L310 cache controller enabled
[    0.087921] l2x0: 16 ways, CACHE_ID 0x410000c4, AUX_CTRL 0x7e470000, Cache size: 1048576 B
[    0.093048] CPU1: Booted secondary processor
[    0.177764] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.178283] Brought up 2 CPUs
[    0.178314] SMP: Total of 2 processors activated (2387.96 BogoMIPS).
[    0.178314] CPU: All CPU(s) started in SVC mode.
[    0.181152] devtmpfs: initialized
[    0.254455] pinctrl core: initialized pinctrl subsystem
[    0.258117] regulator-dummy: no parameters
[    0.261657] NET: Registered protocol family 16
[    0.270538] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.272033] omap-gpmc omap-gpmc: GPMC revision 6.0
[    0.281036] OMAP GPIO hardware version 0.1
[    0.295837] omap_mux_init: Add partition: #1: core, flags: 3
[    0.298095] omap_mux_init: Add partition: #2: wkup, flags: 3
[    0.298309] error setting wl12xx data: -38
[    0.298583] omap_mux_get_by_name: Could not find signal sys_nirq
[    0.303375] omap_mux_get_by_name: Could not find signal uart1_rx.uart1_rx
[    0.384521] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[    0.384521] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.398803] OMAP DMA hardware revision 0.0
[    0.402832] ARM PMU: not yet supported on OMAP4430 due to missing CTI driver
[    0.449371] bio: create slab <bio-0> at 0
[    0.514038] omap-dma-engine omap-dma-engine: OMAP DMA engine driver
[    0.515258] vwl1271: 1800 mV
[    0.516174] hsusb1_reset: 3300 mV
[    0.516967] hsusb1_vcc: 3300 mV
[    0.522064] SCSI subsystem initialized
[    0.523773] usbcore: registered new interface driver usbfs
[    0.524139] usbcore: registered new interface driver hub
[    0.524658] usbcore: registered new device driver usb
[    0.528869] omap_i2c omap_i2c.1: bus 1 rev0.10 at 400 kHz
[    0.529907] omap_i2c omap_i2c.2: bus 2 rev0.10 at 400 kHz
[    0.531280] omap_i2c omap_i2c.3: bus 3 rev0.10 at 100 kHz
[    0.532226] omap_i2c omap_i2c.4: bus 4 rev0.10 at 400 kHz
[    0.538391] Switching to clocksource 32k_counter
[    0.655364] NET: Registered protocol family 2
[    0.657409] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[    0.657806] TCP bind hash table entries: 8192 (order: 6, 294912 bytes)
[    0.660980] TCP: Hash tables configured (established 8192 bind 8192)
[    0.661315] TCP: reno registered
[    0.661346] UDP hash table entries: 512 (order: 3, 40960 bytes)
[    0.661773] UDP-Lite hash table entries: 512 (order: 3, 40960 bytes)
[    0.663421] NET: Registered protocol family 1
[    0.664733] RPC: Registered named UNIX socket transport module.
[    0.664764] RPC: Registered udp transport module.
[    0.664764] RPC: Registered tcp transport module.
[    0.664764] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.665740] Trying to unpack rootfs image as initramfs...
[    0.666931] rootfs image is not initramfs (junk in compressed archive); looks like an initrd
[    0.819061] Freeing initrd memory: 20480K (c1600000 - c2a00000)
[    0.819183] NetWinder Floating Point Emulator V0.97 (double precision)
[    1.007995] bounce pool size: 64 pages
[    1.008575] VFS: Disk quotas dquot_6.5.2
[    1.009033] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    1.011779] NFS: Registering the id_resolver key type
[    1.012207] Key type id_resolver registered
[    1.012237] Key type id_legacy registered
[    1.012390] jffs2: version 2.2. (NAND) (SUMMARY)  ? 2001-2006 Red Hat, Inc.
[    1.013031] msgmni has been set to 1474
[    1.016387] io scheduler noop registered
[    1.016418] io scheduler deadline registered
[    1.016510] io scheduler cfq registered (default)
[    1.020660] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    1.027069] omap_uart.0: ttyO0 at MMIO 0x4806a000 (irq = 104) is a OMAP UART0
[    1.029296] omap_uart.1: ttyO1 at MMIO 0x4806c000 (irq = 105) is a OMAP UART1
[    1.030670] omap_uart.2: ttyO2 at MMIO 0x48020000 (irq = 106) is a OMAP UART2
[    1.724426] console [ttyO2] enabled
[    1.729583] omap_uart.3: ttyO3 at MMIO 0x4806e000 (irq = 102) is a OMAP UART3
[    1.765686] brd: module loaded
[    1.784973] loop: module loaded
[    1.791503] Skipping twl internal clock init and using bootloader value (unknown osc rate)
[    1.802978] twl 1-0048: PIH (irq 39) chaining IRQs 418..438
[    1.811218] VUSB: 3300 mV normal standby
[    1.816864] vdd_mpu: 500 <--> 1500 mV normal
[    1.823730] vdd_iva: 500 <--> 1500 mV normal
[    1.829803] vdd_core: 500 <--> 1500 mV normal
[    1.836334] V1V8: 1800 mV normal standby
[    1.841979] V2V1: 2100 mV normal standby
[    1.847717] VMMC: 1200 <--> 3000 mV at 3000 mV normal standby
[    1.855773] VPP: 1800 <--> 2500 mV at 1900 mV normal standby
[    1.864196] VCXIO: 1800 mV normal standby
[    1.868499] VCXIO: supplied by V2V1
[    1.875030] VDAC: 1800 mV normal standby
[    1.879333] VDAC: supplied by V2V1
[    1.885223] VAUX2_6030: 1200 <--> 2800 mV at 1800 mV normal standby
[    1.893768] VAUX3_6030: 1000 <--> 3000 mV at 1200 mV normal standby
[    1.903076] VANA: 2100 mV normal standby
[    1.917877] mtdoops: mtd device (mtddev=name/number) must be supplied
[    1.934997] usbcore: registered new interface driver asix
[    1.941284] usbcore: registered new interface driver ax88179_178a
[    1.948089] usbcore: registered new interface driver cdc_ether
[    1.954681] usbcore: registered new interface driver smsc95xx
[    1.961242] usbcore: registered new interface driver net1080
[    1.967559] usbcore: registered new interface driver cdc_subset
[    1.974243] usbcore: registered new interface driver zaurus
[    1.980621] usbcore: registered new interface driver cdc_ncm
[    1.988220] usbcore: registered new interface driver cdc_wdm
[    1.994659] usbcore: registered new interface driver usb-storage
[    2.001464] usbcore: registered new interface driver usbtest
[    2.009277] mousedev: PS/2 mouse device common for all mice
[    2.020721] twl_rtc twl_rtc: Enabling TWL-RTC
[    2.030181] twl_rtc twl_rtc: rtc core: registered twl_rtc as rtc0
[    2.059692] i2c /dev entries driver
[    2.067108] Driver for 1-wire Dallas network protocol.
[    2.076293] omap_wdt: OMAP Watchdog Timer Rev 0x00: initial timeout 60 sec
[    2.086364] omap-dma-engine omap-dma-engine: allocating channel for 62
[    2.093414] omap-dma-engine omap-dma-engine: allocating channel for 61
[    2.139251] omap-dma-engine omap-dma-engine: allocating channel for 60
[    2.146209] omap-dma-engine omap-dma-engine: allocating channel for 59
[    2.262664] ledtrig-cpu: registered to indicate activity on CPUs
[    2.270233] usbcore: registered new interface driver usbhid
[    2.276153] usbhid: USB HID core driver
[    2.281402] oprofile: no performance counters
[    2.288024] oprofile: using timer interrupt.
[    2.293334] TCP: cubic registered
[    2.296844] Initializing XFRM netlink socket
[    2.301544] NET: Registered protocol family 17
[    2.306365] NET: Registered protocol family 15
[    2.311614] Key type dns_resolver registered
[    2.316284] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 1
[    2.334320] Power Management for TI OMAP4.
[    2.338684] OMAP4 PM: u-boot >= v2012.07 is required for full PM support
[    2.346069] ThumbEE CPU extension supported.
[    2.354187] VANA: incomplete constraints, leaving on
[    2.361175] VDAC: incomplete constraints, leaving on
[    2.367614] VUSB: incomplete constraints, leaving on
[    2.377258] twl_rtc twl_rtc: setting system clock to 2000-01-01 00:03:17 UTC (946684997)
[    2.388793] RAMDISK: ext2 filesystem found at block 0
[    2.395324] RAMDISK: Loading 10000KiB [1 disk] into ram disk... [    2.410461] mmc0: host does not support reading read-only switch. assuming write-enable.
[    2.424896] mmc0: new high speed SD card at address 0002
[    2.436248] mmcblk0: mmc0:0002 00000 1.86 GiB
[    2.455200]  mmcblk0: p1 p2
done.
[    2.858886] EXT2-fs (ram0): warning: mounting unchecked fs, running e2fsck is recommended
[    2.858886] VFS: Mounted root (ext2 filesystem) on device 1:0.
[    2.874725] devtmpfs: mounted
[    2.879028] Freeing unused kernel memory: 392K (c0763000 - c07c5000)

Mounting proc : OK
Mounting sysfs : OK
Mounting /dev : OK
Creating local mdev devices
umount: can't umount /mnt/mmc: Invalid argument

******************************************
Starting System Init for 6430EVM-6430
Release: OpnSrc
******************************************
Saving kernel ring buffer : OK
Mounting devpts : OK
Setting up networking
Configuring lo : OK
Configuring eth0 : ifconfig: eth0: error fetching interface information: Device not found
ifup: can't open '/etc/network/interfaces': No such file or directory
Failed
Starting syslogd : OK
Starting klogd : OK
Mounting filesystems : mount: according to /proc/mounts, none is already mounted on /dev/pts
mount: according to /proc/mounts, /proc is already mounted on /proc
OK

Please press Enter to activate this console.
#

Regards,
Sricharan

#30 lore raw

PATCH 2/6 ARM: OMAP2+: Remove board-omap4panda.c

Sricharan R <[email protected]> writes:

Hi,

[...]

Quoted 196 lines

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 3.10.0-rc4-next-20130607 (a0393807 at uda0393807) (gcc version 4.6.3 (Sourcery CodeBench Lite 2012.03-57) ) #18 SMP Mon Jun 17 12:55:05 IST 2013
[    0.000000] CPU: ARMv7 Processor [411fc092] revision 2 (ARMv7), cr=10c53c7d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine: OMAP4 Panda board
[    0.000000] cma: CMA: reserved 16 MiB at ae800000
[    0.000000] Memory policy: ECC disabled, Data cache writealloc
[    0.000000] OMAP4430 ES2.1
[    0.000000] PERCPU: Embedded 9 pages/cpu @c15d5000 s13440 r8192 d15232 u36864
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260368
[    0.000000] Kernel command line: root=/dev/ram0 rw console=ttyO2,115200n8 initrd=0x81600000,20M ramdisk_size=20480 earlyprintk
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Memory: 987436K/1047552K available (5619K kernel code, 603K rwdata, 1908K rodata, 393K init, 5521K bss, 60116K reserved, 269312K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc07620e8   (7529 kB)
[    0.000000]       .init : 0xc0763000 - 0xc07c5480   ( 394 kB)
[    0.000000]       .data : 0xc07c6000 - 0xc085ccc8   ( 604 kB)
[    0.000000]        .bss : 0xc085ccc8 - 0xc0dc10f0   (5522 kB)
[    0.000000] Hierarchical RCU implementation.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] OMAP clockevent source: timer1 at 32768 Hz
[    0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 131071999ms
[    0.000000] OMAP clocksource: 32k_counter at 32768 Hz
[    0.000000] Console: colour dummy device 80x30
[    0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[    0.000000] ... MAX_LOCKDEP_SUBCLASSES:  8
[    0.000000] ... MAX_LOCK_DEPTH:          48
[    0.000000] ... MAX_LOCKDEP_KEYS:        8191
[    0.000000] ... CLASSHASH_SIZE:          4096
[    0.000000] ... MAX_LOCKDEP_ENTRIES:     16384
[    0.000000] ... MAX_LOCKDEP_CHAINS:      32768
[    0.000000] ... CHAINHASH_SIZE:          16384
[    0.000000]  memory used by lock dependency info: 3695 kB
[    0.000000]  per task-struct memory footprint: 1152 bytes
[    0.001403] Calibrating delay loop... 1191.11 BogoMIPS (lpj=5955584)
[    0.079742] pid_max: default: 32768 minimum: 301
[    0.080535] Security Framework initialized
[    0.080780] Mount-cache hash table entries: 512
[    0.085571] CPU: Testing write buffer coherency: ok
[    0.087493] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.087829] Setting up static identity map for 0xc0556058 - 0xc05560c8
[    0.087890] L310 cache controller enabled
[    0.087921] l2x0: 16 ways, CACHE_ID 0x410000c4, AUX_CTRL 0x7e470000, Cache size: 1048576 B
[    0.093048] CPU1: Booted secondary processor
[    0.177764] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.178283] Brought up 2 CPUs
[    0.178314] SMP: Total of 2 processors activated (2387.96 BogoMIPS).
[    0.178314] CPU: All CPU(s) started in SVC mode.
[    0.181152] devtmpfs: initialized
[    0.254455] pinctrl core: initialized pinctrl subsystem
[    0.258117] regulator-dummy: no parameters
[    0.261657] NET: Registered protocol family 16
[    0.270538] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.272033] omap-gpmc omap-gpmc: GPMC revision 6.0
[    0.281036] OMAP GPIO hardware version 0.1
[    0.295837] omap_mux_init: Add partition: #1: core, flags: 3
[    0.298095] omap_mux_init: Add partition: #2: wkup, flags: 3
[    0.298309] error setting wl12xx data: -38
[    0.298583] omap_mux_get_by_name: Could not find signal sys_nirq
[    0.303375] omap_mux_get_by_name: Could not find signal uart1_rx.uart1_rx
[    0.384521] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[    0.384521] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.398803] OMAP DMA hardware revision 0.0
[    0.402832] ARM PMU: not yet supported on OMAP4430 due to missing CTI driver
[    0.449371] bio: create slab <bio-0> at 0
[    0.514038] omap-dma-engine omap-dma-engine: OMAP DMA engine driver
[    0.515258] vwl1271: 1800 mV
[    0.516174] hsusb1_reset: 3300 mV
[    0.516967] hsusb1_vcc: 3300 mV
[    0.522064] SCSI subsystem initialized
[    0.523773] usbcore: registered new interface driver usbfs
[    0.524139] usbcore: registered new interface driver hub
[    0.524658] usbcore: registered new device driver usb
[    0.528869] omap_i2c omap_i2c.1: bus 1 rev0.10 at 400 kHz
[    0.529907] omap_i2c omap_i2c.2: bus 2 rev0.10 at 400 kHz
[    0.531280] omap_i2c omap_i2c.3: bus 3 rev0.10 at 100 kHz
[    0.532226] omap_i2c omap_i2c.4: bus 4 rev0.10 at 400 kHz
[    0.538391] Switching to clocksource 32k_counter
[    0.655364] NET: Registered protocol family 2
[    0.657409] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[    0.657806] TCP bind hash table entries: 8192 (order: 6, 294912 bytes)
[    0.660980] TCP: Hash tables configured (established 8192 bind 8192)
[    0.661315] TCP: reno registered
[    0.661346] UDP hash table entries: 512 (order: 3, 40960 bytes)
[    0.661773] UDP-Lite hash table entries: 512 (order: 3, 40960 bytes)
[    0.663421] NET: Registered protocol family 1
[    0.664733] RPC: Registered named UNIX socket transport module.
[    0.664764] RPC: Registered udp transport module.
[    0.664764] RPC: Registered tcp transport module.
[    0.664764] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.665740] Trying to unpack rootfs image as initramfs...
[    0.666931] rootfs image is not initramfs (junk in compressed archive); looks like an initrd
[    0.819061] Freeing initrd memory: 20480K (c1600000 - c2a00000)
[    0.819183] NetWinder Floating Point Emulator V0.97 (double precision)
[    1.007995] bounce pool size: 64 pages
[    1.008575] VFS: Disk quotas dquot_6.5.2
[    1.009033] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    1.011779] NFS: Registering the id_resolver key type
[    1.012207] Key type id_resolver registered
[    1.012237] Key type id_legacy registered
[    1.012390] jffs2: version 2.2. (NAND) (SUMMARY)  ? 2001-2006 Red Hat, Inc.
[    1.013031] msgmni has been set to 1474
[    1.016387] io scheduler noop registered
[    1.016418] io scheduler deadline registered
[    1.016510] io scheduler cfq registered (default)
[    1.020660] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    1.027069] omap_uart.0: ttyO0 at MMIO 0x4806a000 (irq = 104) is a OMAP UART0
[    1.029296] omap_uart.1: ttyO1 at MMIO 0x4806c000 (irq = 105) is a OMAP UART1
[    1.030670] omap_uart.2: ttyO2 at MMIO 0x48020000 (irq = 106) is a OMAP UART2
[    1.724426] console [ttyO2] enabled
[    1.729583] omap_uart.3: ttyO3 at MMIO 0x4806e000 (irq = 102) is a OMAP UART3
[    1.765686] brd: module loaded
[    1.784973] loop: module loaded
[    1.791503] Skipping twl internal clock init and using bootloader value (unknown osc rate)
[    1.802978] twl 1-0048: PIH (irq 39) chaining IRQs 418..438
[    1.811218] VUSB: 3300 mV normal standby
[    1.816864] vdd_mpu: 500 <--> 1500 mV normal
[    1.823730] vdd_iva: 500 <--> 1500 mV normal
[    1.829803] vdd_core: 500 <--> 1500 mV normal
[    1.836334] V1V8: 1800 mV normal standby
[    1.841979] V2V1: 2100 mV normal standby
[    1.847717] VMMC: 1200 <--> 3000 mV at 3000 mV normal standby
[    1.855773] VPP: 1800 <--> 2500 mV at 1900 mV normal standby
[    1.864196] VCXIO: 1800 mV normal standby
[    1.868499] VCXIO: supplied by V2V1
[    1.875030] VDAC: 1800 mV normal standby
[    1.879333] VDAC: supplied by V2V1
[    1.885223] VAUX2_6030: 1200 <--> 2800 mV at 1800 mV normal standby
[    1.893768] VAUX3_6030: 1000 <--> 3000 mV at 1200 mV normal standby
[    1.903076] VANA: 2100 mV normal standby
[    1.917877] mtdoops: mtd device (mtddev=name/number) must be supplied
[    1.934997] usbcore: registered new interface driver asix
[    1.941284] usbcore: registered new interface driver ax88179_178a
[    1.948089] usbcore: registered new interface driver cdc_ether
[    1.954681] usbcore: registered new interface driver smsc95xx
[    1.961242] usbcore: registered new interface driver net1080
[    1.967559] usbcore: registered new interface driver cdc_subset
[    1.974243] usbcore: registered new interface driver zaurus
[    1.980621] usbcore: registered new interface driver cdc_ncm
[    1.988220] usbcore: registered new interface driver cdc_wdm
[    1.994659] usbcore: registered new interface driver usb-storage
[    2.001464] usbcore: registered new interface driver usbtest
[    2.009277] mousedev: PS/2 mouse device common for all mice
[    2.020721] twl_rtc twl_rtc: Enabling TWL-RTC
[    2.030181] twl_rtc twl_rtc: rtc core: registered twl_rtc as rtc0
[    2.059692] i2c /dev entries driver
[    2.067108] Driver for 1-wire Dallas network protocol.
[    2.076293] omap_wdt: OMAP Watchdog Timer Rev 0x00: initial timeout 60 sec
[    2.086364] omap-dma-engine omap-dma-engine: allocating channel for 62
[    2.093414] omap-dma-engine omap-dma-engine: allocating channel for 61
[    2.139251] omap-dma-engine omap-dma-engine: allocating channel for 60
[    2.146209] omap-dma-engine omap-dma-engine: allocating channel for 59
[    2.262664] ledtrig-cpu: registered to indicate activity on CPUs
[    2.270233] usbcore: registered new interface driver usbhid
[    2.276153] usbhid: USB HID core driver
[    2.281402] oprofile: no performance counters
[    2.288024] oprofile: using timer interrupt.
[    2.293334] TCP: cubic registered
[    2.296844] Initializing XFRM netlink socket
[    2.301544] NET: Registered protocol family 17
[    2.306365] NET: Registered protocol family 15
[    2.311614] Key type dns_resolver registered
[    2.316284] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 1
[    2.334320] Power Management for TI OMAP4.
[    2.338684] OMAP4 PM: u-boot >= v2012.07 is required for full PM support
[    2.346069] ThumbEE CPU extension supported.
[    2.354187] VANA: incomplete constraints, leaving on
[    2.361175] VDAC: incomplete constraints, leaving on
[    2.367614] VUSB: incomplete constraints, leaving on
[    2.377258] twl_rtc twl_rtc: setting system clock to 2000-01-01 00:03:17 UTC (946684997)
[    2.388793] RAMDISK: ext2 filesystem found at block 0
[    2.395324] RAMDISK: Loading 10000KiB [1 disk] into ram disk... [    2.410461] mmc0: host does not support reading read-only switch. assuming write-enable.
[    2.424896] mmc0: new high speed SD card at address 0002
[    2.436248] mmcblk0: mmc0:0002 00000 1.86 GiB
[    2.455200]  mmcblk0: p1 p2
done.
[    2.858886] EXT2-fs (ram0): warning: mounting unchecked fs, running e2fsck is recommended
[    2.858886] VFS: Mounted root (ext2 filesystem) on device 1:0.
[    2.874725] devtmpfs: mounted
[    2.879028] Freeing unused kernel memory: 392K (c0763000 - c07c5000)

Mounting proc : OK
Mounting sysfs : OK
Mounting /dev : OK
Creating local mdev devices
umount: can't umount /mnt/mmc: Invalid argument

Quoted 11 lines

******************************************
Starting System Init for 6430EVM-6430
Release: OpnSrc
******************************************
Saving kernel ring buffer : OK
Mounting devpts : OK
Setting up networking
Configuring lo : OK
Configuring eth0 : ifconfig: eth0: error fetching interface information: Device not found
ifup: can't open '/etc/network/interfaces': No such file or directory Failed

I hoped to have missed some mails and that people were testing pandabard support with full support but given what I see, the ethernet support is not there yet. This thread is about removing the non-DT boot. I see some contradiction here. Please, look again at what Thomas said in the IGEP thread:
breaking existing support is bad and removing non-DT boot for panda with not-working ethernet would exactly to that.

Yeah, I'm aware that some extra patches are being developped like the omap clocks one: https://patchwork.kernel.org/patch/2541331/ but they don't seem to be in -next. So, again, please, wait that all needed bits are merged mainline before killing non-DT support (or provide 'mixed' support like what is/was done on kirkwood)

Thanks,
Arnaud

#31 lore raw

PATCH 2/6 ARM: OMAP2+: Remove board-omap4panda.c

Quoted 8 lines · Arnaud Patard

Sricharan R <[email protected]> writes:

I hoped to have missed some mails and that people were testing pandabard support with full support but given what I see, the ethernet support is not there yet. This thread is about removing the non-DT boot. I see some contradiction here. Please, look again at what Thomas said in the IGEP thread:
breaking existing support is bad and removing non-DT boot for panda with not-working ethernet would exactly to that.

+1

Even no any USB support on Sricharan's setting.

Quoted 6 lines

Yeah, I'm aware that some extra patches are being developped like the omap clocks one: https://patchwork.kernel.org/patch/2541331/ but they don't seem to be in -next. So, again, please, wait that all needed bits are merged mainline before killing non-DT support (or provide 'mixed' support like what is/was done on kirkwood)

Agree, please don't be too quick, :-)

Thanks,

Signature · 1 line
Ming Lei
author maintainer
#32 lore raw

PATCH 2/6 ARM: OMAP2+: Remove board-omap4panda.c

Quoted 11 lines · Ming Lei
Quoted 8 lines · Arnaud Patard

Sricharan R <[email protected]> writes:

I hoped to have missed some mails and that people were testing pandabard support with full support but given what I see, the ethernet support is not there yet. This thread is about removing the non-DT boot. I see some contradiction here. Please, look again at what Thomas said in the IGEP thread:
breaking existing support is bad and removing non-DT boot for panda with not-working ethernet would exactly to that.

Quoted 3 lines

+1

Even no any USB support on Sricharan's setting.

That's also related to the auxclk. Let's see what Mike says before we start adding back any legacy hacks for it.

Quoted 7 lines
Quoted 5 lines

Yeah, I'm aware that some extra patches are being developped like the omap clocks one: https://patchwork.kernel.org/patch/2541331/ but they don't seem to be in -next. So, again, please, wait that all needed bits are merged mainline before killing non-DT support (or provide 'mixed' support like what is/was done on kirkwood)

Agree, please don't be too quick, :-)

Too quick? The basic DT based booting has been working for a few years now to some extent on omaps :)

Regards,

Tony

#33 lore raw

PATCH 2/6 ARM: OMAP2+: Remove board-omap4panda.c

Quoted 2 lines · Tony Lindgren

Too quick? The basic DT based booting has been working for a few years now to some extent on omaps :)

I mean it is OK to drop legacy mode now if it won't break old system. Otherwise, it is better to slow down the dropping legacy patch so that the board won't be one brick for us old board users, :-)

Thanks,

Signature · 1 line
Ming Lei
author maintainer
#34 lore raw

PATCH 2/6 ARM: OMAP2+: Remove board-omap4panda.c

Quoted 7 lines · Ming Lei
Quoted 2 lines · Tony Lindgren

Too quick? The basic DT based booting has been working for a few years now to some extent on omaps :)

I mean it is OK to drop legacy mode now if it won't break old system. Otherwise, it is better to slow down the dropping legacy patch so that the board won't be one brick for us old board users, :-)

Right, the plan is be able to use it naturally. The USB auxclk issue is fixable for DT boot, we just need to decide what's the best way to fix it.

Regards,

Tony

author maintainer
#35 lore raw

PATCH 2/6 ARM: OMAP2+: Remove board-omap4panda.c

In reply to Arnaud Patard (Rtp)
Quoted 7 lines · Arnaud Patard

I hoped to have missed some mails and that people were testing pandabard support with full support but given what I see, the ethernet support is not there yet. This thread is about removing the non-DT boot. I see some contradiction here. Please, look again at what Thomas said in the IGEP thread:
breaking existing support is bad and removing non-DT boot for panda with not-working ethernet would exactly to that.

Hmm yes I guess the panda needs the aux clock and there are various patches posted for that for quite a while but have not gotten merged.

When I did my patches it seemed that Nishant's and my solution for getting the auxclk via DT was acceptable. Then Mike started doing all the clocks in DT and things changed.

Mike, got any solution for us for v3.11 for the DT defined auxclk?

Quoted 5 lines

Yeah, I'm aware that some extra patches are being developped like the omap clocks one: https://patchwork.kernel.org/patch/2541331/ but they don't seem to be in -next. So, again, please, wait that all needed bits are merged mainline before killing non-DT support (or provide 'mixed' support like what is/was done on kirkwood)

The ethernet issue can be fixed with the legacy mode support in the worst case, but probably just adding a clock alias for it does the trick.

I'd rather not postpone making omap4 DT only because I think at this point fixing the any DT related issues is way less work compared to maintaining and testing both legacy boot and DT boot.

Regards,

Tony

#36 lore raw

PATCH 2/6 ARM: OMAP2+: Remove board-omap4panda.c

Tony Lindgren <[email protected]> writes:

Hi,

Quoted 11 lines · Arnaud Patard
Quoted 7 lines

I hoped to have missed some mails and that people were testing pandabard support with full support but given what I see, the ethernet support is not there yet. This thread is about removing the non-DT boot. I see some contradiction here. Please, look again at what Thomas said in the IGEP thread:
breaking existing support is bad and removing non-DT boot for panda with not-working ethernet would exactly to that.

Hmm yes I guess the panda needs the aux clock and there are various patches posted for that for quite a while but have not gotten merged.

yes, it needs aux clock, see: https://lkml.org/lkml/2013/4/19/124

Quoted 13 lines

When I did my patches it seemed that Nishant's and my solution for getting the auxclk via DT was acceptable. Then Mike started doing all the clocks in DT and things changed.

Mike, got any solution for us for v3.11 for the DT defined auxclk?

Quoted 5 lines

Yeah, I'm aware that some extra patches are being developped like the omap clocks one: https://patchwork.kernel.org/patch/2541331/ but they don't seem to be in -next. So, again, please, wait that all needed bits are merged mainline before killing non-DT support (or provide 'mixed' support like what is/was done on kirkwood)

Quoted 7 lines

The ethernet issue can be fixed with the legacy mode support in the worst case, but probably just adding a clock alias for it does the trick.

I'd rather not postpone making omap4 DT only because I think at this point fixing the any DT related issues is way less work compared to maintaining and testing both legacy boot and DT boot.

I understand your concerns but, please, cope with reality: the clock work is not in -next so this tends to make me think it won't reach 3.11. We're at -rc6 after all. Telling users that their system doesn't have any network because it was easier to maintain, is not something they will understand imho.

Regards,
Arnaud

author maintainer
#37 lore raw

PATCH 2/6 ARM: OMAP2+: Remove board-omap4panda.c

Quoted 7 lines · Arnaud Patard

Tony Lindgren <[email protected]> writes:

I understand your concerns but, please, cope with reality: the clock work is not in -next so this tends to make me think it won't reach 3.11. We're at -rc6 after all. Telling users that their system doesn't have any network because it was easier to maintain, is not something they will understand imho.

Right, like I said: the idea is to have it usable with DT. And USB and Ethernet certainly are part of what I call usable. So is MMC, WLAN and DSS. I've certainly spent quite a bit of time on making sure panda works with DT, and I can assure you that fixing the USB extclock is easier than supporting the legacy boot with DT :)

This issue can also be fixed with a clock alias if we don't have DT defined clocks ready for v3.11. It may take a few days for us to have the solution. But get getting a clock to a driver certainly is not a showstopper here. After all, that's what all drivers already do.

Regards,

Tony

author maintainer
#38 lore raw

PATCH 2/6 ARM: OMAP2+: Remove board-omap4panda.c

Quoted 15 lines · Tony Lindgren
Quoted 7 lines · Arnaud Patard

Tony Lindgren <[email protected]> writes:

I understand your concerns but, please, cope with reality: the clock work is not in -next so this tends to make me think it won't reach 3.11. We're at -rc6 after all. Telling users that their system doesn't have any network because it was easier to maintain, is not something they will understand imho.

Right, like I said: the idea is to have it usable with DT. And USB and Ethernet certainly are part of what I call usable. So is MMC, WLAN and DSS. I've certainly spent quite a bit of time on making sure panda works with DT, and I can assure you that fixing the USB extclock is easier than supporting the legacy boot with DT :)

Quoted 4 lines

This issue can also be fixed with a clock alias if we don't have DT defined clocks ready for v3.11. It may take a few days for us to have the solution. But get getting a clock to a driver certainly is not a showstopper here. After all, that's what all drivers already do.

Care to test the last patch just posted by Roger in thread " [PATCH 0/4] ARM: OMAP4: Panda USB Host support and DVI EDID fix"?

That adds a clock alias for the EHCI auxclk so it should continue working until we have the DT clock patches available.

Regards,

Tony

#39 lore raw

PATCH 2/6 ARM: OMAP2+: Remove board-omap4panda.c

Tony Lindgren <[email protected]> writes:

Hi,

Quoted 16 lines · Tony Lindgren
Quoted 15 lines · Arnaud Patard
Quoted 7 lines

Tony Lindgren <[email protected]> writes:

I understand your concerns but, please, cope with reality: the clock work is not in -next so this tends to make me think it won't reach 3.11. We're at -rc6 after all. Telling users that their system doesn't have any network because it was easier to maintain, is not something they will understand imho.

Right, like I said: the idea is to have it usable with DT. And USB and Ethernet certainly are part of what I call usable. So is MMC, WLAN and DSS. I've certainly spent quite a bit of time on making sure panda works with DT, and I can assure you that fixing the USB extclock is easier than supporting the legacy boot with DT :)

Quoted 7 lines
Quoted 4 lines

This issue can also be fixed with a clock alias if we don't have DT defined clocks ready for v3.11. It may take a few days for us to have the solution. But get getting a clock to a driver certainly is not a showstopper here. After all, that's what all drivers already do.

Care to test the last patch just posted by Roger in thread " [PATCH 0/4] ARM: OMAP4: Panda USB Host support and DVI EDID fix"?

I tried to test them but they don't apply on linux-next due to some pinctrl changes probably missing:
Error: arch/arm/boot/dts/omap4-panda-common.dtsi:177.14-15 syntax error

which corresponds to :
0x82 (PIN_INPUT_PULLDOWN | MUX_MODE4)

Also, the patch 3 (ARM: dts: omap5-uevm: Provide USB Host PHY clock) doesn't apply as the omap5-uevm.dts doesn't exist.

Which tree should I use to test the patches if it's not linux-next ?

Also, you might want to know that drivers/usb/musb/omap2430.c doesn't build due to some typos (musb_resources vs musb_resouces).

Arnaud

author maintainer
#40 lore raw

PATCH 2/6 ARM: OMAP2+: Remove board-omap4panda.c

Quoted 28 lines · Arnaud Patard

Tony Lindgren <[email protected]> writes:

Hi,

Quoted 16 lines · Tony Lindgren
Quoted 15 lines · Arnaud Patard
Quoted 7 lines

Tony Lindgren <[email protected]> writes:

I understand your concerns but, please, cope with reality: the clock work is not in -next so this tends to make me think it won't reach 3.11. We're at -rc6 after all. Telling users that their system doesn't have any network because it was easier to maintain, is not something they will understand imho.

Right, like I said: the idea is to have it usable with DT. And USB and Ethernet certainly are part of what I call usable. So is MMC, WLAN and DSS. I've certainly spent quite a bit of time on making sure panda works with DT, and I can assure you that fixing the USB extclock is easier than supporting the legacy boot with DT :)

Quoted 7 lines
Quoted 4 lines

This issue can also be fixed with a clock alias if we don't have DT defined clocks ready for v3.11. It may take a few days for us to have the solution. But get getting a clock to a driver certainly is not a showstopper here. After all, that's what all drivers already do.

Care to test the last patch just posted by Roger in thread " [PATCH 0/4] ARM: OMAP4: Panda USB Host support and DVI EDID fix"?

Quoted 6 lines

I tried to test them but they don't apply on linux-next due to some pinctrl changes probably missing:
Error: arch/arm/boot/dts/omap4-panda-common.dtsi:177.14-15 syntax error

which corresponds to :
0x82 (PIN_INPUT_PULLDOWN | MUX_MODE4)

Oops, right, that's in Benoit's branch too for the .dts preprocessing. Until it is merged, maybe try with Roger's earlier version of that patch that did not yet use the macros?

Quoted 2 lines

Also, the patch 3 (ARM: dts: omap5-uevm: Provide USB Host PHY clock) doesn't apply as the omap5-uevm.dts doesn't exist.

OK that's in Benoit's branch. But you won't need that one.

Quoted 4 lines

Which tree should I use to test the patches if it's not linux-next ?

Also, you might want to know that drivers/usb/musb/omap2430.c doesn't build due to some typos (musb_resources vs musb_resouces).

Thanks, I think Felipe is already aware of that.

Regards,

Tony

#41 lore raw

PATCH 2/6 ARM: OMAP2+: Remove board-omap4panda.c

Tony Lindgren <[email protected]> writes:

Hi,

Quoted 33 lines · Arnaud Patard
Quoted 32 lines

Tony Lindgren <[email protected]> writes:

Hi,

Quoted 16 lines · Tony Lindgren
Quoted 15 lines · Arnaud Patard
Quoted 7 lines

Tony Lindgren <[email protected]> writes:

I understand your concerns but, please, cope with reality: the clock work is not in -next so this tends to make me think it won't reach 3.11. We're at -rc6 after all. Telling users that their system doesn't have any network because it was easier to maintain, is not something they will understand imho.

Right, like I said: the idea is to have it usable with DT. And USB and Ethernet certainly are part of what I call usable. So is MMC, WLAN and DSS. I've certainly spent quite a bit of time on making sure panda works with DT, and I can assure you that fixing the USB extclock is easier than supporting the legacy boot with DT :)

Quoted 7 lines
Quoted 4 lines

This issue can also be fixed with a clock alias if we don't have DT defined clocks ready for v3.11. It may take a few days for us to have the solution. But get getting a clock to a driver certainly is not a showstopper here. After all, that's what all drivers already do.

Care to test the last patch just posted by Roger in thread " [PATCH 0/4] ARM: OMAP4: Panda USB Host support and DVI EDID fix"?

I tried to test them but they don't apply on linux-next due to some pinctrl changes probably missing:
Error: arch/arm/boot/dts/omap4-panda-common.dtsi:177.14-15 syntax error

Quoted 7 lines
Quoted 2 lines

which corresponds to :
0x82 (PIN_INPUT_PULLDOWN | MUX_MODE4)

Oops, right, that's in Benoit's branch too for the .dts preprocessing. Until it is merged, maybe try with Roger's earlier version of that patch that did not yet use the macros?

Right. I've changed the missing macros with their values and now, it compiles and I can even ping the board, so works for me.

Thanks,
Arnaud

author maintainer
#42 lore raw

PATCH 2/6 ARM: OMAP2+: Remove board-omap4panda.c

Quoted 40 lines · Arnaud Patard

Tony Lindgren <[email protected]> writes:

Hi,

Quoted 36 lines · Arnaud Patard
Quoted 34 lines

Tony Lindgren <[email protected]> writes:

Hi,

Quoted 16 lines · Tony Lindgren
Quoted 15 lines · Arnaud Patard
Quoted 7 lines

Tony Lindgren <[email protected]> writes:

I understand your concerns but, please, cope with reality: the clock work is not in -next so this tends to make me think it won't reach 3.11. We're at -rc6 after all. Telling users that their system doesn't have any network because it was easier to maintain, is not something they will understand imho.

Right, like I said: the idea is to have it usable with DT. And USB and Ethernet certainly are part of what I call usable. So is MMC, WLAN and DSS. I've certainly spent quite a bit of time on making sure panda works with DT, and I can assure you that fixing the USB extclock is easier than supporting the legacy boot with DT :)

Quoted 7 lines
Quoted 4 lines

This issue can also be fixed with a clock alias if we don't have DT defined clocks ready for v3.11. It may take a few days for us to have the solution. But get getting a clock to a driver certainly is not a showstopper here. After all, that's what all drivers already do.

Care to test the last patch just posted by Roger in thread " [PATCH 0/4] ARM: OMAP4: Panda USB Host support and DVI EDID fix"?

I tried to test them but they don't apply on linux-next due to some pinctrl changes probably missing:
Error: arch/arm/boot/dts/omap4-panda-common.dtsi:177.14-15 syntax error

which corresponds to :
0x82 (PIN_INPUT_PULLDOWN | MUX_MODE4)

Quoted 7 lines
Quoted 4 lines

Oops, right, that's in Benoit's branch too for the .dts preprocessing. Until it is merged, maybe try with Roger's earlier version of that patch that did not yet use the macros?

Right. I've changed the missing macros with their values and now, it compiles and I can even ping the board, so works for me.

Good to hear thanks. Sounds like we should have things mostly working with DT in mainline kernel by v3.11-rc1. I'm sure some minor fixes will be needed as more people start using it, but they should be all fixable either by binding changes, or by initializing missing things using platform data.

Regards,

Tony

author maintainer
#43 lore raw

PATCH 3/6 ARM: OMAP2+: Remove legacy mux data for omap4

In reply to Tony Lindgren

We can now boot with devicetree and muxing can be done with pinctrl-single.c.

---
 arch/arm/mach-omap2/Kconfig   |    6 
 arch/arm/mach-omap2/Makefile  |    1 
 arch/arm/mach-omap2/mux.h     |    3 
 arch/arm/mach-omap2/mux44xx.c | 1356 -----------------------------------------
 arch/arm/mach-omap2/mux44xx.h |  298 ---------
 5 files changed, 1664 deletions(-)
 delete mode 100644 arch/arm/mach-omap2/mux44xx.c
 delete mode 100644 arch/arm/mach-omap2/mux44xx.h
arch/arm/mach-omap2/Kconfig +0 -6
index 1f941c4..6903d47 100644
@@ -167,12 +167,6 @@ config OMAP_PACKAGE_CUS
 config OMAP_PACKAGE_CBP
        bool
 
-config OMAP_PACKAGE_CBL
-       bool
-
-config OMAP_PACKAGE_CBS
-       bool
-
 comment "OMAP Board Type"
 	depends on ARCH_OMAP2PLUS
 
arch/arm/mach-omap2/Makefile +0 -1
index 2cbf3ef..13302a5 100644
@@ -63,7 +63,6 @@ obj-$(CONFIG_ARCH_OMAP3)		+= omap3-restart.o
 obj-$(CONFIG_SOC_OMAP2420)		+= mux2420.o
 obj-$(CONFIG_SOC_OMAP2430)		+= mux2430.o
 obj-$(CONFIG_ARCH_OMAP3)		+= mux34xx.o
-obj-$(CONFIG_ARCH_OMAP4)		+= mux44xx.o
 
 # SMS/SDRC
 obj-$(CONFIG_ARCH_OMAP2)		+= sdrc2xxx.o
arch/arm/mach-omap2/mux.h +0 -3
index fdb22f1..5d2080e 100644
@@ -10,7 +10,6 @@
 #include "mux2420.h"
 #include "mux2430.h"
 #include "mux34xx.h"
-#include "mux44xx.h"
 
 #define OMAP_MUX_TERMINATOR	0xffff
 
@@ -64,8 +63,6 @@
 
 /* Flags for omapX_mux_init */
 #define OMAP_PACKAGE_MASK		0xffff
-#define OMAP_PACKAGE_CBS		8		/* 547-pin 0.40 0.40 */
-#define OMAP_PACKAGE_CBL		7		/* 547-pin 0.40 0.40 */
 #define OMAP_PACKAGE_CBP		6		/* 515-pin 0.40 0.50 */
 #define OMAP_PACKAGE_CUS		5		/* 423-pin 0.65 */
 #define OMAP_PACKAGE_CBB		4		/* 515-pin 0.40 0.50 */
arch/arm/mach-omap2/mux44xx.c deleted +0 -1356

1,356 lines not on this page · raw message

arch/arm/mach-omap2/mux44xx.h deleted +0 -298

298 lines not on this page · raw message

author maintainer
#44 lore raw

PATCH 4/6 ARM: OMAP2+: Remove omap4 pdata from hsmmc.c

In reply to Tony Lindgren

This is no longer needed as omap4 is now booted using device tree.

---
 arch/arm/mach-omap2/hsmmc.c |  103 ++++---------------------------------------
 1 file changed, 10 insertions(+), 93 deletions(-)
arch/arm/mach-omap2/hsmmc.c +10 -93
index 2ef1f87..07d4c7b 100644
@@ -29,7 +29,6 @@
 
 static u16 control_pbias_offset;
 static u16 control_devconf1_offset;
-static u16 control_mmc1;
 
 #define HSMMC_NAME_LEN	9
 
@@ -121,57 +120,6 @@ static void omap_hsmmc1_after_set_reg(struct device *dev, int slot,
 	}
 }
 
-static void omap4_hsmmc1_before_set_reg(struct device *dev, int slot,
-				  int power_on, int vdd)
-{
-	u32 reg;
-
-	/*
-	 * Assume we power both OMAP VMMC1 (for CMD, CLK, DAT0..3) and the
-	 * card with Vcc regulator (from twl4030 or whatever).  OMAP has both
-	 * 1.8V and 3.0V modes, controlled by the PBIAS register.
-	 */
-	reg = omap4_ctrl_pad_readl(control_pbias_offset);
-	reg &= ~(OMAP4_MMC1_PBIASLITE_PWRDNZ_MASK |
-		OMAP4_MMC1_PWRDNZ_MASK |
-		OMAP4_MMC1_PBIASLITE_VMODE_MASK);
-	omap4_ctrl_pad_writel(reg, control_pbias_offset);
-}
-
-static void omap4_hsmmc1_after_set_reg(struct device *dev, int slot,
-				 int power_on, int vdd)
-{
-	u32 reg;
-	unsigned long timeout;
-
-	if (power_on) {
-		reg = omap4_ctrl_pad_readl(control_pbias_offset);
-		reg |= OMAP4_MMC1_PBIASLITE_PWRDNZ_MASK;
-		if ((1 << vdd) <= MMC_VDD_165_195)
-			reg &= ~OMAP4_MMC1_PBIASLITE_VMODE_MASK;
-		else
-			reg |= OMAP4_MMC1_PBIASLITE_VMODE_MASK;
-		reg |= (OMAP4_MMC1_PBIASLITE_PWRDNZ_MASK |
-			OMAP4_MMC1_PWRDNZ_MASK);
-		omap4_ctrl_pad_writel(reg, control_pbias_offset);
-
-		timeout = jiffies + msecs_to_jiffies(5);
-		do {
-			reg = omap4_ctrl_pad_readl(control_pbias_offset);
-			if (!(reg & OMAP4_MMC1_PBIASLITE_VMODE_ERROR_MASK))
-				break;
-			usleep_range(100, 200);
-		} while (!time_after(jiffies, timeout));
-
-		if (reg & OMAP4_MMC1_PBIASLITE_VMODE_ERROR_MASK) {
-			pr_err("Pbias Voltage is not same as LDO\n");
-			/* Caution : On VMODE_ERROR Power Down MMC IO */
-			reg &= ~(OMAP4_MMC1_PWRDNZ_MASK);
-			omap4_ctrl_pad_writel(reg, control_pbias_offset);
-		}
-	}
-}
-
 static void hsmmc2_select_input_clk_src(struct omap_mmc_platform_data *mmc)
 {
 	u32 reg;
@@ -317,11 +265,7 @@ static int __init omap_hsmmc_pdata_init(struct omap2_hsmmc_info *c,
 	mmc->slots[0].pm_caps = c->pm_caps;
 	mmc->slots[0].internal_clock = !c->ext_clock;
 	mmc->max_freq = c->max_freq;
-	if (cpu_is_omap44xx())
-		mmc->reg_offset = OMAP4_MMC_REG_OFFSET;
-	else
-		mmc->reg_offset = 0;
-
+	mmc->reg_offset = 0;
 	mmc->get_context_loss_count = hsmmc_get_context_loss;
 
 	mmc->slots[0].switch_pin = c->gpio_cd;
@@ -368,24 +312,14 @@ static int __init omap_hsmmc_pdata_init(struct omap2_hsmmc_info *c,
 	if (!soc_is_am35xx())
 		mmc->slots[0].features |= HSMMC_HAS_PBIAS;
 
-	if (cpu_is_omap44xx() && (omap_rev() > OMAP4430_REV_ES1_0))
-		mmc->slots[0].features |= HSMMC_HAS_UPDATED_RESET;
-
 	switch (c->mmc) {
 	case 1:
 		if (mmc->slots[0].features & HSMMC_HAS_PBIAS) {
 			/* on-chip level shifting via PBIAS0/PBIAS1 */
-			if (cpu_is_omap44xx()) {
-				mmc->slots[0].before_set_reg =
-						omap4_hsmmc1_before_set_reg;
-				mmc->slots[0].after_set_reg =
-						omap4_hsmmc1_after_set_reg;
-			} else {
-				mmc->slots[0].before_set_reg =
-						omap_hsmmc1_before_set_reg;
-				mmc->slots[0].after_set_reg =
-						omap_hsmmc1_after_set_reg;
-			}
+			mmc->slots[0].before_set_reg =
+					omap_hsmmc1_before_set_reg;
+			mmc->slots[0].after_set_reg =
+					omap_hsmmc1_after_set_reg;
 		}
 
 		if (soc_is_am35xx())
@@ -563,34 +497,17 @@ free_mmc:
 
 void __init omap_hsmmc_init(struct omap2_hsmmc_info *controllers)
 {
-	u32 reg;
-
 	if (omap_hsmmc_done)
 		return;
 
 	omap_hsmmc_done = 1;
 
-	if (!cpu_is_omap44xx()) {
-		if (cpu_is_omap2430()) {
-			control_pbias_offset = OMAP243X_CONTROL_PBIAS_LITE;
-			control_devconf1_offset = OMAP243X_CONTROL_DEVCONF1;
-		} else {
-			control_pbias_offset = OMAP343X_CONTROL_PBIAS_LITE;
-			control_devconf1_offset = OMAP343X_CONTROL_DEVCONF1;
-		}
+	if (cpu_is_omap2430()) {
+		control_pbias_offset = OMAP243X_CONTROL_PBIAS_LITE;
+		control_devconf1_offset = OMAP243X_CONTROL_DEVCONF1;
 	} else {
-		control_pbias_offset =
-			OMAP4_CTRL_MODULE_PAD_CORE_CONTROL_PBIASLITE;
-		control_mmc1 = OMAP4_CTRL_MODULE_PAD_CORE_CONTROL_MMC1;
-		reg = omap4_ctrl_pad_readl(control_mmc1);
-		reg |= (OMAP4_SDMMC1_PUSTRENGTH_GRP0_MASK |
-			OMAP4_SDMMC1_PUSTRENGTH_GRP1_MASK);
-		reg &= ~(OMAP4_SDMMC1_PUSTRENGTH_GRP2_MASK |
-			OMAP4_SDMMC1_PUSTRENGTH_GRP3_MASK);
-		reg |= (OMAP4_SDMMC1_DR0_SPEEDCTRL_MASK |
-			OMAP4_SDMMC1_DR1_SPEEDCTRL_MASK |
-			OMAP4_SDMMC1_DR2_SPEEDCTRL_MASK);
-		omap4_ctrl_pad_writel(reg, control_mmc1);
+		control_pbias_offset = OMAP343X_CONTROL_PBIAS_LITE;
+		control_devconf1_offset = OMAP343X_CONTROL_DEVCONF1;
 	}
 
 	for (; controllers->mmc; controllers++)
author maintainer
#45 lore raw

PATCH 5/6 ARM: OMAP2+: Remove omap4 pdata for USB

In reply to Tony Lindgren

This is no longer needed as omap4 is now booted
using device tree.

---
 arch/arm/mach-omap2/devices.c  |   45 ---------
 arch/arm/mach-omap2/usb-host.c |  194 ----------------------------------------
 arch/arm/mach-omap2/usb-musb.c |    3 -
 3 files changed, 242 deletions(-)
arch/arm/mach-omap2/devices.c +0 -45
index 4269fc1..0fd3834 100644
@@ -20,7 +20,6 @@
 #include <linux/pinctrl/machine.h>
 #include <linux/platform_data/omap4-keypad.h>
 #include <linux/platform_data/omap_ocp2scp.h>
-#include <linux/usb/omap_control_usb.h>
 
 #include <asm/mach-types.h>
 #include <asm/mach/map.h>
@@ -253,49 +252,6 @@ static inline void omap_init_camera(void)
 #endif
 }
 
-#if IS_ENABLED(CONFIG_OMAP_CONTROL_USB)
-static struct omap_control_usb_platform_data omap4_control_usb_pdata = {
-	.type = 1,
-};
-
-struct resource omap4_control_usb_res[] = {
-	{
-		.name	= "control_dev_conf",
-		.start	= 0x4a002300,
-		.end	= 0x4a002303,
-		.flags	= IORESOURCE_MEM,
-	},
-	{
-		.name	= "otghs_control",
-		.start	= 0x4a00233c,
-		.end	= 0x4a00233f,
-		.flags	= IORESOURCE_MEM,
-	},
-};
-
-static struct platform_device omap4_control_usb = {
-	.name = "omap-control-usb",
-	.id = -1,
-	.dev = {
-		.platform_data = &omap4_control_usb_pdata,
-	},
-	.num_resources = 2,
-	.resource = omap4_control_usb_res,
-};
-
-static inline void __init omap_init_control_usb(void)
-{
-	if (!cpu_is_omap44xx())
-		return;
-
-	if (platform_device_register(&omap4_control_usb))
-		pr_err("Error registering omap_control_usb device\n");
-}
-
-#else
-static inline void omap_init_control_usb(void) { }
-#endif /* CONFIG_OMAP_CONTROL_USB */
-
 int __init omap4_keyboard_init(struct omap4_keypad_platform_data
 			*sdp4430_keypad_data, struct omap_board_data *bdata)
 {
@@ -651,7 +607,6 @@ static int __init omap2_init_devices(void)
 	omap_init_mbox();
 	/* If dtb is there, the devices will be created dynamically */
 	if (!of_have_populated_dt()) {
-		omap_init_control_usb();
 		omap_init_dmic();
 		omap_init_mcpdm();
 		omap_init_mcspi();
arch/arm/mach-omap2/usb-host.c +0 -194

212 lines not on this page · raw message

arch/arm/mach-omap2/usb-musb.c +0 -3
index 3242a55..8c4de270 100644
@@ -85,9 +85,6 @@ void __init usb_musb_init(struct omap_musb_board_data *musb_board_data)
 	musb_plat.mode = board_data->mode;
 	musb_plat.extvbus = board_data->extvbus;
 
-	if (cpu_is_omap44xx())
-		musb_plat.has_mailbox = true;
-
 	if (soc_is_am35xx()) {
 		oh_name = "am35x_otg_hs";
 		name = "musb-am35x";
author maintainer
#46 lore raw

PATCH 6/6 ARM: OMAP2+: Remove omap4 ocp2scp pdata

In reply to Tony Lindgren

This is omap4+ only and no longer needed as omap4+ can be booted using device tree.

Also remove the related pdata handling from the driver and the now unneeded platform_data/omap_ocp2scp.h.

Cc Kishon Vijay Abraham I <[email protected]>
Cc Felipe Balbi <[email protected]>
Cc Arnd Bergmann <[email protected]>
Cc Olof Johansson <[email protected]>
---
 arch/arm/mach-omap2/devices.c              |   78 ----------------------------
 arch/arm/mach-omap2/omap_hwmod_44xx_data.c |   21 --------
 drivers/bus/omap-ocp2scp.c                 |   60 ----------------------
 include/linux/platform_data/omap_ocp2scp.h |   31 -----------
 4 files changed, 190 deletions(-)
 delete mode 100644 include/linux/platform_data/omap_ocp2scp.h
arch/arm/mach-omap2/devices.c +0 -78
index 0fd3834..3f2c85a 100644
@@ -19,7 +19,6 @@
 #include <linux/of.h>
 #include <linux/pinctrl/machine.h>
 #include <linux/platform_data/omap4-keypad.h>
-#include <linux/platform_data/omap_ocp2scp.h>
 
 #include <asm/mach-types.h>
 #include <asm/mach/map.h>
@@ -513,82 +512,6 @@ static void omap_init_vout(void)
 static inline void omap_init_vout(void) {}
 #endif
 
-#if defined(CONFIG_OMAP_OCP2SCP) || defined(CONFIG_OMAP_OCP2SCP_MODULE)
-static int count_ocp2scp_devices(struct omap_ocp2scp_dev *ocp2scp_dev)
-{
-	int cnt	= 0;
-
-	while (ocp2scp_dev->drv_name != NULL) {
-		cnt++;
-		ocp2scp_dev++;
-	}
-
-	return cnt;
-}
-
-static void __init omap_init_ocp2scp(void)
-{
-	struct omap_hwmod	*oh;
-	struct platform_device	*pdev;
-	int			bus_id = -1, dev_cnt = 0, i;
-	struct omap_ocp2scp_dev	*ocp2scp_dev;
-	const char		*oh_name, *name;
-	struct omap_ocp2scp_platform_data *pdata;
-
-	if (!cpu_is_omap44xx())
-		return;
-
-	oh_name = "ocp2scp_usb_phy";
-	name	= "omap-ocp2scp";
-
-	oh = omap_hwmod_lookup(oh_name);
-	if (!oh) {
-		pr_err("%s: could not find omap_hwmod for %s\n", __func__,
-								oh_name);
-		return;
-	}
-
-	pdata = kzalloc(sizeof(*pdata), GFP_KERNEL);
-	if (!pdata) {
-		pr_err("%s: No memory for ocp2scp pdata\n", __func__);
-		return;
-	}
-
-	ocp2scp_dev = oh->dev_attr;
-	dev_cnt = count_ocp2scp_devices(ocp2scp_dev);
-
-	if (!dev_cnt) {
-		pr_err("%s: No devices connected to ocp2scp\n", __func__);
-		kfree(pdata);
-		return;
-	}
-
-	pdata->devices = kzalloc(sizeof(struct omap_ocp2scp_dev *)
-					* dev_cnt, GFP_KERNEL);
-	if (!pdata->devices) {
-		pr_err("%s: No memory for ocp2scp pdata devices\n", __func__);
-		kfree(pdata);
-		return;
-	}
-
-	for (i = 0; i < dev_cnt; i++, ocp2scp_dev++)
-		pdata->devices[i] = ocp2scp_dev;
-
-	pdata->dev_cnt	= dev_cnt;
-
-	pdev = omap_device_build(name, bus_id, oh, pdata, sizeof(*pdata));
-	if (IS_ERR(pdev)) {
-		pr_err("Could not build omap_device for %s %s\n",
-						name, oh_name);
-		kfree(pdata->devices);
-		kfree(pdata);
-		return;
-	}
-}
-#else
-static inline void omap_init_ocp2scp(void) { }
-#endif
-
 /*-------------------------------------------------------------------------*/
 
 static int __init omap2_init_devices(void)
@@ -616,7 +539,6 @@ static int __init omap2_init_devices(void)
 	omap_init_sti();
 	omap_init_rng();
 	omap_init_vout();
-	omap_init_ocp2scp();
 
 	return 0;
 }
arch/arm/mach-omap2/omap_hwmod_44xx_data.c +0 -21
index eaba9dc..8b60678 100644
@@ -21,7 +21,6 @@
 #include <linux/io.h>
 #include <linux/platform_data/gpio-omap.h>
 #include <linux/power/smartreflex.h>
-#include <linux/platform_data/omap_ocp2scp.h>
 #include <linux/i2c-omap.h>
 
 #include <linux/omap-dma.h>
@@ -2695,25 +2694,6 @@ static struct omap_hwmod_class omap44xx_ocp2scp_hwmod_class = {
 	.sysc	= &omap44xx_ocp2scp_sysc,
 };
 
-/* ocp2scp dev_attr */
-static struct resource omap44xx_usb_phy_and_pll_addrs[] = {
-	{
-		.name		= "usb_phy",
-		.start		= 0x4a0ad080,
-		.end		= 0x4a0ae000,
-		.flags		= IORESOURCE_MEM,
-	},
-	{ }
-};
-
-static struct omap_ocp2scp_dev ocp2scp_dev_attr[] = {
-	{
-		.drv_name       = "omap-usb2",
-		.res		= omap44xx_usb_phy_and_pll_addrs,
-	},
-	{ }
-};
-
 /* ocp2scp_usb_phy */
 static struct omap_hwmod omap44xx_ocp2scp_usb_phy_hwmod = {
 	.name		= "ocp2scp_usb_phy",
@@ -2737,7 +2717,6 @@ static struct omap_hwmod omap44xx_ocp2scp_usb_phy_hwmod = {
 			.modulemode   = MODULEMODE_HWCTRL,
 		},
 	},
-	.dev_attr	= ocp2scp_dev_attr,
 };
 
 /*
drivers/bus/omap-ocp2scp.c +0 -60

85 lines not on this page · raw message

include/linux/platform_data/omap_ocp2scp.h deleted +0 -31
deleted file mode 100644
index 5c6c393..0000000
@@ -1,31 +0,0 @@
-/*
- * omap_ocp2scp.h -- ocp2scp header file
- *
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * Author: Kishon Vijay Abraham I <[email protected]>
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- */
-
-#ifndef __DRIVERS_OMAP_OCP2SCP_H
-#define __DRIVERS_OMAP_OCP2SCP_H
-
-struct omap_ocp2scp_dev {
-	const char			*drv_name;
-	struct resource			*res;
-};
-
-struct omap_ocp2scp_platform_data {
-	int				dev_cnt;
-	struct omap_ocp2scp_dev		**devices;
-};
-#endif /* __DRIVERS_OMAP_OCP2SCP_H */
#47 lore raw

PATCH 6/6 ARM: OMAP2+: Remove omap4 ocp2scp pdata

Quoted 11 lines · Tony Lindgren

This is omap4+ only and no longer needed as omap4+ can be booted using device tree.

Also remove the related pdata handling from the driver and the now unneeded platform_data/omap_ocp2scp.h.

Cc Kishon Vijay Abraham I <[email protected]>
Cc Felipe Balbi <[email protected]>
Cc Arnd Bergmann <[email protected]>
Cc Olof Johansson <[email protected]>

fine by me :-)

Signature · 8 lines
balbi
-------------- 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/20130517/b9180ad0/attachment.sig>
#48 lore raw

PATCH 6/6 ARM: OMAP2+: Remove omap4 ocp2scp pdata

In reply to Tony Lindgren
Quoted 11 lines · Tony Lindgren

This is omap4+ only and no longer needed as omap4+ can be booted using device tree.

Also remove the related pdata handling from the driver and the now unneeded platform_data/omap_ocp2scp.h.

Cc Kishon Vijay Abraham I <[email protected]>
Cc Felipe Balbi <[email protected]>
Cc Arnd Bergmann <[email protected]>
Cc Olof Johansson <[email protected]>

Thanks
Kishon

#49 lore raw

cover Drop legacy booting for omap4 for v3.11, boot with device tree only

In reply to Tony Lindgren

Hi,

Quoted 11 lines · Tony Lindgren

Hi all,

Here are patches against v3.10-rc1 to drop omap4 legacy booting as things are now working well enough for booting omap4 with device tree.

We already have am33xx and omap5 booting with device tree only, and converting omap4 is relatively easy with just two board-*.c files merged as we have not accepted any new board-*.c files for quite some time now.

Quoted 8 lines

By working "well enough" I mean that I can use my omap4 panda-es with device tree with a Motorola LapDock with HDMI, DVI, HID, USB and WLAN using v3.10-rc1 and the patches in this series plus some extra patches that are driver related.

Of course some things will need more work, like PM. But that has not yet been fully working for omap4 anyways, and that work can now be combined with omap5 PM work to some extent.

You can also add the one below to this series.

Tomi

Quoted 1 line

From d22837262b59ad381feb215496fafe3fe399972f Mon Sep 17 00:00:00 2001

From: Tomi Valkeinen <[email protected]>
Date: Fri, 7 Jun 2013 13:01:05 +0300
Subject: [PATCH] ARM: OMAP2+: Remove legacy DSS initialization for omap4

This is no longer needed as omap4 is now booted using device tree.

---
 arch/arm/mach-omap2/dss-common.c | 47 ----------------------------------------
 arch/arm/mach-omap2/dss-common.h |  2 --
 2 files changed, 49 deletions(-)
arch/arm/mach-omap2/dss-common.c +0 -47
index 393aeef..43ec787 100644
@@ -80,24 +80,6 @@ static struct omap_dss_board_info omap4_panda_dss_data = {
 	.default_device	= &omap4_panda_dvi_device,
 };
 
-void __init omap4_panda_display_init(void)
-{
-	omap_display_init(&omap4_panda_dss_data);
-
-	/*
-	 * OMAP4460SDP/Blaze and OMAP4430 ES2.3 SDP/Blaze boards and
-	 * later have external pull up on the HDMI I2C lines
-	 */
-	if (cpu_is_omap446x() || omap_rev() > OMAP4430_REV_ES2_2)
-		omap_hdmi_init(OMAP_HDMI_SDA_SCL_EXTERNAL_PULLUP);
-	else
-		omap_hdmi_init(0);
-
-	omap_mux_init_gpio(HDMI_GPIO_LS_OE, OMAP_PIN_OUTPUT);
-	omap_mux_init_gpio(HDMI_GPIO_CT_CP_HPD, OMAP_PIN_OUTPUT);
-	omap_mux_init_gpio(HDMI_GPIO_HPD, OMAP_PIN_INPUT_PULLDOWN);
-}
-
 void __init omap4_panda_display_init_of(void)
 {
 	omap_display_init(&omap4_panda_dss_data);
@@ -204,35 +186,6 @@ static struct omap_dss_board_info sdp4430_dss_data = {
  * used by picodlp on the 4430sdp platform. Keep this gpio disabled as LCD2 is
  * selected by default
  */
-void __init omap_4430sdp_display_init(void)
-{
-	int r;
-
-	r = gpio_request_one(DISPLAY_SEL_GPIO, GPIOF_OUT_INIT_HIGH,
-			"display_sel");
-	if (r)
-		pr_err("%s: Could not get display_sel GPIO\n", __func__);
-
-	r = gpio_request_one(DLP_POWER_ON_GPIO, GPIOF_OUT_INIT_LOW,
-		"DLP POWER ON");
-	if (r)
-		pr_err("%s: Could not get DLP POWER ON GPIO\n", __func__);
-
-	omap_display_init(&sdp4430_dss_data);
-	/*
-	 * OMAP4460SDP/Blaze and OMAP4430 ES2.3 SDP/Blaze boards and
-	 * later have external pull up on the HDMI I2C lines
-	 */
-	if (cpu_is_omap446x() || omap_rev() > OMAP4430_REV_ES2_2)
-		omap_hdmi_init(OMAP_HDMI_SDA_SCL_EXTERNAL_PULLUP);
-	else
-		omap_hdmi_init(0);
-
-	omap_mux_init_gpio(HDMI_GPIO_LS_OE, OMAP_PIN_OUTPUT);
-	omap_mux_init_gpio(HDMI_GPIO_CT_CP_HPD, OMAP_PIN_OUTPUT);
-	omap_mux_init_gpio(HDMI_GPIO_HPD, OMAP_PIN_INPUT_PULLDOWN);
-}
-
 void __init omap_4430sdp_display_init_of(void)
 {
 	int r;
arch/arm/mach-omap2/dss-common.h +0 -2
index 915f6ff..c28fe3c 100644
@@ -6,9 +6,7 @@
  * This file will be removed when DSS supports DT.
  */
 
-void __init omap4_panda_display_init(void);
 void __init omap4_panda_display_init_of(void);
-void __init omap_4430sdp_display_init(void);
 void __init omap_4430sdp_display_init_of(void);
 
 #endif
Signature · 11 lines
1.8.1.2



-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 901 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130607/9210c379/attachment.sig>