Skip to content

Commit 6925979

Browse files
committed
tools: pinmux-generator: P9.28 is special, it has two pwm, fix this in the generation script
fixes: #85 Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
1 parent 61d36be commit 6925979

File tree

4 files changed

+27
-8
lines changed

4 files changed

+27
-8
lines changed

tools/beaglebone-universal-io/config-pin

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -954,8 +954,8 @@ else
954954
P9_28_PRU="145"
955955
P9_28_GPIO="113"
956956
P9_28_PIN="audio"
957-
P9_28_PINMUX="default gpio gpio_pu gpio_pd gpio_input spi_cs pwm pruout pruin"
958-
P9_28_INFO="gpio3_17 default gpio3_17 gpio3_17 gpio3_17 gpio3_17 spi1_cs0 ehrpwm0_synci pru0_out3 pru0_in3"
957+
P9_28_PINMUX="default gpio gpio_pu gpio_pd gpio_input spi_cs pwm pwm2 pruout pruin"
958+
P9_28_INFO="gpio3_17 default gpio3_17 gpio3_17 gpio3_17 gpio3_17 spi1_cs0 ehrpwm0_synci ecap2_in_pwm2_out pru0_out3 pru0_in3"
959959
P9_28_CAPE=""
960960

961961
P9_29_PRU="143"

