From e4de9ee7541710cc21c1069c6d13b8c74db38eff Mon Sep 17 00:00:00 2001 From: Jaechul Lee Date: Mon, 4 Nov 2019 16:16:17 +0900 Subject: [PATCH] arm: dts: bcm2711-rpi-4-b: Adds buttons for speaker profile Tizen Speaker Profile uses a keypad that consists of 5 buttons for up/down/left/right/center. The buttons are connected to GPIO pins as follows. GPIO16 : KEY_VOLUMEUP GPIO13 : KEY_VOLUMEDOWN GPIO6 : KEY_FASTFORWARD GPIO12 : KEY_REWIND GPIO25 : KEY_PLAYPAUSE Change-Id: Iadaa10478c32517ae09c1c10f1d29d0f2518bfb5 Signed-off-by: Jaechul Lee --- arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 66 +++++++++++++++++++++++++++++++++++ rpi4/boot/config.txt | 3 ++ 2 files changed, 69 insertions(+) diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts index 8ff80d6..a392164 100644 --- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts +++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts @@ -2,6 +2,7 @@ /dts-v1/; #include "bcm2711.dtsi" #include "bcm2835-rpi.dtsi" +#include / { compatible = "raspberrypi,4-model-b", "brcm,bcm2711"; @@ -22,6 +23,40 @@ ethernet0 = &genet; }; + gpio-keys { + compatible = "gpio-keys"; + + key-volume-up { + lable = "volume-up"; + linux,code = ; + gpios = <&gpio 16 GPIO_ACTIVE_LOW>; + }; + + key-volume-down { + lable = "volume-down"; + linux,code = ; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + }; + + key-fastforward { + lable = "fastforward"; + linux,code = ; + gpios = <&gpio 6 GPIO_ACTIVE_LOW>; + }; + + key-rewind { + lable = "rewind"; + linux,code = ; + gpios = <&gpio 12 GPIO_ACTIVE_LOW>; + }; + + key-playpause { + lable = "playpause"; + linux,code = ; + gpios = <&gpio 25 GPIO_ACTIVE_LOW>; + }; + }; + leds { act { gpios = <&gpio 42 GPIO_ACTIVE_HIGH>; @@ -420,6 +455,37 @@ brcm,function = ; brcm,pull = <0 2>; }; + + /* Needs to describe gpio settings at config.txt */ + key_volume_up: key_volume_up { + brcm,pins = <16>; + brcm,function = <1>; /* BCM2835_FSEL_GPIO_IN */ + brcm,pull = <2>; /* BCM2835_PUD_UP */ + }; + + key_volume_down: key_volume_down { + brcm,pins = <13>; + brcm,function = <1>; + brcm,pull = <2>; + }; + + key_fastforward: key_fastforward { + brcm,pins = <6>; + brcm,function = <1>; + brcm,pull = <2>; + }; + + key_rewind: key_rewind { + brcm,pins = <12>; + brcm,function = <1>; + brcm,pull = <2>; + }; + + key_playpause: key_playpause { + brcm,pins = <25>; + brcm,function = <1>; + brcm,pull = <2>; + }; }; &i2c0if { diff --git a/rpi4/boot/config.txt b/rpi4/boot/config.txt index 1dd43e0..8984ea8 100644 --- a/rpi4/boot/config.txt +++ b/rpi4/boot/config.txt @@ -77,3 +77,6 @@ disable_camera_led=1 # Defines the HDMI output group DMT, set defualt mode 720p hdmi_group=2 hdmi_mode=85 + +# Set gpio pins to Input, Pullup mode. +gpio=6,12,13,16,25=ip,pu -- 2.7.4