Я установил новое изображение Ubuntu (14.04.2 LTS) на моей плате BeagleBone Black. Я обнаружил, что менеджер мыса больше не поддерживается, поэтомуBBB: как включить устройства Encoder и PWM на linux 3.14
echo bone_eqep2b > /sys/devices/bone_capemgr.*/slots
не работает. Насколько я понял, для загрузки дерева устройства накладки мне нужен следующий:
- установить RSCM
- исправить
am335x-boneblack.dts
файл - запустить build.sh
- перезагрузки плата
Так , Я сомневаюсь в пункте 2. Как слить bone_eqep2b.dts
и am335x-boneblack.dts
правильно?
Я думаю, для того, чтобы eqep2b мне просто нужно изменить этот блок кода:
[email protected] {
compatible = "ti,am33xx-pwmss";
reg = <0x48304000 0x10>;
ti,hwmods = "epwmss2";
#address-cells = <0x1>;
#size-cells = <0x1>;
status = "disabled";
ranges = <0x48304100 0x48304100 0x80 0x48304180 0x48304180 0x80 0x48304200 0x4
8304200 0x80>;
[email protected] {
compatible = "ti,am33xx-ecap";
#pwm-cells = <0x3>;
reg = <0x48304100 0x80>;
ti,hwmods = "ecap2";
status = "disabled";
};
[email protected] {
compatible = "ti,am33xx-ehrpwm";
#pwm-cells = <0x3>;
reg = <0x48304200 0x80>;
ti,hwmods = "ehrpwm2";
status = "disabled";
};
};
что-то вроде
[email protected] {
compatible = "ti,am33xx-pwmss";
reg = <0x48304000 0x10>;
ti,hwmods = "epwmss2";
#address-cells = <0x1>;
#size-cells = <0x1>;
status = "okay";
count_mode = <0>; /* 0 - Quadrature mode, normal 90 phase offset cha & chb. 1 - Direction mode. cha input = clock, chb input = direction */
swap_inputs = <0>; /* Are channel A and channel B swapped? (0 - no, 1 - yes) */
invert_qa = <1>; /* Should we invert the channel A input? */
invert_qb = <1>; /* Should we invert the channel B input? I invert these because my encoder outputs drive transistors that pull down the pins */
invert_qi = <0>; /* Should we invert the index input? */
invert_qs = <0>; /* Should we invert the strobe input? */
status = "okay";
ranges = <0x48304100 0x48304100 0x80 0x48304180 0x48304180 0x80 0x48304200 0x4
8304200 0x80>;
[email protected] {
compatible = "ti,am33xx-ecap";
#pwm-cells = <0x3>;
reg = <0x48304100 0x80>;
ti,hwmods = "ecap2";
status = "okay";
};
[email protected] {
compatible = "ti,am33xx-ehrpwm";
#pwm-cells = <0x3>;
reg = <0x48304200 0x80>;
ti,hwmods = "ehrpwm2";
status = "okay";
};
};
Правильно?
Я не мог найти готовой версии. Было бы здорово, если бы кто-то уже исправил и может поделиться ею.
Благодарим за ответ. Я попробую. P.S. Чем больше я читаю об устройствах в Linux, тем больше я думаю, что прямое письмо в регистры системы намного проще (и лучше). –