From 106685906579e4c5528fcd22abf79c6719d633fb Mon Sep 17 00:00:00 2001 From: Rabit Date: Sun, 8 Jul 2018 14:12:15 -0700 Subject: [PATCH 1/2] ASUS Tinkerboard: Added gpio & i2c groups with udev rules to devices --- config/sources/rockchip.conf | 8 ++++++++ packages/bsp/rockchip/70-gpio.rules | 2 ++ packages/bsp/rockchip/71-i2c.rules | 2 ++ patch/kernel/rockchip-default/261_gpiomem_driver.patch | 2 +- patch/kernel/rockchip-next/261_gpiomem_driver.patch | 2 +- 5 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 packages/bsp/rockchip/70-gpio.rules create mode 100644 packages/bsp/rockchip/71-i2c.rules diff --git a/config/sources/rockchip.conf b/config/sources/rockchip.conf index 4a622523a2..380ec0b98f 100644 --- a/config/sources/rockchip.conf +++ b/config/sources/rockchip.conf @@ -82,10 +82,18 @@ family_tweaks_bsp() cp $SRC/packages/bsp/rockchip/60-media.rules $destination/etc/udev/rules.d cp $SRC/packages/bsp/rockchip/pulseaudio.txt $destination/usr/local/bin install -m 755 $SRC/packages/bsp/rockchip/hdmi-hotplug $destination/usr/local/bin + + # Peripheral access for specific groups + addgroup --system --quiet --gid 997 gpio + addgroup --system --quiet --gid 998 i2c + cp $SRC/packages/bsp/rockchip/70-gpio.rules $destination/etc/udev/rules.d + cp $SRC/packages/bsp/rockchip/71-i2c.rules $destination/etc/udev/rules.d + # Bluetooth install -m 755 $SRC/packages/bsp/rockchip/rtk_hciattach $destination/usr/bin install -m 755 $SRC/packages/bsp/rockchip/start_bt.sh $destination/usr/local/bin cp $SRC/packages/bsp/rockchip/tinker-bluetooth.service $destination/lib/systemd/system/ + # Sound cp $SRC/packages/bsp/rockchip/asound.conf $destination/etc/ } diff --git a/packages/bsp/rockchip/70-gpio.rules b/packages/bsp/rockchip/70-gpio.rules new file mode 100644 index 0000000000..4a0c7e1e07 --- /dev/null +++ b/packages/bsp/rockchip/70-gpio.rules @@ -0,0 +1,2 @@ +# Allow group gpio to access gpiomem device +SUBSYSTEM=="rk3288-gpiomem", GROUP="gpio", MODE="0660" diff --git a/packages/bsp/rockchip/71-i2c.rules b/packages/bsp/rockchip/71-i2c.rules new file mode 100644 index 0000000000..74213646af --- /dev/null +++ b/packages/bsp/rockchip/71-i2c.rules @@ -0,0 +1,2 @@ +# Allow i2c group to access i2c devices +SUBSYSTEM=="i2c-dev", GROUP="i2c", MODE="0660" diff --git a/patch/kernel/rockchip-default/261_gpiomem_driver.patch b/patch/kernel/rockchip-default/261_gpiomem_driver.patch index c8327f1bc3..d43f045d12 100644 --- a/patch/kernel/rockchip-default/261_gpiomem_driver.patch +++ b/patch/kernel/rockchip-default/261_gpiomem_driver.patch @@ -228,7 +228,7 @@ index 0000000..984471c + +static int rk3288_gpiomem_dev_uevent(struct device *dev, struct kobj_uevent_env *env) +{ -+ add_uevent_var(env, "DEVMODE=%#o", 0666); ++ add_uevent_var(env, "DEVMODE=%#o", 0660); + return 0; +} + diff --git a/patch/kernel/rockchip-next/261_gpiomem_driver.patch b/patch/kernel/rockchip-next/261_gpiomem_driver.patch index a132834ed9..6c195bada8 100644 --- a/patch/kernel/rockchip-next/261_gpiomem_driver.patch +++ b/patch/kernel/rockchip-next/261_gpiomem_driver.patch @@ -227,7 +227,7 @@ index 0000000..c289041 + +static int rk3288_gpiomem_dev_uevent(struct device *dev, struct kobj_uevent_env *env) +{ -+ add_uevent_var(env, "DEVMODE=%#o", 0666); ++ add_uevent_var(env, "DEVMODE=%#o", 0660); + return 0; +} + From dee62df8bb2fe8611fd41ddf02063fa15533298c Mon Sep 17 00:00:00 2001 From: Rabit Date: Sun, 8 Jul 2018 15:53:57 -0700 Subject: [PATCH 2/2] ASUS Tinkerboard: Added rules to enable edge detection for gpio --- packages/bsp/rockchip/70-gpio.rules | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/bsp/rockchip/70-gpio.rules b/packages/bsp/rockchip/70-gpio.rules index 4a0c7e1e07..b2e2b2c0ae 100644 --- a/packages/bsp/rockchip/70-gpio.rules +++ b/packages/bsp/rockchip/70-gpio.rules @@ -1,2 +1,9 @@ # Allow group gpio to access gpiomem device SUBSYSTEM=="rk3288-gpiomem", GROUP="gpio", MODE="0660" + +# To allow additional features like edge detection +SUBSYSTEM=="gpio*", PROGRAM="/bin/sh -c '\ + chown -R root:gpio /sys/class/gpio && chmod -R 770 /sys/class/gpio;\ + chown -R root:gpio /sys/devices/virtual/gpio && chmod -R 770 /sys/devices/virtual/gpio;\ + chown -R root:gpio /sys$devpath && chmod -R 770 /sys$devpath\ +'"