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