From nobody Tue Oct 7 12:27:32 2025 Received: from mail.netcube.li (mail.netcube.li [173.249.15.149]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 12D1A25F796; Thu, 10 Jul 2025 12:51:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=173.249.15.149 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752151878; cv=none; b=Bh53Ma/SwgF34U1l7e0cxN+AEhHMFraXNPrOwxRs084kP8ud8fw3Bx4zD4ixK0cjXfgVJT8B6Vjy+fVkQVNdiQUZkFjPauZSl5f0Rlw18jzSg7TOFoGr5Av9Z9rysO+Jzm/s4X/eiUYwG1u4n7E1nTykyLRV5LL+BOGjmaQuEFw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752151878; c=relaxed/simple; bh=g3xoqSnfWKvR1R4dSYvY38FQh/jxRUmnz1KPFU3jj7Y=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=M5+LaZrs9/stFqt5sZsZ+ZlHZ/KN4c51dTXH6J+73i4I6ioCzfItidxFwph2mNHPySedOedT4gSi3LaesI0PQq1uL/W7Azu5JXOyy6/35MIwLtJRV5pKBkFlgHao574f2wIjhTjFrpxbboSLdMq/BXz2QPQWCOD/llcyYe8ol3Y= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=netcube.li; spf=pass smtp.mailfrom=netcube.li; dkim=pass (1024-bit key) header.d=netcube.li header.i=@netcube.li header.b=0gonZUyL; arc=none smtp.client-ip=173.249.15.149 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=netcube.li Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=netcube.li Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=netcube.li header.i=@netcube.li header.b="0gonZUyL" dkim-signature: v=1; a=rsa-sha256; d=netcube.li; s=s1; c=relaxed/relaxed; q=dns/txt; h=From:Subject:Date:Message-ID:To:CC:MIME-Version:Content-Transfer-Encoding:In-Reply-To:References; bh=3tmnMfh6cpM9FoO9X0eT2hb+eqt7BAWlrFCxtGhwp9I=; b=0gonZUyLNBxtUSk4CJEBPJfv9suDyvyPqfXrhlHEW2pPa50dmfdXAsseH7/wyhtCscWkk3fJ5ge0VFC9okTRW3gSeV+nhjcmeK+Kn7GyJQiO9u5+J9ytSX3+/Hmhv4UDPhSsveHmqYboYSTXcmG21wooy79hiuNW46VkwhKxrZg= Received: from lukas-hpz440workstation.lan.sk100508.local (cm70-231.liwest.at [212.241.70.231]) by mail.netcube.li with ESMTPA ; Thu, 10 Jul 2025 14:51:03 +0200 From: Lukas Schmid To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Maxime Ripard Cc: Lukas Schmid , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org Subject: [PATCH v4 5/5] ARM: dts: sunxi: add support for NetCube Systems Nagami Keypad Carrier Date: Thu, 10 Jul 2025 14:50:19 +0200 Message-Id: <20250710125021.1079702-6-lukas.schmid@netcube.li> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250710125021.1079702-1-lukas.schmid@netcube.li> References: <20250710125021.1079702-1-lukas.schmid@netcube.li> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The NetCube Systems Nagami Keypad Carrier uses the Nagami SoM and contains a MCP23008 for connecting to a 4x3 matrix keypad and internal status led. The I2C2 interface is connected to said MCP23008 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 --- arch/arm/boot/dts/allwinner/Makefile | 1 + ...8i-t113s-netcube-nagami-keypad-carrier.dts | 164 ++++++++++++++++++ 2 files changed, 165 insertions(+) create mode 100644 arch/arm/boot/dts/allwinner/sun8i-t113s-netcube-nagami-= keypad-carrier.dts diff --git a/arch/arm/boot/dts/allwinner/Makefile b/arch/arm/boot/dts/allwi= nner/Makefile index af287bb32..a2137bbe2 100644 --- a/arch/arm/boot/dts/allwinner/Makefile +++ b/arch/arm/boot/dts/allwinner/Makefile @@ -259,6 +259,7 @@ dtb-$(CONFIG_MACH_SUN8I) +=3D \ sun8i-s3-pinecube.dtb \ sun8i-t113s-mangopi-mq-r-t113.dtb \ sun8i-t113s-netcube-nagami-basic-carrier.dtb \ + sun8i-t113s-netcube-nagami-keypad-carrier.dtb \ sun8i-t3-cqa3t-bv3.dtb \ sun8i-v3-sl631-imx179.dtb \ sun8i-v3s-anbernic-rg-nano.dtb \ diff --git a/arch/arm/boot/dts/allwinner/sun8i-t113s-netcube-nagami-keypad-= carrier.dts b/arch/arm/boot/dts/allwinner/sun8i-t113s-netcube-nagami-keypad= -carrier.dts new file mode 100644 index 000000000..02a098421 --- /dev/null +++ b/arch/arm/boot/dts/allwinner/sun8i-t113s-netcube-nagami-keypad-carrier= .dts @@ -0,0 +1,164 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (C) 2025 Lukas Schmid + */ + +/dts-v1/; +#include "sun8i-t113s-netcube-nagami.dtsi" + +#include +#include + +/ { + model =3D "NetCube Systems Nagami Keypad Carrier Board"; + compatible =3D "netcube,nagami-keypad-carrier", "netcube,nagami", + "allwinner,sun8i-t113s"; + + keypad: keypad { + compatible =3D "gpio-matrix-keypad"; + debounce-delay-ms =3D <5>; + col-scan-delay-us =3D <2>; + + row-gpios =3D <&mcp23008 0 0 + &mcp23008 1 0 + &mcp23008 2 0 + &mcp23008 3 0>; + + col-gpios =3D <&mcp23008 6 0 + &mcp23008 5 0 + &mcp23008 4 0>; + + linux,keymap =3D <0x00000201 + 0x00010202 + 0x00020203 + 0x01000204 + 0x01010205 + 0x01020206 + 0x02000207 + 0x02010208 + 0x02020209 + 0x0300020A + 0x03010200 + 0x0302020B>; + }; + + leds { + compatible =3D "gpio-leds"; + + led-heartbeat { + gpios =3D <&mcp23008 7 GPIO_ACTIVE_HIGH>; + linux,default-trigger =3D "heartbeat"; + color =3D ; + function =3D LED_FUNCTION_HEARTBEAT; + }; + + led_status_red: led-status-red { + gpios =3D <&pio 3 16 GPIO_ACTIVE_HIGH>; /* PD16 */ + color =3D ; + function =3D LED_FUNCTION_STATUS; + }; + + led_status_green: led-status-green { + gpios =3D <&pio 3 22 GPIO_ACTIVE_HIGH>; /* PD22 */ + color =3D ; + function =3D LED_FUNCTION_STATUS; + }; + }; + + multi-led { + compatible =3D "leds-group-multicolor"; + color =3D ; + function =3D LED_FUNCTION_STATUS; + leds =3D <&led_status_red &led_status_green>; + }; +}; + +&ehci0 { + status =3D "okay"; +}; + +&i2c2 { + status =3D "okay"; + + mcp23008: gpio@20 { + compatible =3D "microchip,mcp23008"; + gpio-controller; + #gpio-cells =3D <2>; + reg =3D <0x20>; + interrupts-extended =3D <&pio 5 6 IRQ_TYPE_LEVEL_LOW>; /* PF6 */ + interrupt-controller; + #interrupt-cells =3D <2>; + }; +}; + +&ohci0 { + status =3D "okay"; +}; + +&pio { + gpio-line-names =3D "", "", "", "", // PA + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", // PB + "", "", "UART3_TX", "UART3_RX", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "eMMC_CLK", "eMMC_CMD", // PC + "eMMC_D2", "eMMC_D1", "eMMC_D0", "eMMC_D3", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", // PD + "", "", "", "", + "", "", "", "", + "", "", "", "", + "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 =3D "peripheral"; + status =3D "okay"; +}; + +&usbphy { + status =3D "okay"; +}; --=20 2.39.5