linux-yocto/arch/arm/boot/dts/allwinner/sun8i-t113s-netcube-nagami-keypad-carrier.dts
Lukas Schmid caffed0800 ARM: dts: sunxi: add support for NetCube Systems Nagami Keypad Carrier
The NetCube Systems Nagami Keypad Carrier uses the Nagami SoM and contains
a TCA8418 connected to a 4x4 matrix keypad. The I2C2 interface is connected
to said TCA8418 and also a header for an PN532 NFC-Module. It also provides
a pin-header for a bi-color status led. Ethernet with PoE support is
available on a screwterminal after magnetics.

Signed-off-by: Lukas Schmid <lukas.schmid@netcube.li>
Link: https://patch.msgid.link/20250831162536.2380589-6-lukas.schmid@netcube.li
[wens@csie.org: fix indentation for board level compatible fallback,
		gpio-line-names and keypad matrix.]
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
2025-09-13 17:27:19 +08:00

130 lines
3.2 KiB
Plaintext

// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (C) 2025 Lukas Schmid <lukas.schmid@netcube.li>
*/
/dts-v1/;
#include "sun8i-t113s-netcube-nagami.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
/ {
model = "NetCube Systems Nagami Keypad Carrier Board";
compatible = "netcube,nagami-keypad-carrier", "netcube,nagami",
"allwinner,sun8i-t113s";
leds {
compatible = "gpio-leds";
led_status_red: led-status-red {
gpios = <&pio 3 16 GPIO_ACTIVE_HIGH>; /* PD16 */
color = <LED_COLOR_ID_RED>;
function = LED_FUNCTION_STATUS;
};
led_status_green: led-status-green {
gpios = <&pio 3 22 GPIO_ACTIVE_HIGH>; /* PD22 */
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_STATUS;
};
};
};
&i2c2 {
status = "okay";
tca8418: keypad@34 {
compatible = "ti,tca8418";
reg = <0x34>;
interrupts-extended = <&pio 5 6 IRQ_TYPE_EDGE_FALLING>; /* PF6 */
linux,keymap = <MATRIX_KEY(0x03, 0x00, KEY_NUMERIC_A)
MATRIX_KEY(0x03, 0x01, KEY_NUMERIC_1)
MATRIX_KEY(0x03, 0x02, KEY_NUMERIC_2)
MATRIX_KEY(0x03, 0x03, KEY_NUMERIC_3)
MATRIX_KEY(0x02, 0x00, KEY_NUMERIC_B)
MATRIX_KEY(0x02, 0x01, KEY_NUMERIC_4)
MATRIX_KEY(0x02, 0x02, KEY_NUMERIC_5)
MATRIX_KEY(0x02, 0x03, KEY_NUMERIC_6)
MATRIX_KEY(0x01, 0x00, KEY_NUMERIC_C)
MATRIX_KEY(0x01, 0x01, KEY_NUMERIC_7)
MATRIX_KEY(0x01, 0x02, KEY_NUMERIC_8)
MATRIX_KEY(0x01, 0x03, KEY_NUMERIC_9)
MATRIX_KEY(0x00, 0x00, KEY_NUMERIC_D)
MATRIX_KEY(0x00, 0x01, KEY_CLEAR)
MATRIX_KEY(0x00, 0x02, KEY_NUMERIC_0)
MATRIX_KEY(0x00, 0x03, KEY_OK)
>;
keypad,num-rows = <4>;
keypad,num-columns = <4>;
};
};
&pio {
gpio-line-names = "", "", "", "", // PA
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "", // PB
"", "", "UART3_TX", "UART3_RX",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "eMMC_CLK", "eMMC_CMD", // PC
"eMMC_D2", "eMMC_D1", "eMMC_D0", "eMMC_D3",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "", // PD
"", "", "", "",
"", "USB_SEC_EN", "", "",
"", "", "", "",
"LED_STATUS_RED", "", "", "",
"I2C2_SCL", "I2C2_SDA", "LED_STATUS_GREEN", "",
"", "", "", "",
"", "", "", "",
"ETH_CRSDV", "ETH_RXD0", "ETH_RXD1", "ETH_TXCK", // PE
"ETH_TXD0", "ETH_TXD1", "ETH_TXEN", "",
"ETH_MDC", "ETH_MDIO", "QWIIC_nINT", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "", // PF
"", "", "KEY_nINT", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"ESP_CLK", "ESP_CMD", "ESP_D0", "ESP_D1", // PG
"ESP_D2", "ESP_D3", "UART1_TXD", "UART1_RXD",
"ESP_nBOOT", "ESP_nRST", "I2C3_SCL", "I2C3_SDA",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "";
};
&usb_otg {
dr_mode = "peripheral";
status = "okay";
};
&usbphy {
status = "okay";
};