Hello all, I’m trying with increasing desperation to get my BBB (that is running 4.1.4-1-ARCH) to use a PWM. It used to work, but then I updated from 3.8 to 4.1 and now it’s back to SNAFU. I’m trying to get device trees to work, but I really, really don’t get device tree overlays, I’ve read all the guides/docs and am still clueless.
My current best guess is to first load https://github.com/ProjectHexapod/bbbStuff/blob/master/overlays/am33xx_pwm-00A0.dts to activate pwm, and then load https://github.com/ProjectHexapod/bbbStuff/blob/master/overlays/thigh_bone-00A0.dts to configure all the pins. Unfortunately when I do that and then try to echo something into pwmFolder/duty it tells me that the permission is denied. I also don’t understand why those need to be separate device tree overlays.
In attempting to isolate the problem I also came up with the following, but it gives the same permission denied errors. I’m out of ideas, please send help! Also, even if you don’t know how to solve the problem, I’d also be interested to hear if there are style or high-level problems with my approach…
/dts-v1/;
/plugin/;
/ {
compatible = “ti,beaglebone”, “ti,beaglebone-black”;
/* identification /
part-number = “test1”;
version = “00A0”;
exclusive-use =
/ the pin header uses /
“P8.13”,
/ the hardware IP uses */
“ehrpwm2B”;
fragment@0 {
target = <&epwmss0>;
overlay {
status = “okay”;
};
};
fragment@1 {
target = <&ehrpwm0>;
overlay {
status = “okay”;
};
};
fragment@2 {
target = <&epwmss1>;
overlay {
status = “okay”;
};
};
fragment@3 {
target = <&ehrpwm1>;
overlay {
status = “okay”;
};
};
fragment@4 {
target = <&epwmss2>;
overlay {
status = “okay”;
};
};
fragment@5 {
target = <&ehrpwm2>;
overlay {
status = “okay”;
};
};
fragment@6 {
target = <&am33xx_pinmux>;
overlay {
bs_pwm_P8_13_0x14: pinmux_bs_pwm_P8_13_0x14 {
pinctrl-single,pins = <0x024 0x14>;
};
};
};
fragment@7 {
target = <&ocp>;
overlay {
bs_pwm_test_P8_13 {
compatible = “pwm_test”;
pwms = <&ehrpwm2 1 500000 1>;
pwm-names = “PWM_P8_13”;
pinctrl-names = “default”;
pinctrl-0 = <&bs_pwm_P8_13_0x14>;
enabled = <1>;
duty = <0>;
status = “okay”;
};
};
};
};