Skip to content

Commit ed39efa

Browse files
QwaSeeKadeepn
authored andcommitted
jethubj200: update JetHub D2 DT file for I2C display and GPIO expander support
Signed-off-by: Nikita Maslo <[email protected]>
1 parent e1efe2a commit ed39efa

File tree

3 files changed

+282
-0
lines changed

3 files changed

+282
-0
lines changed

patch/kernel/archive/meson64-6.12/dt/meson-sm1-jethome-jethub-j200.dts

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
#include <dt-bindings/gpio/meson-g12a-gpio.h>
1414
#include <dt-bindings/leds/common.h>
1515
#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
16+
#include <dt-bindings/input/input.h>
17+
#include <dt-bindings/gpio/gpio.h>
1618

1719

1820
/ {
@@ -250,6 +252,60 @@
250252
model = "JETHUB-D2";
251253
};
252254

255+
gpio-keys {
256+
compatible = "gpio-keys-polled";
257+
poll-interval = <100>;
258+
259+
button_up {
260+
label = "Joystick Up";
261+
gpios = <&exp24 8 GPIO_ACTIVE_HIGH>;
262+
linux,code = <KEY_UP>;
263+
debounce-interval = <10>;
264+
};
265+
266+
button_down {
267+
label = "Joystick Down";
268+
gpios = <&exp24 9 GPIO_ACTIVE_HIGH>;
269+
linux,code = <KEY_DOWN>;
270+
debounce-interval = <10>;
271+
};
272+
273+
button_left {
274+
label = "Joystick Left";
275+
gpios = <&exp24 10 GPIO_ACTIVE_HIGH>;
276+
linux,code = <KEY_LEFT>;
277+
debounce-interval = <10>;
278+
};
279+
280+
button_right {
281+
label = "Joystick Right";
282+
gpios = <&exp24 11 GPIO_ACTIVE_HIGH>;
283+
linux,code = <KEY_RIGHT>;
284+
debounce-interval = <10>;
285+
};
286+
287+
button_center {
288+
label = "Joystick Center";
289+
gpios = <&exp24 12 GPIO_ACTIVE_HIGH>;
290+
linux,code = <KEY_ENTER>;
291+
debounce-interval = <10>;
292+
};
293+
294+
button_home {
295+
label = "Joystick Home";
296+
gpios = <&exp24 13 GPIO_ACTIVE_HIGH>;
297+
linux,code = <KEY_HOME>;
298+
debounce-interval = <10>;
299+
};
300+
301+
button_back {
302+
label = "Joystick Back";
303+
gpios = <&exp24 14 GPIO_ACTIVE_HIGH>;
304+
linux,code = <KEY_BACK>;
305+
debounce-interval = <10>;
306+
};
307+
};
308+
253309
};
254310

255311
&arb {
@@ -628,6 +684,28 @@
628684
reg = <0x49>;
629685
};
630686

687+
ssd1306: oled@3c {
688+
compatible = "solomon,ssd1306";
689+
reg = <0x3c>;
690+
solomon,com-invdir;
691+
solomon,page-offset = <0x00>;
692+
solomon,dclk-div = <1>;
693+
solomon,dclk-frq = <8>;
694+
solomon,prechargep1 = <2>;
695+
solomon,prechargep2 = <8>;
696+
};
697+
698+
exp24: gpio@24 {
699+
compatible = "nxp,pca9535";
700+
reg = <0x24>;
701+
gpio-controller;
702+
#gpio-cells = <2>;
703+
704+
gpio-line-names =
705+
"", "", "", "", "", "", "", "",
706+
"JOY_UP", "JOY_DOWN", "JOY_LEFT", "JOY_RIGHT",
707+
"JOY_CENTER", "JOY_HOME", "JOY_BACK", "";
708+
};
631709
};
632710