tools/pinmux-generator/BeagleBone_Black.dts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1007,6 +1007,8 @@ P9_28_pwm_pin: pinmux_P9_28_pwm_pin { pinctrl-single,pins = <
10071007
AM33XX_IOPAD(0x099c, PIN_OUTPUT_PULLDOWN | INPUT_EN | MUX_MODE1) >; }; /* mcasp0_ahclkr.ehrpwm0_synci */
10081008
P9_28_spi_cs_pin: pinmux_P9_28_spi_cs_pin { pinctrl-single,pins = <
10091009
AM33XX_IOPAD(0x099c, PIN_OUTPUT_PULLUP | INPUT_EN | MUX_MODE3) >; }; /* mcasp0_ahclkr.spi1_cs0 */
1010+
P9_28_pwm2_pin: pinmux_P9_28_pwm2_pin { pinctrl-single,pins = <
1011+
AM33XX_IOPAD(0x099c, PIN_OUTPUT_PULLDOWN | INPUT_EN | MUX_MODE4) >; }; /* mcasp0_ahclkr.ecap2_in_pwm2_out */
10101012
P9_28_pruout_pin: pinmux_P9_28_pruout_pin { pinctrl-single,pins = <
10111013
AM33XX_IOPAD(0x099c, PIN_OUTPUT_PULLDOWN | INPUT_EN | MUX_MODE5) >; }; /* mcasp0_ahclkr.pru0_out3 */
10121014
P9_28_pruin_pin: pinmux_P9_28_pruin_pin { pinctrl-single,pins = <
@@ -2059,16 +2061,17 @@ P9_27_pinmux {
20592061
P9_28_pinmux {
20602062
compatible = "bone-pinmux-helper";
20612063
status = "okay";
2062-
pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "gpio_input", "spi_cs", "pwm", "pruout", "pruin";
2064+
pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "gpio_input", "spi_cs", "pwm", "pwm2", "pruout", "pruin";
20632065
pinctrl-0 = <&P9_28_default_pin>;
20642066
pinctrl-1 = <&P9_28_gpio_pin>;
20652067
pinctrl-2 = <&P9_28_gpio_pu_pin>;
20662068
pinctrl-3 = <&P9_28_gpio_pd_pin>;
20672069
pinctrl-4 = <&P9_28_gpio_input_pin>;
20682070
pinctrl-5 = <&P9_28_spi_cs_pin>;
20692071
pinctrl-6 = <&P9_28_pwm_pin>;
2070-
pinctrl-7 = <&P9_28_pruout_pin>;
2071-
pinctrl-8 = <&P9_28_pruin_pin>;
2072+
pinctrl-7 = <&P9_28_pwm2_pin>;
2073+
pinctrl-8 = <&P9_28_pruout_pin>;
2074+
pinctrl-9 = <&P9_28_pruin_pin>;
20722075
};
20732076

20742077
/* P9_29 (ZCZ ball B13) audio */

tools/pinmux-generator/BeagleBone_Black_config-pin.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -477,8 +477,8 @@ P9_27_CAPE=""
477477
P9_28_PRU="145"
478478
P9_28_GPIO="113"
479479
P9_28_PIN="audio"
480-
P9_28_PINMUX="default gpio gpio_pu gpio_pd gpio_input spi_cs pwm pruout pruin"
481-
P9_28_INFO="gpio3_17 default gpio3_17 gpio3_17 gpio3_17 gpio3_17 spi1_cs0 ehrpwm0_synci pru0_out3 pru0_in3"
480+
P9_28_PINMUX="default gpio gpio_pu gpio_pd gpio_input spi_cs pwm pwm2 pruout pruin"
481+
P9_28_INFO="gpio3_17 default gpio3_17 gpio3_17 gpio3_17 gpio3_17 spi1_cs0 ehrpwm0_synci ecap2_in_pwm2_out pru0_out3 pru0_in3"
482482
P9_28_CAPE=""
483483

484484
P9_29_PRU="143"

tools/pinmux-generator/lib/pinmux.sh

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,11 @@ echo_pinmux () {
8484
cp_pinmux="${cp_pinmux} pwm"
8585
cp_info="${cp_info} ${pwm_name}"
8686
fi
87+
if [ "x${got_pwm2_pin}" = "xenable" ] ; then
88+
list="${list}, \"pwm2\""
89+
cp_pinmux="${cp_pinmux} pwm2"
90+
cp_info="${cp_info} ${pwm2_name}"
91+
fi
8792
if [ "x${got_pru_uart_pin}" = "xenable" ] ; then
8893
list="${list}, \"pru_uart\""
8994
cp_pinmux="${cp_pinmux} pru_uart"
@@ -164,6 +169,10 @@ echo_pinmux () {
164169
echo " pinctrl-${index} = <&${pcbpin}_pwm_pin>;" >> ${file}-pinmux.dts
165170
index=$((index + 1))
166171
fi
172+
if [ "x${got_pwm2_pin}" = "xenable" ] ; then
173+
echo " pinctrl-${index} = <&${pcbpin}_pwm2_pin>;" >> ${file}-pinmux.dts
174+
index=$((index + 1))
175+
fi
167176
if [ "x${got_pru_uart_pin}" = "xenable" ] ; then
168177
echo " pinctrl-${index} = <&${pcbpin}_pru_uart_pin>;" >> ${file}-pinmux.dts
169178
index=$((index + 1))
@@ -386,7 +395,7 @@ find_ball () {
386395
dtabs=3
387396
pinsetting="PIN_INPUT"
388397
;;
389-
pwm)
398+
pwm|pwm2)
390399
pinsetting="PIN_OUTPUT_PULLDOWN | INPUT_EN"
391400
;;
392401
uart|i2c|spi|spi_cs|spi_sclk)
@@ -432,6 +441,7 @@ find_ball () {
432441
unset got_can_pin
433442
unset got_eqep_pin
434443
unset got_pwm_pin
444+
unset got_pwm2_pin
435445
unset got_i2c_pin
436446
unset got_pru_ecap_pin
437447
unset got_pru_uart_pin
@@ -481,6 +491,12 @@ find_ball () {
481491
pinsetting="PIN_OUTPUT_PULLDOWN | INPUT_EN"
482492
got_pwm_pin="enable"
483493
;;
494+
ecap2_in_pwm2_out)
495+
valid_pin_mode="pwm2"
496+
pwm2_name=${name}
497+
pinsetting="PIN_OUTPUT_PULLDOWN | INPUT_EN"
498+
got_pwm2_pin="enable"
499+
;;
484500
i2c*_sda|i2c*_scl)
485501
valid_pin_mode="i2c"
486502
i2c_name=${name}

0 commit comments

Comments
 (0)