[U-Boot] [RFC] ARM: omap3_logic_somlv: Enable OF_CONTROL in SPL

Adam Ford aford173 at gmail.com
Mon Jan 28 15:08:54 UTC 2019


On Fri, Jan 25, 2019 at 3:39 PM Adam Ford <aford173 at gmail.com> wrote:
>
> On Thu, Jan 24, 2019 at 7:19 AM Felix Brack <fb at ltec.ch> wrote:
> >
> > Hello Adam,
> >
> > On 23.01.2019 22:13, Adam Ford wrote:
> > > By removing EXT support from SPL, it makes room for the extra
> > > overhead of enabling OF_CONTROL in SPL.  With SPL_OF_CONTROL
> > > enabled, extra options need to be added to the device tree to
> > > tell it which portions of the tree are needed early in boot time
> > >
> > > Unfortunately, with these options as-is, the system doesn't boot
> > > nor does it display anything on the UART.  I don't have a debugger
> > > readily available, but I have seen others with AM33x boards which
> > > are similar to OMAP3 boards. This is posted as an RFC just in case
> > > anyone has any suggestions on what  might be missing.
> > >
> > On an AM335x board I had problems when moving from embedded to separate
> > DTB. Even if deprecated you should probably give CONFIG_OF_EMBED a try.
> > If this works you could go back to CONFIG_OF_SEPARATE and probably give
> > CONFIG_SPL_SEPARATE_BSS a try.
> > Also CONFIG_DEBUG_UART (assumed the pin configuration is working) did
> > help me quite a lot.
>
> I had to turn off DM_SERIAL temporarily to get some debugging going.
> I 'think' there is something wrong with fetching data from the device
> tree.
>
> I tried both OF_EMBDED and OF_SEPARATE without luck.  SPL_SEPARATE_BSS is set.
>
> U-Boot SPL 2019.01-02697-gd01806a8fc-dirty (Jan 25 2019 - 15:22:11 -0600)
> Trying to boot from MMC1
> uclass_find_device_by_seq: 0 0
>    - not found
> uclass_find_device_by_seq: 1 0
>    - not found
> spl: could not find mmc device 0. error: -19
> SPL: failed to boot from all boot devices
> ### ERROR ### Please RESET the board ###
>
> I can see the mmc0 device is appearing in my SPL dtb file.
>
> I am not sure what these values are support to be, but I was able to
> do a dump of my spl device tree:
>
>  dtc -I dtb -O dts spl/u-boot-spl.dtb

Looking at Tom's defconfig file changes for the beagle, I noticed he
disabled Falcon mode.  As soon as I disabled Falcon mode, I was able
to get my device tree based SPL to initialize both serial and MMC.
With Falcon mode enabled, it immediately stops booting and/or showing
anything.  There seems to be some correlation, because disabling it
again make it work.

With DM_SERIAL off, I can see the dumps to the screen and with the
debugging enabled, I can see that it is not able to locate the MMC
device.  I am going to assume that if it cannot find the MMC device,
it probably cannot find the serial device which may explain why
disabling DM_SERIAL in SPL with Falcon mode on shows text.

Might someone have any suggestions as to how to get both SPL_OF_CONFIG
with Falcon working?  I'd really like to keep that enabled by default.

