ODROID-C5: ir: Add hardkernel remote control support
Signed-off-by: YoungSoo Shin <shinys000114@gmail.com>
Change-Id: Ieae7b81487a8c2bea5e1351913a3ee2358e91943
diff --git a/arch/arm64/boot/dts/amlogic/hardkernel_ir_map.dtsi b/arch/arm64/boot/dts/amlogic/hardkernel_ir_map.dtsi
new file mode 100644
index 0000000..ef895b5
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/hardkernel_ir_map.dtsi
@@ -0,0 +1,32 @@
+/ {
+ hk_ir_maps: hk_ir_maps {
+ map_num = <1>;
+ map0 = <&map_hk_rc>;
+
+ map_hk_rc: map_hk_rc{
+ mapname = "map_hk_rc";
+ customcode = <0x4DB2>;
+ release_delay = <80>;
+ size = <12>; /*keymap size*/
+ keymap = <REMOTE_KEY(0xDC, KEY_POWER)
+ REMOTE_KEY(0x88, KEY_MUTE)
+ REMOTE_KEY(0x82, KEY_HOME)
+ REMOTE_KEY(0xCE, KEY_ENTER)
+ REMOTE_KEY(0xCA, KEY_UP)
+ REMOTE_KEY(0x99, KEY_LEFT)
+ REMOTE_KEY(0xC1, KEY_RIGHT)
+ REMOTE_KEY(0xD2, KEY_DOWN)
+ REMOTE_KEY(0xC5, KEY_MENU)
+ REMOTE_KEY(0x9A, KEY_BACK)
+ REMOTE_KEY(0x81, KEY_VOLUMEDOWN)
+ REMOTE_KEY(0x80, KEY_VOLUMEUP)>;
+ };
+ };
+
+ hk_ir_wakeup_key: hk_ir_wakeup_key {
+ key_num = <1>;
+ /*framecode wakeup_reason report_event*/
+ wakeup_key = <0x23dc4db2 IR_NORMAL KEY_POWER
+ >;
+ };
+};
\ No newline at end of file
diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc5/Makefile b/arch/arm64/boot/dts/amlogic/overlays/odroidc5/Makefile
index 3c867e1..c368cb9 100644
--- a/arch/arm64/boot/dts/amlogic/overlays/odroidc5/Makefile
+++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc5/Makefile
@@ -3,6 +3,7 @@
dtb-y += dht11.dtbo \
i2c0.dtbo \
i2c1.dtbo \
+ ir.dtbo \
mcp2515.dtbo \
mcp2515_12mhz.dtbo \
mcp2515_16mhz.dtbo \
diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc5/ir.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc5/ir.dts
new file mode 100644
index 0000000..ad9c007
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc5/ir.dts
@@ -0,0 +1,12 @@
+/dts-v1/;
+/plugin/;
+
+/ {
+ fragment@0 {
+ target = <&ir>;
+
+ __overlay__ {
+ status = "okay";
+ };
+ };
+};
\ No newline at end of file
diff --git a/arch/arm64/boot/dts/amlogic/s7d_s905x5m_odroidc5.dts b/arch/arm64/boot/dts/amlogic/s7d_s905x5m_odroidc5.dts
index ca86794..e721f2a 100644
--- a/arch/arm64/boot/dts/amlogic/s7d_s905x5m_odroidc5.dts
+++ b/arch/arm64/boot/dts/amlogic/s7d_s905x5m_odroidc5.dts
@@ -8,6 +8,7 @@
#include "meson-s7d.dtsi"
#include "mesons7d_drm.dtsi"
#include "mesons7d_audio.dtsi"
+#include "hardkernel_ir_map.dtsi"
/delete-node/ &internal_ephy;
/delete-node/ &pcie;
@@ -980,9 +981,11 @@
};
&ir {
- status = "okay";
+ status = "disabled";
pinctrl-0 = <&remote_pins>;
pinctrl-names = "default";
+ map = <&hk_ir_maps>;
+ wakeup_map = <&hk_ir_wakeup_key>;
};
&spicc0 {