summaryrefslogtreecommitdiffstats
path: root/target/device/valka/target_skeleton/etc/rc.d/gpio
diff options
context:
space:
mode:
Diffstat (limited to 'target/device/valka/target_skeleton/etc/rc.d/gpio')
-rwxr-xr-xtarget/device/valka/target_skeleton/etc/rc.d/gpio34
1 files changed, 34 insertions, 0 deletions
diff --git a/target/device/valka/target_skeleton/etc/rc.d/gpio b/target/device/valka/target_skeleton/etc/rc.d/gpio
new file mode 100755
index 000000000..39eb74dcc
--- /dev/null
+++ b/target/device/valka/target_skeleton/etc/rc.d/gpio
@@ -0,0 +1,34 @@
+#!/bin/ash
+. /etc/rc.subr
+
+start() {
+ echo -n " * Setting up GPIO: "
+
+ if ! create_gpio "io0" 1 0x03f8802a 0x03f88000; then
+ log_error "io0 failed"
+ echo "failed"
+ return 1
+ fi
+ if ! create_gpio "io1" 0 0xaa800000 0x00000000; then
+ log_error "io1 failed"
+ echo "failed"
+ return 1
+ fi
+ echo "Ok"
+}
+
+stop() {
+ return 0
+}
+
+create_gpio() {
+ if ! mkdir_fs /config/gpio/${1}; then
+ return 1
+ fi
+ echo "${2}" > /config/gpio/${1}/gpio_id
+ echo "${3}" > /config/gpio/${1}/pin_mask
+ echo "${4}" > /config/gpio/${1}/oe_mask
+ echo "1" > /config/gpio/${1}/enabled
+}
+
+rc_run_command "$1" "gpio"