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