Hi

Am 13.01.26 um 17:41 schrieb Quentin Schulz:
Hi Frank,

On 1/3/26 11:55 AM, Frank Wunderlich wrote:
Hi,

i make new attempt to change mediatek boards to OF_UPSTREAM because i found out, that dtbo merging is now possible.

but i faced a problem:

e.g. BPI-R3 has 2 SPI-devices (nand,nor) on same spi switchable via hw. i need both in dts to probe the right device for linux and to allow install from sdmmc to both of these devices based on hw switch.

currently in uboot the nor is device 0 (unit-address and reg) and nand is 1. this does not work in linux, so i need a
way to overwrite the dtso from linux with the new values in uboot.

for dts there is a way using -u-boot.dtsi files...do they also work for dtso? where do they need to be placed?


I don't understand the issue. Is there code we can look at?
the issue is that in linux there is only one device at address 0 (1 does not work). in uboot i can and have to add both devices with different unit-address/reg property to check which one is available.

this is the current used file:
https://github.com/frank-w/u-boot/blob/2026-01-bpi-ofupstream/arch/arm/dts/mt7986a-bpi-r3-sd.dts#L196

and i want to move to OF_UPSTREAM to use linux dts synced in uboot.

https://github.com/frank-w/u-boot/commits/2026-01-bpi-ofupstream/

currently i put both nodes manually in the board u-boot.dtsi

https://github.com/frank-w/u-boot/blob/2026-01-bpi-ofupstream/arch/arm/dts/mt7986a-bananapi-bpi-r3-u-boot.dtsi#L67

but it would be better to merge the linux oberlays

https://github.com/frank-w/u-boot/blob/2026-01-bpi-ofupstream/dts/upstream/src/arm64/mediatek/mt7986a-bananapi-bpi-r3-nand.dtso
and
https://github.com/frank-w/u-boot/blob/2026-01-bpi-ofupstream/dts/upstream/src/arm64/mediatek/mt7986a-bananapi-bpi-r3-nor.dtso

but they cannot have both reg=0 in uboot...then no device will be detected. that's why i want to change one to reg=1 (and unit-address to 1). to have same result as i did in the override file.

regards Frank
Are you planning on using the exact same DT binary in U-Boot and Linux kernel? Why does it matter to Linux that the NOR in U-Boot is device 0?
not the binary, but source dts to have devicetrees defined only once. It was mentioned a requirement for adding new nodes in uboot.

in linux only one overlay will be applied and both need to be 0 as defined in linux. but in uboot i need both nodes and they must not be same reg/unit-address.
Cheers,
Quentin

Reply via email to