xref: /linux/arch/arm/boot/dts/allwinner/sun8i-t113s-netcube-nagami-keypad-carrier.dts (revision 4f38da1f027ea2c9f01bb71daa7a299c191b6940)
1*caffed08SLukas Schmid// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*caffed08SLukas Schmid/*
3*caffed08SLukas Schmid * Copyright (C) 2025 Lukas Schmid <lukas.schmid@netcube.li>
4*caffed08SLukas Schmid */
5*caffed08SLukas Schmid
6*caffed08SLukas Schmid/dts-v1/;
7*caffed08SLukas Schmid#include "sun8i-t113s-netcube-nagami.dtsi"
8*caffed08SLukas Schmid
9*caffed08SLukas Schmid#include <dt-bindings/input/input.h>
10*caffed08SLukas Schmid#include <dt-bindings/leds/common.h>
11*caffed08SLukas Schmid
12*caffed08SLukas Schmid/ {
13*caffed08SLukas Schmid	model = "NetCube Systems Nagami Keypad Carrier Board";
14*caffed08SLukas Schmid	compatible = "netcube,nagami-keypad-carrier", "netcube,nagami",
15*caffed08SLukas Schmid		     "allwinner,sun8i-t113s";
16*caffed08SLukas Schmid
17*caffed08SLukas Schmid	leds {
18*caffed08SLukas Schmid		compatible = "gpio-leds";
19*caffed08SLukas Schmid
20*caffed08SLukas Schmid		led_status_red: led-status-red {
21*caffed08SLukas Schmid			gpios = <&pio 3 16 GPIO_ACTIVE_HIGH>;  /* PD16 */
22*caffed08SLukas Schmid			color = <LED_COLOR_ID_RED>;
23*caffed08SLukas Schmid			function = LED_FUNCTION_STATUS;
24*caffed08SLukas Schmid		};
25*caffed08SLukas Schmid
26*caffed08SLukas Schmid		led_status_green: led-status-green {
27*caffed08SLukas Schmid			gpios = <&pio 3 22 GPIO_ACTIVE_HIGH>;  /* PD22 */
28*caffed08SLukas Schmid			color = <LED_COLOR_ID_GREEN>;
29*caffed08SLukas Schmid			function = LED_FUNCTION_STATUS;
30*caffed08SLukas Schmid		};
31*caffed08SLukas Schmid	};
32*caffed08SLukas Schmid};
33*caffed08SLukas Schmid
34*caffed08SLukas Schmid&i2c2 {
35*caffed08SLukas Schmid	status = "okay";
36*caffed08SLukas Schmid
37*caffed08SLukas Schmid	tca8418: keypad@34 {
38*caffed08SLukas Schmid		compatible = "ti,tca8418";
39*caffed08SLukas Schmid		reg = <0x34>;
40*caffed08SLukas Schmid		interrupts-extended = <&pio 5 6 IRQ_TYPE_EDGE_FALLING>;  /* PF6 */
41*caffed08SLukas Schmid		linux,keymap = <MATRIX_KEY(0x03, 0x00, KEY_NUMERIC_A)
42*caffed08SLukas Schmid				MATRIX_KEY(0x03, 0x01, KEY_NUMERIC_1)
43*caffed08SLukas Schmid				MATRIX_KEY(0x03, 0x02, KEY_NUMERIC_2)
44*caffed08SLukas Schmid				MATRIX_KEY(0x03, 0x03, KEY_NUMERIC_3)
45*caffed08SLukas Schmid				MATRIX_KEY(0x02, 0x00, KEY_NUMERIC_B)
46*caffed08SLukas Schmid				MATRIX_KEY(0x02, 0x01, KEY_NUMERIC_4)
47*caffed08SLukas Schmid				MATRIX_KEY(0x02, 0x02, KEY_NUMERIC_5)
48*caffed08SLukas Schmid				MATRIX_KEY(0x02, 0x03, KEY_NUMERIC_6)
49*caffed08SLukas Schmid				MATRIX_KEY(0x01, 0x00, KEY_NUMERIC_C)
50*caffed08SLukas Schmid				MATRIX_KEY(0x01, 0x01, KEY_NUMERIC_7)
51*caffed08SLukas Schmid				MATRIX_KEY(0x01, 0x02, KEY_NUMERIC_8)
52*caffed08SLukas Schmid				MATRIX_KEY(0x01, 0x03, KEY_NUMERIC_9)
53*caffed08SLukas Schmid				MATRIX_KEY(0x00, 0x00, KEY_NUMERIC_D)
54*caffed08SLukas Schmid				MATRIX_KEY(0x00, 0x01, KEY_CLEAR)
55*caffed08SLukas Schmid				MATRIX_KEY(0x00, 0x02, KEY_NUMERIC_0)
56*caffed08SLukas Schmid				MATRIX_KEY(0x00, 0x03, KEY_OK)
57*caffed08SLukas Schmid		>;
58*caffed08SLukas Schmid		keypad,num-rows = <4>;
59*caffed08SLukas Schmid		keypad,num-columns = <4>;
60*caffed08SLukas Schmid	};
61*caffed08SLukas Schmid};
62*caffed08SLukas Schmid
63*caffed08SLukas Schmid&pio {
64*caffed08SLukas Schmid	gpio-line-names = "", "", "", "", // PA
65*caffed08SLukas Schmid			  "", "", "", "",
66*caffed08SLukas Schmid			  "", "", "", "",
67*caffed08SLukas Schmid			  "", "", "", "",
68*caffed08SLukas Schmid			  "", "", "", "",
69*caffed08SLukas Schmid			  "", "", "", "",
70*caffed08SLukas Schmid			  "", "", "", "",
71*caffed08SLukas Schmid			  "", "", "", "",
72*caffed08SLukas Schmid			  "", "", "", "", // PB
73*caffed08SLukas Schmid			  "", "", "UART3_TX", "UART3_RX",
74*caffed08SLukas Schmid			  "", "", "", "",
75*caffed08SLukas Schmid			  "", "", "", "",
76*caffed08SLukas Schmid			  "", "", "", "",
77*caffed08SLukas Schmid			  "", "", "", "",
78*caffed08SLukas Schmid			  "", "", "", "",
79*caffed08SLukas Schmid			  "", "", "", "",
80*caffed08SLukas Schmid			  "", "", "eMMC_CLK", "eMMC_CMD", // PC
81*caffed08SLukas Schmid			  "eMMC_D2", "eMMC_D1", "eMMC_D0", "eMMC_D3",
82*caffed08SLukas Schmid			  "", "", "", "",
83*caffed08SLukas Schmid			  "", "", "", "",
84*caffed08SLukas Schmid			  "", "", "", "",
85*caffed08SLukas Schmid			  "", "", "", "",
86*caffed08SLukas Schmid			  "", "", "", "",
87*caffed08SLukas Schmid			  "", "", "", "",
88*caffed08SLukas Schmid			  "", "", "", "", // PD
89*caffed08SLukas Schmid			  "", "", "", "",
90*caffed08SLukas Schmid			  "", "USB_SEC_EN", "", "",
91*caffed08SLukas Schmid			  "", "", "", "",
92*caffed08SLukas Schmid			  "LED_STATUS_RED", "", "", "",
93*caffed08SLukas Schmid			  "I2C2_SCL", "I2C2_SDA", "LED_STATUS_GREEN", "",
94*caffed08SLukas Schmid			  "", "", "", "",
95*caffed08SLukas Schmid			  "", "", "", "",
96*caffed08SLukas Schmid			  "ETH_CRSDV", "ETH_RXD0", "ETH_RXD1", "ETH_TXCK", // PE
97*caffed08SLukas Schmid			  "ETH_TXD0", "ETH_TXD1", "ETH_TXEN", "",
98*caffed08SLukas Schmid			  "ETH_MDC", "ETH_MDIO", "QWIIC_nINT", "",
99*caffed08SLukas Schmid			  "", "", "", "",
100*caffed08SLukas Schmid			  "", "", "", "",
101*caffed08SLukas Schmid			  "", "", "", "",
102*caffed08SLukas Schmid			  "", "", "", "",
103*caffed08SLukas Schmid			  "", "", "", "",
104*caffed08SLukas Schmid			  "", "", "", "", // PF
105*caffed08SLukas Schmid			  "", "", "KEY_nINT", "",
106*caffed08SLukas Schmid			  "", "", "", "",
107*caffed08SLukas Schmid			  "", "", "", "",
108*caffed08SLukas Schmid			  "", "", "", "",
109*caffed08SLukas Schmid			  "", "", "", "",
110*caffed08SLukas Schmid			  "", "", "", "",
111*caffed08SLukas Schmid			  "", "", "", "",
112*caffed08SLukas Schmid			  "ESP_CLK", "ESP_CMD", "ESP_D0", "ESP_D1", // PG
113*caffed08SLukas Schmid			  "ESP_D2", "ESP_D3", "UART1_TXD", "UART1_RXD",
114*caffed08SLukas Schmid			  "ESP_nBOOT", "ESP_nRST", "I2C3_SCL", "I2C3_SDA",
115*caffed08SLukas Schmid			  "", "", "", "",
116*caffed08SLukas Schmid			  "", "", "", "",
117*caffed08SLukas Schmid			  "", "", "", "",
118*caffed08SLukas Schmid			  "", "", "", "",
119*caffed08SLukas Schmid			  "", "", "", "";
120*caffed08SLukas Schmid};
121*caffed08SLukas Schmid
122*caffed08SLukas Schmid&usb_otg {
123*caffed08SLukas Schmid	dr_mode = "peripheral";
124*caffed08SLukas Schmid	status = "okay";
125*caffed08SLukas Schmid};
126*caffed08SLukas Schmid
127*caffed08SLukas Schmid&usbphy {
128*caffed08SLukas Schmid	status = "okay";
129*caffed08SLukas Schmid};
130