Создадим работоспособное дерево устройств Beagle Bone Black (без наложений) - PullRequest
0 голосов
/ 04 мая 2020

Я пытаюсь использовать датчик температуры DS18B20. http://adafru.it/381

Я использую Beagle Bone Black.

Дело в том, что я не хочу использовать менеджер мыса. Поэтому я пытаюсь изменить дерево устройств, чтобы заставить GPIO на панели P9.22 работать с устройством.

План такой:

  1. Как работает дерево устройств 2. Затем, используя драйвер провода Dallas 1, который есть в моем Linux в BBB, запустите его.

Но, как и ожидалось, я застрял на первом шаге.

Для изменения дерева устройств в качестве ссылки я использую следующие две ссылки:

a) Сначала это удивительное Техническое примечание о содержимом дерева устройств для BBB: https://www.ofitselfso.com/BeagleNotes/AboutTheDeviceTree.pdf

b) И эта другая ссылка, которая предоставляет измененное дерево устройств, которое я не совсем уверен, работает ли оно с моими инструментами, так как я не могу его скомпилировать, поэтому я адаптирую его для работы с тем, который я использую. Дерево устройств, которое я использую, является базовым, но с работающим i2c1, так как я использую его для другого датчика. Кроме того, я бы сказал, что они используют другое название для мультиплексора. https://kvurd.com/blog/beaglebone-black-1-wire-temperature-debian-8-kernel-4.1-no-capemgr/

Я добавил следующее содержание в dts:

В разделе pinmux@44e10800:

dallas_w1_pins: pinmux_dallas_w1_pins {
            pinctrl-single,pins = <0x150 0x37>;
            };

Чуть выше Раздел c, но из раздела c:

onewire {
            compatible      = "w1-gpio";
            pinctrl-names   = "default";
            pinctrl-0       = <&dallas_w1_pins>;
            status          = "okay";
            gpios           = <&gpio0 2 0>;
            };

В разделе so c:

P9_22_pinmux {status = "disabled"; }; /* Dallas 1W */

Итак, когда я пытаюсь его получить скомпилировано (dt c -I dts -O dtb -o am335x-bone.dtb am335x-bone.dts), происходит сбой, похоже, ему не нравится бит & gpio0. Должен ли я отослать это куда-нибудь? Я довольно новичок ie, когда дело доходит до модификации дерева устройств, как это. Я понимаю, что пытаюсь сослаться на gpio0 [2], который подключен к этому пэду (я имею в виду, он будет подключен, если я смогу заставить мультиплексор делать то, что я хочу).

Ошибка:

ERROR (phandle_references): Reference to non-existent node or label "gpio0"
ERROR: Input tree has errors, aborting (use -f to force output)

Я также добавляю точки, которые я использую в этой ссылке: https://drive.google.com/file/d/1mGMnXG ... sp = share

Спасибо, парни! BR

...