Khadas Docs

Amazing Khadas, always amazes you!

User Tools

Site Tools


products:sbc:common:applications:gpio:pwm

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
products:sbc:common:applications:gpio:pwm [2024/08/06 08:36]
nick
products:sbc:common:applications:gpio:pwm [2026/09/15 03:25] (current)
nick [Control PWM]
Line 8: Line 8:
  
 |         ^  PWM           ^  PIN  ^  GPIO name      ^  DT overlay node  ^  Device node              ^ |         ^  PWM           ^  PIN  ^  GPIO name      ^  DT overlay node  ^  Device node              ^
-^  VIM1   |  ''PWM_AO_A''  |  35   |  ''GPIOAO_3''   |  ''pwm_ao_a''     |  /sys/class/pwm/pwmchip4  | +^  VIM1   |  ''PWM_AO_A''  |  35   |  ''GPIOAO_3''   |  ''pwm_ao_a''     |/sys/class/pwm/pwmchip4  | 
-^  VIM2   |  ''PWM_D''     |  35   |  ''GPIODV_28''  |  ''pwm_d''        |  /sys/class/pwm/pwmchip1  | +^  VIM2   |  ''PWM_D''     |  35   |  ''GPIODV_28''  |  ''pwm_d''        |/sys/class/pwm/pwmchip1  | 
-^  VIM3   |  ''PWM_F''     |  35   |  ''GPIOH_5''    |  ''pwm_f''        |  /sys/class/pwm/pwmchip4  | +^  VIM3   |  ''PWM_F''     |  35   |  ''GPIOH_5''    |  ''pwm_f''        |/sys/class/pwm/pwmchip4  | 
-^  VIM3L  |  ''PWM_F''     |  35   |  ''GPIOH_5''    |  ''pwm_f''        | /sys/class/pwm/pwmchip0   | +^  VIM3L  |  ''PWM_F''     |  35   |  ''GPIOH_5''    |  ''pwm_f''        |/sys/class/pwm/pwmchip0   | 
-^  VIM4   |  ''PWM_F''     |  35   |  ''GPIOY_8''    |  ''pwm_f''        |  /sys/class/pwm/pwmchip4  | +^  VIM4   |  ''PWM_F''     |  35   |  ''GPIOY_8''    |  ''pwm_f''        |/sys/class/pwm/pwmchip4  | 
-^  VIM1S  |  ''PWM_F''     |  35   |  ''GPIOZ_6''    |  ''pwm_f''        |  /sys/class/pwm/pwmchip0  |+^  VIM1S  |  ''PWM_F''     |  35   |  ''GPIOZ_6''    |  ''pwm_f''        |/sys/class/pwm/pwmchip0  | 
 +^  VIM-5  |  ''PWM_J''     |  35   |  ''GPIOY_5''    |  ''pwm_j''        |Not fixed, using the below command to detect  | 
 + 
 +**VIM 5:** 
 +```shell 
 +$ set -- /sys/bus/platform/devices/fe058400.pwm/pwm/pwmchip* 
 +$ PWM_J=$1 
 +$ echo $PWM_J 
 +``` 
  
  
Line 123: Line 132:
 device  export  npwm  power  subsystem  uevent  unexport device  export  npwm  power  subsystem  uevent  unexport
 ``` ```
 +<tabbox VIM-5>
 +
 +Edit ''/boot/dtb/amlogic/kvim-5.dtb.overlay.env'' to add pwm node to ''fdt_overlays'' node if it doesn't exist.
 +
 +You need to add ''pwm_j'' to node ''fdt_overlays'' if it doesn't exist to enable ''PWM_J''.
 +
 +```shell
 +fdt_overlays=pwm_j
 +
 +```
 +
 +After reboot, you will see the pwm device node.
 +
 +```shell
 +$ set -- /sys/bus/platform/devices/fe058400.pwm/pwm/pwmchip*
 +$ PWM_J=$1
 +$ ls $PWM_J
 +device  export  npwm  power  subsystem  uevent  unexport
 +```
 +
 </tabbox> </tabbox>
  
Line 223: Line 252:
 ``` ```
  
-<tabbox VIM4/4N with 5.15 kernel> +<tabbox VIM-5> 
  
 ```shell ```shell
-echo 1 | sudo tee /sys/class/pwm/pwmchip12/export +set -- /sys/bus/platform/devices/fe058400.pwm/pwm/pwmchip* 
-echo 1000000 | sudo tee /sys/class/pwm/pwmchip12/pwm1/period +PWM_J=$1 
-echo 500000 | sudo tee /sys/class/pwm/pwmchip12/pwm1/duty_cycle +echo 0 | sudo tee "$PWM_J"/export 
-echo 1 | sudo tee /sys/class/pwm/pwmchip0/pwm12/enable+echo 1000000 | sudo tee "$PWM_J"/pwm0/period 
 +echo 500000 | sudo tee "$PWM_J"/pwm0/duty_cycle 
 +echo 1 | sudo tee "$PWM_J"/pwm0/enable
 ``` ```
  
Line 256: Line 287:
 echo 0 | sudo tee /sys/class/pwm/pwmchip0/pwm1/enable echo 0 | sudo tee /sys/class/pwm/pwmchip0/pwm1/enable
 ``` ```
- +<tabbox VIM-5> 
-<tabbox VIM4/4N with 5.15 kernel> +
 ```shell ```shell
-echo 0 | sudo tee /sys/class/pwm/pwmchip12/pwm1/enable+set -- /sys/bus/platform/devices/fe058400.pwm/pwm/pwmchip* 
 +PWM_J=$1 
 +echo 0 | sudo tee "$PWM_J"/pwm0/enable 
 +``` 
 +<tabbox VIM3L/1S>  
 +```shell 
 +echo 0 | sudo tee /sys/class/pwm/pwmchip0/pwm1/enable
 ``` ```
  
Last modified: 2024/08/06 08:36 by nick