ん-、レギュレータ操作なしのATFを組み込んで、コールドブートした場合のみethernet PHYがちゃんと動く、ってのが厄介だな(rebootでウォームブートするとPHYが見えなくなる)。
多分、SCPにレギュレータ操作を握らせるか何かするとちゃんと動くようになるとかそういう話なんだろうか。Armbianの動作がマトモなので。
SCPで何かやってると思ったが…どうも違うみたいだ。
ArmbianがATFにパッチを当てて問題を回避してる。
https://github.com/armbian/build/blob/main/patch/atf/atf-sunxi64/board_orangepioneplus/sunxi-Don-t-enable-referenced-regulators.patch
そしてこれはOrangePi OnePlusとOnrange Pi 3でのみ有効になってる。
これなら確かにATFのバージョン縛りは要らないし、SUNXI_SETUP_REGULATORS=0を指定する必要も無い(このパッチによる修正とSUNXI(略)=0での対応は、厳密には同じではないというのも厄介)。
コンパイル時のオプションで制御できるからportsで何とかできるのであって、必要な時のみパッチをon/offといった大技(?)までは流石に難しいんじゃないかなあ。
axp/common.cはここから下がごっそり無効化されるので、SUNXI_SETUP_REGULATORS=0は牛刀持って鶏を…という気がしなくもない。
https://github.com/ARM-software/arm-trusted-firmware/blob/master/drivers/allwinner/axp/common.c#L52
というか本気でレギュレータの制御を「何もしない」にしてるのがなんとも…(OS側で全部掌握せーよ、ということなんだろうけどOS側が面倒見切れてないという部分もあるのでU-boot他のアシストはあると嬉しいんだよねという甘いことをほざいてみよう)。