633711
&efuse {

patch/kernel/archive/meson64-6.18/dt/meson-sm1-jethome-jethub-j200.dts

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
#include <dt-bindings/gpio/meson-g12a-gpio.h>
1414
#include <dt-bindings/leds/common.h>
1515
#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
16+
#include <dt-bindings/input/input.h>
17+
#include <dt-bindings/gpio/gpio.h>
1618

1719

1820
/ {
@@ -250,6 +252,60 @@
250252
model = "JETHUB-D2";
251253
};
252254

255+
gpio-keys {
256+
compatible = "gpio-keys-polled";
257+
poll-interval = <100>;
258+
259+
button_up {
260+
label = "Joystick Up";
261+
gpios = <&exp24 8 GPIO_ACTIVE_HIGH>;
262+
linux,code = <KEY_UP>;
263+
debounce-interval = <10>;
264+
};
265+
266+
button_down {
267+
label = "Joystick Down";
268+
gpios = <&exp24 9 GPIO_ACTIVE_HIGH>;
269+
linux,code = <KEY_DOWN>;
270+
debounce-interval = <10>;
271+
};
272+
273+
button_left {
274+
label = "Joystick Left";
275+
gpios = <&exp24 10 GPIO_ACTIVE_HIGH>;
276+
linux,code = <KEY_LEFT>;
277+
debounce-interval = <10>;
278+
};
279+
280+
button_right {
281+
label = "Joystick Right";
282+
gpios = <&exp24 11 GPIO_ACTIVE_HIGH>;
283+
linux,code = <KEY_RIGHT>;
284+
debounce-interval = <10>;
285+
};
286+
287+
button_center {
288+
label = "Joystick Center";
289+
gpios = <&exp24 12 GPIO_ACTIVE_HIGH>;
290+
linux,code = <KEY_ENTER>;
291+
debounce-interval = <10>;
292+
};
293+
294+
button_home {
295+
label = "Joystick Home";
296+
gpios = <&exp24 13 GPIO_ACTIVE_HIGH>;
297+
linux,code = <KEY_HOME>;
298+
debounce-interval = <10>;
299+
};
300+
301+
button_back {
302+
label = "Joystick Back";
303+
gpios = <&exp24 14 GPIO_ACTIVE_HIGH>;
304+
linux,code = <KEY_BACK>;
305+
debounce-interval = <10>;
306+
};
307+
};
308+
253309
};
254310

255311
&arb {
@@ -628,6 +684,28 @@
628684
reg = <0x49>;
629685
};
630686

687+
ssd1306: oled@3c {
688+
compatible = "solomon,ssd1306";
689+
reg = <0x3c>;
690+
solomon,com-invdir;
691+
solomon,page-offset = <0x00>;
692+
solomon,dclk-div = <1>;
693+
solomon,dclk-frq = <8>;
694+
solomon,prechargep1 = <2>;
695+
solomon,prechargep2 = <8>;
696+
};
697+
698+
exp24: gpio@24 {
699+
compatible = "nxp,pca9535";
700+
reg = <0x24>;
701+
gpio-controller;
702+
#gpio-cells = <2>;
703+
704+
gpio-line-names =
705+
"", "", "", "", "", "", "", "",
706+
"JOY_UP", "JOY_DOWN", "JOY_LEFT", "JOY_RIGHT",
707+
"JOY_CENTER", "JOY_HOME", "JOY_BACK", "";
708+
};
631709
};
632710