adam
>
>
> /dts-v1/;
>
> / {
> compatible = "ti,am3517-evm\0ti,am3517\0ti,omap3";
> #address-cells = < 0x01 >;
> #size-cells = < 0x01 >;
> model = "TI AM3517 EVM (AM3517/05 TMDSEVM3517)";
>
> chosen {
> stdout-path = "/ocp at 68000000/serial at 49020000";
> };
>
> aliases {
> i2c0 = "/ocp at 68000000/i2c at 48070000";
> serial0 = "/ocp at 68000000/serial at 4806a000";
> serial1 = "/ocp at 68000000/serial at 4806c000";
> serial2 = "/ocp at 68000000/serial at 49020000";
> };
>
> ocp at 68000000 {
> compatible = "ti,omap3-l3-smx\0simple-bus";
> reg = < 0x68000000 0x10000 >;
> interrupts = < 0x09 0x0a >;
> #address-cells = < 0x01 >;
> #size-cells = < 0x01 >;
> ranges;
> ti,hwmods = "l3_main";
> u-boot,dm-spl;
>
> l4 at 48000000 {
> compatible = "ti,omap3-l4-core\0simple-bus";
> #address-cells = < 0x01 >;
> #size-cells = < 0x01 >;
> ranges = < 0x00 0x48000000 0x1000000 >;
> u-boot,dm-spl;
>
> scm at 2000 {
> compatible = "ti,omap3-scm\0simple-bus";
> reg = < 0x2000 0x2000 >;
> #address-cells = < 0x01 >;
> #size-cells = < 0x01 >;
> ranges = < 0x00 0x2000 0x2000 >;
> u-boot,dm-spl;
>
> scm_conf at 270 {
> compatible = "syscon\0simple-bus";
> reg = < 0x270 0x330 >;
> #address-cells = < 0x01 >;
> #size-cells = < 0x01 >;
> ranges = < 0x00 0x270 0x330 >;
> u-boot,dm-spl;
> phandle = < 0x05 >;
> };
> };
> };
>
> gpio at 48310000 {
> compatible = "ti,omap3-gpio";
> reg = < 0x48310000 0x200 >;
> interrupts = < 0x1d >;
> ti,hwmods = "gpio1";
> ti,gpio-always-on;
> gpio-controller;
> #gpio-cells = < 0x02 >;
> interrupt-controller;
> #interrupt-cells = < 0x02 >;
> u-boot,dm-spl;
> phandle = < 0xec >;
> };
>
> gpio at 49050000 {
> compatible = "ti,omap3-gpio";
> reg = < 0x49050000 0x200 >;
> interrupts = < 0x1e >;
> ti,hwmods = "gpio2";
> gpio-controller;
> #gpio-cells = < 0x02 >;
> interrupt-controller;
> #interrupt-cells = < 0x02 >;
> u-boot,dm-spl;
> phandle = < 0xd0 >;
> };
>
> gpio at 49052000 {
> compatible = "ti,omap3-gpio";
> reg = < 0x49052000 0x200 >;
> interrupts = < 0x1f >;
> ti,hwmods = "gpio3";
> gpio-controller;
> #gpio-cells = < 0x02 >;
> interrupt-controller;
> #interrupt-cells = < 0x02 >;
> u-boot,dm-spl;
> phandle = < 0xd4 >;
> };
>
> gpio at 49054000 {
> compatible = "ti,omap3-gpio";
> reg = < 0x49054000 0x200 >;
> interrupts = < 0x20 >;
> ti,hwmods = "gpio4";
> gpio-controller;
> #gpio-cells = < 0x02 >;
> interrupt-controller;
> #interrupt-cells = < 0x02 >;
> u-boot,dm-spl;
> phandle = < 0xd8 >;
> };
>
> gpio at 49056000 {
> compatible = "ti,omap3-gpio";
> reg = < 0x49056000 0x200 >;
> interrupts = < 0x21 >;
> ti,hwmods = "gpio5";
> gpio-controller;
> #gpio-cells = < 0x02 >;
> interrupt-controller;
> #interrupt-cells = < 0x02 >;
> u-boot,dm-spl;
> phandle = < 0xe9 >;
> };
>
> gpio at 49058000 {
> compatible = "ti,omap3-gpio";
> reg = < 0x49058000 0x200 >;
> interrupts = < 0x22 >;
> ti,hwmods = "gpio6";
> gpio-controller;
> #gpio-cells = < 0x02 >;
> interrupt-controller;
> #interrupt-cells = < 0x02 >;
> u-boot,dm-spl;
> phandle = < 0xdb >;
> };
>
> serial at 4806a000 {
> compatible = "ti,omap3-uart";
> reg = < 0x4806a000 0x2000 >;
> interrupts-extended = < 0x01 0x48 >;
> dmas = < 0x17 0x31 0x17 0x32 >;
> dma-names = "tx\0rx";
> ti,hwmods = "uart1";
> clock-frequency = < 0x2dc6c00 >;
> u-boot,dm-spl;
> reg-shift = < 0x02 >;
> };
>
> serial at 4806c000 {
> compatible = "ti,omap3-uart";
> reg = < 0x4806c000 0x400 >;
> interrupts-extended = < 0x01 0x49 >;
> dmas = < 0x17 0x33 0x17 0x34 >;
> dma-names = "tx\0rx";
> ti,hwmods = "uart2";
> clock-frequency = < 0x2dc6c00 >;
> pinctrl-names = "default";
> pinctrl-0 = < 0xcf >;
> u-boot,dm-spl;
> reg-shift = < 0x02 >;
> };
>
> serial at 49020000 {
> compatible = "ti,omap3-uart";
> reg = < 0x49020000 0x400 >;
> interrupts-extended = < 0x01 0x4a >;
> dmas = < 0x17 0x35 0x17 0x36 >;
> dma-names = "tx\0rx";
> ti,hwmods = "uart3";
> clock-frequency = < 0x2dc6c00 >;
> u-boot,dm-spl;
> reg-shift = < 0x02 >;
> };
>
> i2c at 48070000 {
> compatible = "ti,omap3-i2c";
> reg = < 0x48070000 0x80 >;
> interrupts = < 0x38 >;
> dmas = < 0x17 0x1b 0x17 0x1c >;
> dma-names = "tx\0rx";
> #address-cells = < 0x01 >;
> #size-cells = < 0x00 >;
> ti,hwmods = "i2c1";
> clock-frequency = < 0x61a80 >;
> u-boot,dm-spl;
> };
>
> mmc at 4809c000 {
> compatible = "ti,omap3-hsmmc";
> reg = < 0x4809c000 0x200 >;
> interrupts = < 0x53 >;
> ti,hwmods = "mmc1";
> ti,dual-volt;
> dmas = < 0x17 0x3d 0x17 0x3e >;
> dma-names = "tx\0rx";
> pbias-supply = < 0xd5 >;
> status = "okay";
> pinctrl-names = "default";
> pinctrl-0 = < 0xd6 >;
> vmmc-supply = < 0xd7 >;
> bus-width = < 0x04 >;
> wp-gpios = < 0xd8 0x1e 0x00 >;
> cd-gpios = < 0xd8 0x1f 0x01 >;
> u-boot,dm-spl;
> };
>
> mmc at 480b4000 {
> compatible = "ti,omap3-hsmmc";
> reg = < 0x480b4000 0x200 >;
> interrupts = < 0x56 >;
> ti,hwmods = "mmc2";
> dmas = < 0x17 0x2f 0x17 0x30 >;
> dma-names = "tx\0rx";
> interrupts-extended = < 0x01 0x56 >;
> status = "okay";
> pinctrl-names = "default";
> pinctrl-0 = < 0xd9 >;
> vmmc-supply = < 0xda >;
> non-removable;
> bus-width = < 0x04 >;
> cap-power-off-card;
> #address-cells = < 0x01 >;
> #size-cells = < 0x00 >;
> u-boot,dm-spl;
> };
>
> bandgap at 48002524 {
> u-boot,dm-spl;
> };
> };
> };
>
>
> >
> > regards Felix


More information about the U-Boot mailing list