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

Adam Ford aford173 at gmail.com
Fri Jan 25 21:39:28 UTC 2019


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


/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