633711
&efuse {
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2+
From: Nikita Maslo <[email protected]>
3+
Date: Thu, 27 Nov 2025 17:30:11 +0300
4+
Subject: add ssd1306, joystick and gpio expander support
5+
6+
---
7+
arch/arm/dts/meson-sm1-jethome-jethub-j200.dts | 78 ++++++++++++++++++-
8+
1 file changed, 77 insertions(+), 1 deletion(-)
9+
10+
diff --git a/arch/arm/dts/meson-sm1-jethome-jethub-j200.dts b/arch/arm/dts/meson-sm1-jethome-jethub-j200.dts
11+
index 3151a99974c..8acc3785ba3 100644
12+
--- a/arch/arm/dts/meson-sm1-jethome-jethub-j200.dts
13+
+++ b/arch/arm/dts/meson-sm1-jethome-jethub-j200.dts
14+
@@ -9,11 +9,12 @@
15+
#include "meson-sm1.dtsi"
16+
17+
#include <dt-bindings/gpio/meson-g12a-gpio.h>
18+
#include <dt-bindings/leds/common.h>
19+
#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
20+
-
21+
+#include <dt-bindings/input/input.h>
22+
+#include <dt-bindings/gpio/gpio.h>
23+
24+
/ {
25+
26+
compatible = "jethome,jethub-j200", "amlogic,sm1";
27+
model = "JetHome JetHub D2";
28+
@@ -245,10 +246,63 @@
29+
30+
sound {
31+
model = "JETHUB-D2";
32+
};
33+
34+
+ gpio-keys {
35+
+ compatible = "gpio-keys-polled";
36+
+ poll-interval = <100>;
37+
+
38+
+ button_up {
39+
+ label = "Joystick Up";
40+
+ gpios = <&exp24 8 GPIO_ACTIVE_HIGH>;
41+
+ linux,code = <KEY_UP>;
42+
+ debounce-interval = <10>;
43+
+ };
44+
+
45+
+ button_down {
46+
+ label = "Joystick Down";
47+
+ gpios = <&exp24 9 GPIO_ACTIVE_HIGH>;
48+
+ linux,code = <KEY_DOWN>;
49+
+ debounce-interval = <10>;
50+
+ };
51+
+
52+
+ button_left {
53+
+ label = "Joystick Left";
54+
+ gpios = <&exp24 10 GPIO_ACTIVE_HIGH>;
55+
+ linux,code = <KEY_LEFT>;
56+
+ debounce-interval = <10>;
57+
+ };
58+
+
59+
+ button_right {
60+
+ label = "Joystick Right";
61+
+ gpios = <&exp24 11 GPIO_ACTIVE_HIGH>;
62+
+ linux,code = <KEY_RIGHT>;
63+
+ debounce-interval = <10>;
64+
+ };
65+
+
66+
+ button_center {
67+
+ label = "Joystick Center";
68+
+ gpios = <&exp24 12 GPIO_ACTIVE_HIGH>;
69+
+ linux,code = <KEY_ENTER>;
70+
+ debounce-interval = <10>;
71+
+ };
72+
+
73+
+ button_home {
74+
+ label = "Joystick Home";
75+
+ gpios = <&exp24 13 GPIO_ACTIVE_HIGH>;
76+
+ linux,code = <KEY_HOME>;
77+
+ debounce-interval = <10>;
78+
+ };
79+
+
80+
+ button_back {
81+
+ label = "Joystick Back";
82+
+ gpios = <&exp24 14 GPIO_ACTIVE_HIGH>;
83+
+ linux,code = <KEY_BACK>;
84+
+ debounce-interval = <10>;
85+
+ };
86+
+ };
87+
};
88+
89+
&arb {
90+
status = "okay";
91+
};
92+
@@ -627,10 +681,32 @@
93+
temp2: tmp102@49 {
94+
compatible = "ti,tmp102";
95+
reg = <0x49>;
96+
};
97+
98+
+ ssd1306: oled@3c {
99+
+ compatible = "solomon,ssd1306";
100+
+ reg = <0x3c>;
101+
+ solomon,com-invdir;
102+
+ solomon,page-offset = <0x00>;
103+
+ solomon,dclk-div = <1>;
104+
+ solomon,dclk-frq = <8>;
105+
+ solomon,prechargep1 = <2>;
106+
+ solomon,prechargep2 = <8>;
107+
+ };
108+
+
109+
+ exp24: gpio@24 {
110+
+ compatible = "nxp,pca9535";
111+
+ reg = <0x24>;
112+
+ gpio-controller;
113+
+ #gpio-cells = <2>;
114+
+
115+
+ gpio-line-names =
116+
+ "", "", "", "", "", "", "", "",
117+
+ "JOY_UP", "JOY_DOWN", "JOY_LEFT", "JOY_RIGHT",
118+
+ "JOY_CENTER", "JOY_HOME", "JOY_BACK", "";
119+
+ };
120+
};
121+
122+
&efuse {
123+
eth_mac: eth-mac@0 {
124+
reg = <0x0 0x6>;
125+
--
126+
Armbian

0 commit comments

Comments
 (0)