Я столкнулся с проблемой с ядром во время загрузки, особенно для одного драйвера. Фандл, где он ищет узел, не тот, который я вижу в декомпилированном файле dts.
Вот журналы загрузки:
[ 28.110920] From list_name:avdd-supply
[ 28.110953] /soc/i2c@75b5000/pcm1864@4b: could not find phandle addr:0x3eb
[ 28.116603] 7-004b supply avdd not found, using dummy regulator
[ 28.124287] From list_name:dvdd-supply
[ 28.129168] /soc/i2c@75b5000/pcm1864@4b: could not find phandle addr:0x3ec
[ 28.135623] 7-004b supply dvdd not found, using dummy regulator
[ 28.143282] From list_name:iovdd-supply
[ 28.148178] /soc/i2c@75b5000/pcm1864@4b: could not find phandle addr:0x3ed
[ 28.154621] 7-004b supply iovdd not found, using dummy regulator
Полный путь, например, правильный /soc/i2c@75b5000/pcm1864@4b
. Он ищет список свойств: avdd-supply
в первой строке и, по-моему, 0x3eb
физический адрес.
Когда я декомпилирую файл DTBO, я вижу другое значение phandle, дайте мне полностью распечатать его здесь:
pcm1864@4b {
compatible = "ti,pcm1864";
reg = <0x4b>;
avdd-supply = <0x22>;
dvdd-supply = <0x23>;
iovdd-supply = <0x24>;
phandle = <0x1e>;
};
Как вы можете видеть, для первого этапа указано значение 0x22
, например,
Так почему ядро ищет узел в 0x3eb
вместо 0x22
?
Спасибо за помощь