Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
en:acc:vu8 [2017/01/19 10:35] joy.cho [2. Backlight ON/OFF.] |
en:acc:vu8 [2017/01/19 14:18] joy.cho [3. Backlight control with PWM.] |
||
---|---|---|---|
Line 83: | Line 83: | ||
=== [ Android ] === | === [ Android ] === | ||
- | In case of Android, please add the followings in **init.odroid.board.rc**.\\ | + | In case of Android, please add the followings in "init.odroid.board.rc".\\ |
First, make the filesystem writable. | First, make the filesystem writable. | ||
<code> | <code> | ||
Line 90: | Line 90: | ||
</code> | </code> | ||
- | Add **# vu8c backlight control** part in /init.odroid.board.rc as following. | + | Make or download the following shell script of the board model that you're using (C1 or C2)\\ |
+ | and copy it in **/system/bin/**.\\ | ||
+ | And make its permission executable. | ||
- | **ODROID-C2** | ||
<code> | <code> | ||
- | .... | + | # su |
- | ..... | + | # chmod 755 /system/bin/vu8c_backlight_c2_android.sh |
- | on boot | + | </code> |
- | setprop ro.radio.noril true | + | |
- | write /sys/class/freq_limit/limit 0 | + | |
- | write /sys/devices/system/cpu/cpu0/cpufreq/scaling_dflt_freq 1536000 | + | |
- | # Permissions for bluetooth$ | + | **ODROID-C2** |
- | setprop ro.bt.bdaddr_path "/efs/bluetooth/bt_addr"$ | + | <file sh vu8c_backlight_c2_android.sh> |
- | chown bluetooth bluetooth ro.bt.bdaddr_path$ | + | #!/bin/sh |
- | # vu8c backlight control | + | path="/sys/class/gpio" |
- | echo 234 > /sys/class/gpio/export | + | |
- | echo 214 > /sys/class/gpio/export | + | echo 234 > $path/export |
- | echo out > /sys/class/gpio/gpio234/direction | + | echo 214 > $path/export |
- | echo out > /sys/class/gpio/gpio214/direction | + | |
- | echo 0 > /sys/class/gpio/gpio234/value | + | echo out > $path/gpio234/direction |
- | echo 0 > /sys/class/gpio/gpio214/value | + | echo out > $path/gpio214/direction |
+ | echo 0 > $path/gpio234/value | ||
+ | echo 0 > $path/gpio214/value | ||
+ | |||
+ | chown system system $path/gpio234/value | ||
+ | chown system system $path/gpio214/value | ||
+ | </file> | ||
+ | |||
+ | Now, you need to register the service to run this script automatically on boot time.\\ | ||
+ | Add the following lines in the end of /init.odroid.board.rc.\\ | ||
+ | Don't forget the root filesystem should be writable as aforementioned. | ||
+ | <code> | ||
+ | # su | ||
+ | # vi /init.odroid.board.rc | ||
..... | ..... | ||
..... | ..... | ||
+ | service vu8c_backlight /system/bin/vu8c_backlight_c2_android.sh | ||
+ | class main | ||
+ | user root | ||
+ | group root | ||
+ | oneshot | ||
</code> | </code> | ||
+ | Then, reboot. | ||
+ | <code> | ||
+ | $ reboot | ||
+ | </code> | ||
+ | After reboot, you can confirm if the nodes are configured normally by checking "gpio214" and "gpio234". | ||
+ | <code> | ||
+ | $ ls /sys/class/gpio/ | ||
+ | export | ||
+ | gpio214 | ||
+ | gpio234 | ||
+ | gpiochip122 | ||
+ | gpiochip136 | ||
+ | unexport | ||
+ | </code> | ||
+ | **ODROID-C1** | ||
+ | <file sh vu8c_backlight_c1_android.sh> | ||
+ | #!/bin/sh | ||
+ | path="/sys/class/gpio" | ||
+ | |||
+ | echo 97 > $path/export | ||
+ | echo 108 > $path/export | ||
+ | |||
+ | echo out > $path/gpio97/direction | ||
+ | echo out > $path/gpio108/direction | ||
+ | echo 0 > $path/gpio97/value | ||
+ | echo 0 > $path/gpio108/value | ||
+ | |||
+ | chown system system $path/gpio97/value | ||
+ | chown system system $path/gpio108/value | ||
+ | </file> | ||
+ | Now, you need to register the service to run this script automatically on boot time.\\ | ||
+ | Add the following lines in the end of /init.odroid.board.rc.\\ | ||
+ | Don't forget the root filesystem should be writable as aforementioned. | ||
+ | |||
+ | <code> | ||
+ | # su | ||
+ | # vi /init.odroid.board.rc | ||
+ | ..... | ||
+ | ..... | ||
+ | service vu8c_backlight /system/bin/vu8c_backlight_c2_android.sh | ||
+ | class main | ||
+ | user root | ||
+ | group root | ||
+ | oneshot | ||
+ | </code> | ||
+ | Then, reboot. | ||
+ | <code> | ||
+ | $ reboot | ||
+ | </code> | ||
+ | After reboot, you can confirm if the nodes are configured normally by checking "gpio97" and "gpio108". | ||
+ | <code> | ||
+ | $ ls /sys/class/gpio/ | ||
+ | export | ||
+ | gpio97 | ||
+ | gpio108 | ||
+ | ...... | ||
+ | ...... | ||
+ | unexport | ||
+ | </code> | ||
==== 3. Backlight control with PWM. ==== | ==== 3. Backlight control with PWM. ==== | ||
+ | |||
=== GPIO configuration === | === GPIO configuration === | ||
== ODROID-C2 == | == ODROID-C2 == | ||
- | cd /sys/class/gpio | + | <code> |
- | echo 214 | sudo tee export | + | cd /sys/class/gpio |
- | echo out | sudo tee gpio214/direction | + | echo 214 | sudo tee export |
- | echo 0 | sudo tee gpio214/value | + | echo out | sudo tee gpio214/direction |
- | echo 234 | sudo tee unexport | + | echo 0 | sudo tee gpio214/value |
+ | echo 234 | sudo tee unexport | ||
+ | </code> | ||
== ODROID-C1+/C1/C0 == | == ODROID-C1+/C1/C0 == | ||
- | cd /sys/class/gpio | + | <code> |
- | echo 97 | sudo tee export | + | cd /sys/class/gpio |
- | echo out | sudo tee gpio97/direction | + | echo 97 | sudo tee export |
- | echo 0 | sudo tee gpio97/value | + | echo out | sudo tee gpio97/direction |
- | echo 108 | sudo tee unexport | + | echo 0 | sudo tee gpio97/value |
+ | echo 108 | sudo tee unexport | ||
+ | </code> | ||
=== PWM configuration === | === PWM configuration === | ||
+ | |||
+ | == [Ubuntu] == | ||
Load PWM driver modules. | Load PWM driver modules. | ||
- | sudo modprobe pwm-meson | + | <code> |
- | sudo modprobe pwm-ctrl | + | sudo modprobe pwm-meson |
- | Ignore warning message of "pwm-ctrl pwm-ctrl: cannot export to PWM-1 : modprobe pwm-meson npwm=2" | + | sudo modprobe pwm-ctrl |
+ | </code> | ||
+ | Ignore warning message of "pwm-ctrl pwm-ctrl: cannot export to PWM-1 : modprobe pwm-meson npwm=2" \\ | ||
+ | Enable PWM via sysfs. \\ | ||
+ | <code> | ||
+ | echo 100000 | sudo tee /sys/devices/platform/pwm-ctrl/freq0 | ||
+ | echo 1 | sudo tee /sys/devices/platform/pwm-ctrl/enable0 | ||
+ | </code> | ||
+ | Set duty ratio (value can be 0 to 1023. Lower is brighter) | ||
+ | <code> | ||
+ | echo 1023 | sudo tee /sys/devices/platform/pwm-ctrl/duty0 | ||
+ | </code> | ||
+ | == [Android] == | ||
+ | Load PWM driver modules. | ||
+ | <code> | ||
+ | root@odroidc2:/ # insmod /system/lib/modules/pwm-meson.ko npwm="1" | ||
+ | root@odroidc2:/ # insmod /system/lib/modules/pwm-ctrl.ko | ||
+ | </code> | ||
Enable PWM via sysfs. | Enable PWM via sysfs. | ||
- | echo 100000 | sudo tee /sys/devices/platform/pwm-ctrl/freq0 | + | |
- | echo 1 | sudo tee /sys/devices/platform/pwm-ctrl/enable0 | + | <code> |
- | Set duty ratio (value can be 0 to 1023. Higher is brighter) | + | root@odroidc2:/ # cd /sys/devices/pwm-ctrl.43/ |
- | echo 1023 | sudo tee /sys/devices/platform/pwm-ctrl/duty0 | + | root@odroidc2:/sys/devices/pwm-ctrl.43 # ls |
+ | driver | ||
+ | duty0 | ||
+ | enable0 | ||
+ | freq0 | ||
+ | modalias | ||
+ | power | ||
+ | subsystem | ||
+ | uevent | ||
+ | root@odroidc2:/sys/devices/pwm-ctrl.43 # cat enable0 | ||
+ | PWM_0 : off | ||
+ | root@odroidc2:/sys/devices/pwm-ctrl.43 # echo 1 > enable0 | ||
+ | root@odroidc2:/sys/devices/pwm-ctrl.43 # cat enable0 | ||
+ | PWM_0 : on | ||
+ | </code> | ||
+ | Set default frequency. | ||
+ | <code> | ||
+ | root@odroidc2:/sys/devices/pwm-ctrl.43 # echo 100000 > freq0 | ||
+ | </code> | ||
+ | Set duty ratio.\\ | ||
+ | Value can be 0 to 1023 and lower value means brighter. | ||
+ | <code> | ||
+ | root@odroidc2:/sys/devices/pwm-ctrl.43 # cat duty0 | ||
+ | 0 | ||
+ | root@odroidc2:/sys/devices/pwm-ctrl.43 #echo 160 > duty0 | ||
+ | root@odroidc2:/sys/devices/pwm-ctrl.43 # cat duty0 | ||
+ | 160 | ||
+ | </code> | ||
==== 4. How to Set Auto Backlight On/Off by Monitor Status ==== | ==== 4. How to Set Auto Backlight On/Off by Monitor Status ==== |