lsb_release -a
Distributor ID: Debian
Description: Debian GNU/Linux 12 (bookworm)
Release: 12
Codename: bookworm
-------------------------------------------------------------------------------------------------------------
Создаем текстовый файл dts с содержимым
-------------------------------------------------------------------------------------------------------------
/dts-v1/;
/ {
compatible = "allwinner,sun50i-h616";
fragment@0 {
target = <0xffffffff>;
__overlay__ {
w1_pins {
pins = "PC09";
function = "gpio_in";
phandle = <0x1>;
};
};
};
fragment@1 {
target-path = [2f 00];
__overlay__ {
onewire@0 {
compatible = "w1-gpio";
pinctrl-names = "default";
pinctrl-0 = <0x1>;
gpios = <0xffffffff 0x2 0x09 0x0>;
status = "okay";
};
};
};
__symbols__ {
w1_pins = "/fragment@0/__overlay__/w1_pins";
};
__fixups__ {
pio = "/fragment@0:target:0", "/fragment@1/__overlay__/onewire@0:gpios:0";
};
__local_fixups__ {
fragment@1 {
__overlay__ {
onewire@0 {
pinctrl-0 = <0x0>;
};
};
};
};
};
------------------------------------------------------------------------------------------------------------
Далее нужно обновить конфигурацию дерева устройств и задать номер pin, который будет слушать наш драйвер. Использовал pin PC9 - gpios 0x2 (C третья буква)
пример конвертации файлов dtb или dtbo в dts и обратно.
# apt-get install device-tree-compiler
# cd /boot/orangepi
# dtc -b 0 -O dts -I dtb -o any.dts any.dtb # dtb -> dts
# редактируем наш dts
# dtc -b 0 -O dtb -I dts -o any.dtb any.dts # dts -> dtb(o)
dtc -b 0 -O dtb -I dts -o sun50i-h616-w1-gpio.dtbo sun50i-h616-w1-gpio.dts
в /boot/orangepiEnv.txt добавлена только строка, возможно и не нужна.
overlays=w1-gpio
в /etc/modules ничего не добавляется.
Комментариев нет:
Отправить комментарий