From nobody Sat Jun 13 08:51:02 2026 Received: from mail-dy1-f196.google.com (mail-dy1-f196.google.com [74.125.82.196]) (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 31F343DBD41 for ; Fri, 8 May 2026 11:44:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.196 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778240675; cv=none; b=i3mcrfm73g+49hXTUXWNSi4imGV4+HuXo87Q1QOAa6YcXNvATsbr9Rm/b7FS2uUTUEnNOOYIsIh6QsY0/B+ffZlKoCbLVmnCLsR2Kiwzo1JXlISnCHCVKp2ME18KZZfn296CFe4CY0HU3CJ7+r8jNMQQUEXOQolnmg+HC2Ld3ho= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778240675; c=relaxed/simple; bh=LOeM8ihnb36RoLRaLOifM2tLinrlgXXEyl5wwuq/3u4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Yqw6qPUPg0BVIkabN/Y4j1gypPLOeFCYovN2qNY8PSvNXPs0bOrecahOJXbhya3pzU4sutbRwH7lE5//EZeP/V1VKEnM5TPnNSHu7PLU6O5CntIfZcigt5/5yk40fnw3C9B6XdyE3KwCx1hNc1mr7dDUDagF0EgsapRqzgnlXpI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=leak.moe; spf=pass smtp.mailfrom=gmail.com; arc=none smtp.client-ip=74.125.82.196 Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=leak.moe Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-dy1-f196.google.com with SMTP id 5a478bee46e88-2c156c4a9efso2538934eec.1 for ; Fri, 08 May 2026 04:44:34 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778240673; x=1778845473; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=NzCHDRov5czdFb4E1osJ9K5lNOkGAu52SXuGZ3RLxI0=; b=F+BjovfIv5aJv0kes5Lc8VlmGMNqvNkHeUPn7O8THC2W3GrQVrUwg1fbUm2N9fc1m0 ahJk73+0rdqDVldUbEHeRUEHEeUSNGge7DJ47Q9yfYaCNp2z8K2ls98jAkVvkOgfSlCN 60oAKxRtzCnm5xtcnlrAtshR11JKvs/VvlhKjxtL+RIDK4W4Pq4Z2g6ZRPonAGBxjLQr EWdKgGoYXWr+TBoNVt4TmEN/XjQuy/HpW3PYbEpV/u0DGsJtiAt66cWXt2vdErmwrAGF To2I1xRknC/07ROHlbYsiPpzxU6E66pYMRVxdu+OI6KX7WtiExLiBQFNFaE6Zza+j/zH 6GZw== X-Forwarded-Encrypted: i=1; AFNElJ97LoeE2ZBnzhogJkIX4nGRwHXtMZwKP8GOn1vU5t43YNEevknRCFSd77r3ZbHQ/dRTGrRJ0PChEUC23S8=@vger.kernel.org X-Gm-Message-State: AOJu0YxXmBUSfNh25Q5BrvgLSHEctOqxYLhkTI8kHFkrAUqcoae7NRey 1vKxBj8kwaFXvpBchoZKyx8FqD3GgcDC7fYtCCVPUuwi8EpZPTQ6vKyD95kizYcwYZhoqA== X-Gm-Gg: AeBDieuUvyuOWHROHCHjDRPJqWyJKjJxBtkQZLDOnLGakvHSooXdoEP5A8t1Nc+QpTe VVxm1p/ItujQXBOzvcy7/IFC6D4jMgesHmJz8vfh53hVaXIMyoVmRyoNdabNntyq3jUuGS/36Ir pzwFOer7/jvF3zlsr1pBRJQOYYz56u3ztCWvA1N7ywo8y9tMtdIGCrqj7gUGBZm5/w576R8clwe jbE2Np/UUEv0WynYZNZilOeETb05wxnufhm3X3IZyI0AdDwHcr/iDgWz2/rjXbprNNs/pQNUMon YKlqH0Tc2A2s0fnGddc8Yn5ufmntbyPue4uDn8KzFBYfFbZ9g7Lwk+wrwWOpLftJsNTrSTWid3w awuNxSwTpcc5n4Yor9u9TakQcSpStZlR/MRazO/WaEqg0GrsJNWxNCCH6sH7B0wjvxbWf6Nhfq+ XjxAfbKNTlOBBDhZBujC0t0hSzAIc5cwI= X-Received: by 2002:a05:7022:6986:b0:128:d450:bc76 with SMTP id a92af1059eb24-1319cf558b9mr5748384c88.26.1778240672982; Fri, 08 May 2026 04:44:32 -0700 (PDT) Received: from [127.0.0.2] ([154.17.237.246]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-13278210f55sm1979131c88.5.2026.05.08.04.44.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 May 2026 04:44:32 -0700 (PDT) From: MoeLeak Date: Fri, 08 May 2026 19:44:13 +0800 Subject: [PATCH v2 1/2] riscv: dts: thead: Add TH1520 I2C1 controller Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260508-lichee-pi-4a-wifi-v2-1-7acf63559e62@leak.moe> References: <20260508-lichee-pi-4a-wifi-v2-0-7acf63559e62@leak.moe> In-Reply-To: <20260508-lichee-pi-4a-wifi-v2-0-7acf63559e62@leak.moe> To: Drew Fustini , Guo Ren , Fu Wei Cc: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , linux-riscv@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, MoeLeak X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1108; i=i@leak.moe; h=from:subject:message-id; bh=LOeM8ihnb36RoLRaLOifM2tLinrlgXXEyl5wwuq/3u4=; b=owEBbQGS/pANAwAKAdIQkqz3TgiQAcsmYgBp/cyWGYB8TW+I2NcVqCYJ4tHDII2NzJeRB0yBz vpiduMSkBeJATMEAAEKAB0WIQR9GaDYhgIayZrpu/3SEJKs904IkAUCaf3MlgAKCRDSEJKs904I kNX0B/9rUHxQnv/AqrbV4wDZFW21lOOUuhYE4jYWYDT7RH/00N4nFru0RlDLNdUzAkwhEFoUyRf Izl5kcrN6hh9LrPrdugc+ZMu4cRG3CrR/LhF/5Dk6mvVFxBkpo3yH4jgTQ6rPvwpDVSAQP1VpUK UyXKBLUH2b/Ltrtzsntm9uunPKL6EGZ9ashu5O3aXNyvj0d+Ei4mrIlTp3j9ibIfll6RpspYzqO rQCxrUlLRSzEbae3fdjmRIt+98uy51vP2vQT1NCFcg8bWgrjJsoE0CFg61rdYieJxR4vHjNzc8q 5OfwVRznUPSuD3Ford4A26zBZLD2IGElIzbN/Q+IGIqQw0ye X-Developer-Key: i=i@leak.moe; a=openpgp; fpr=7D19A0D886021AC99AE9BBFDD21092ACF74E0890 Describe the TH1520 I2C1 controller so boards can enable devices attached to that bus. The controller is disabled by default because pinmuxing and connected peripherals are board-specific. Signed-off-by: MoeLeak Reviewed-by: Drew Fustini --- arch/riscv/boot/dts/thead/th1520.dtsi | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/arch/riscv/boot/dts/thead/th1520.dtsi b/arch/riscv/boot/dts/th= ead/th1520.dtsi index 5e91dc1d2b9b..94932c51b7e3 100644 --- a/arch/riscv/boot/dts/thead/th1520.dtsi +++ b/arch/riscv/boot/dts/thead/th1520.dtsi @@ -411,6 +411,17 @@ uart3: serial@ffe7f04000 { status =3D "disabled"; }; =20 + i2c1: i2c@ffe7f24000 { + compatible =3D "thead,th1520-i2c", "snps,designware-i2c"; + reg =3D <0xff 0xe7f24000 0x0 0x4000>; + interrupts =3D <45 IRQ_TYPE_LEVEL_HIGH>; + clocks =3D <&clk CLK_I2C1>, <&clk CLK_PERI_APB_PCLK>; + clock-names =3D "ref", "pclk"; + #address-cells =3D <1>; + #size-cells =3D <0>; + status =3D "disabled"; + }; + gpio@ffe7f34000 { compatible =3D "snps,dw-apb-gpio"; reg =3D <0xff 0xe7f34000 0x0 0x1000>; --=20 2.53.0 From nobody Sat Jun 13 08:51:02 2026 Received: from mail-dl1-f68.google.com (mail-dl1-f68.google.com [74.125.82.68]) (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 257B33C345F for ; Fri, 8 May 2026 11:44:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.68 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778240679; cv=none; b=LRraegVq1aIpqSq9KBth38QBGRuAMWYSctoYwS77FmvEWMgfmsMWn9KWwKi80aUOhBs+jeQFFVcnqOji6bqNy6TJZHEOfjPlvMlUH8eY8CiykbQwmFT6Bo0m9Mh9idLb82LIrsXFl7itdxYdvNIdvIzDbv4DLiRh4C0GCgAY0bA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778240679; c=relaxed/simple; bh=yE7UXydnGV+TCsvBA4xH/TqHmFApYe6F012/0U1LjEI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=KfWib0cXH0RnUKS8hWuAJugCiyNvpmySW77U8woZiW8C6a4ecXHPRfu4DZHi4PHpjII7BJgL6P0Uok7bajtC6R/gSYIt8rDnJmz4nNDB4eCp/mDPbw1GCWNEqblD6/J0phlLEM9CRbVbisScyy5yF4Q/vnOhfSbuEWZZ6V+3L+w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=leak.moe; spf=pass smtp.mailfrom=gmail.com; arc=none smtp.client-ip=74.125.82.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=leak.moe Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-dl1-f68.google.com with SMTP id a92af1059eb24-130b2295ed0so5601761c88.0 for ; Fri, 08 May 2026 04:44:38 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778240677; x=1778845477; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=w3QTpGGqX4AyMp5PIUh+gEtcvVB1vqrLPaWjuq2hLAc=; b=RdKTNSpH3oUbTNp7FfN+P+ez7SpHE8BbVnMjt+8wIL0os8YxlgkyjjQVL9znEhIJHN uDYYpPu4zQrdgzFWxyAcySpY2tTTSUokGLTX3dLS+sgo6aRcg3cRKb9sdgAeg0LANsjR uiMf7zeZ/i0sA3rJzB4KYUEIAL5L7Knd9sYOA1oJ6+LOfUUGAMW/Bx8klD6kMA7ZsheD GqV9Y7pskvWF4Ees7s9HSx3DvJT16j8VhHlTb8IYlinDxDTsRWd2iYjQwQyS2miWr5yF sEQtNCXXIXM14yTAj6J62djIu6A55Ym0U76VQe3z/xooRoRXo7ucczQJsuxg2z6nVYYv lqQw== X-Forwarded-Encrypted: i=1; AFNElJ9OBJZ2JxsOqOSXDgc6pEiQJOltP6fDdOJO2K8nFylFJCG47XN0S/a3/ThvQrhdLtP14PylLNT/9MabLfw=@vger.kernel.org X-Gm-Message-State: AOJu0YwdGpZXYYGbKGhqnbmjeoL3MQprvVhjrbfk2Fg15JrU6t4/HrQN 7k/A3MqIH5/gpjyN8chu+SfXMaG5SBLDmvGWhVaRvua9MBrwDGYdSEsM X-Gm-Gg: AeBDievlFeM9O7TuBzZLTr5ksYZgwhhIZ3Eg3qcnpNbQiC7ca2l/R/7peVhZTT5wjpl 5i+FE1Lruwcnan39MotCEAj2FUbnrHtLQ5GTZXw2vCGp9gcvtqaXG60JqiAfU6NtBWf1yRuAhar 4s4kqptL4AHhWOo2xWFH2DrKMOIopdWJGebjrYIPCoFeXDKnriDTjIXo9vrZNZuWHwpCKEGgmo5 wie6cBMw+srKkl0XiZ3ZADi/nAD2hSbgCqpBcKeFpaj+J7aA92O4TgQ2OthssilAcPGbplt8pI4 Fv8T+jZVEnh4+YkKEuDz63lMQeiAOYAAVwuKaerQguC4ud0FKUL9LOyFVVZ4n51URAb+pOchXcR ZoYzGuKn7tQ0ga71sqnhIFpaRYmopLxIvNXzaKBkOAo0Bj+wBWUKCAKUk8Szf0i4dcC3eOFCaVR xwMlg42DxRnQ== X-Received: by 2002:a05:7022:6712:b0:12a:949b:b9b with SMTP id a92af1059eb24-1318e9173d4mr5838723c88.23.1778240676971; Fri, 08 May 2026 04:44:36 -0700 (PDT) Received: from [127.0.0.2] ([154.17.237.246]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-13278210f55sm1979131c88.5.2026.05.08.04.44.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 May 2026 04:44:36 -0700 (PDT) From: MoeLeak Date: Fri, 08 May 2026 19:44:14 +0800 Subject: [PATCH v2 2/2] riscv: dts: thead: Enable WiFi on Lichee Pi 4A Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260508-lichee-pi-4a-wifi-v2-2-7acf63559e62@leak.moe> References: <20260508-lichee-pi-4a-wifi-v2-0-7acf63559e62@leak.moe> In-Reply-To: <20260508-lichee-pi-4a-wifi-v2-0-7acf63559e62@leak.moe> To: Drew Fustini , Guo Ren , Fu Wei Cc: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , linux-riscv@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, MoeLeak X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2167; i=i@leak.moe; h=from:subject:message-id; bh=yE7UXydnGV+TCsvBA4xH/TqHmFApYe6F012/0U1LjEI=; b=owEBbQGS/pANAwAKAdIQkqz3TgiQAcsmYgBp/cyYGIFrfNNvNUNKznNnMhIryykYfUSNoAv5V 6PfXcZZhtaJATMEAAEKAB0WIQR9GaDYhgIayZrpu/3SEJKs904IkAUCaf3MmAAKCRDSEJKs904I kD6CB/4jEXm4AG/cQ4Tn1MTjwxG+UXZxKpKJ0R8THM0lfooLHcPJTHw8EMJBHKQ78zfSjjpR33n poOrSREmAT8np7hZKzS6m2nuRAgy1lMML1g1plhj9T/GVG+nAQje7ks13wghR9BaGVfAKR9iy24 Y1pxSEEMyU2gFWVhghCNu2XBL2lJeSrjRHdrT6w4+UiunNW3FsaSMnYfRIFgo7b0St1WulSr57E zMAd27sXRQXUak686RMizW76zksnRbxvP6NBpDyWr3kfXaLLCWlkom42v/1fdVs7DJhZkVa3i8D J7dnm0LozTcTI1Qlt21dozwq9RASC0CC2586Dgh4n/97D9cr X-Developer-Key: i=i@leak.moe; a=openpgp; fpr=7D19A0D886021AC99AE9BBFDD21092ACF74E0890 The Lichee Pi 4A has an RTL8723DS WiFi module connected to the TH1520 SDIO1 controller. The module reset line is driven through a PCA9557 GPIO expander on the I2C1 bus. Enable I2C1 for the GPIO expander and configure SDIO1 as a non-removable 4-bit SDIO bus using an mmc-pwrseq-simple reset sequence so the WiFi device can be powered and enumerated. Signed-off-by: MoeLeak Reviewed-by: Drew Fustini --- arch/riscv/boot/dts/thead/th1520-lichee-pi-4a.dts | 47 +++++++++++++++++++= ++++ 1 file changed, 47 insertions(+) diff --git a/arch/riscv/boot/dts/thead/th1520-lichee-pi-4a.dts b/arch/riscv= /boot/dts/thead/th1520-lichee-pi-4a.dts index 7cb7d28683bc..af6f25ebbf60 100644 --- a/arch/riscv/boot/dts/thead/th1520-lichee-pi-4a.dts +++ b/arch/riscv/boot/dts/thead/th1520-lichee-pi-4a.dts @@ -4,6 +4,7 @@ */ =20 #include "th1520-lichee-module-4a.dtsi" +#include =20 / { model =3D "Sipeed Lichee Pi 4A"; @@ -40,6 +41,12 @@ hdmi_con_in: endpoint { }; }; =20 + wifi_pwrseq: wifi-pwrseq { + compatible =3D "mmc-pwrseq-simple"; + reset-gpios =3D <&ioexp2 4 GPIO_ACTIVE_LOW>; + post-power-on-delay-ms =3D <200>; + }; + thermal-zones { cpu-thermal { polling-delay =3D <1000>; @@ -96,6 +103,20 @@ fan: pwm-fan { =20 }; =20 +&padctrl1_apsys { + i2c1_pins: i2c1-0 { + i2c-pins { + pins =3D "I2C1_SCL", "I2C1_SDA"; + function =3D "i2c"; + bias-pull-up =3D <2100>; + drive-strength =3D <7>; + input-enable; + input-schmitt-enable; + slew-rate =3D <0>; + }; + }; +}; + &padctrl0_apsys { fan_pins: fan-0 { pwm1-pins { @@ -132,6 +153,32 @@ rx-pins { }; }; =20 +&i2c1 { + clock-frequency =3D <400000>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&i2c1_pins>; + status =3D "okay"; + + ioexp2: gpio@18 { + compatible =3D "nxp,pca9557"; + reg =3D <0x18>; + gpio-controller; + #gpio-cells =3D <2>; + }; +}; + +&sdio1 { + #address-cells =3D <1>; + #size-cells =3D <0>; + bus-width =3D <4>; + max-frequency =3D <198000000>; + cap-sdio-irq; + keep-power-in-suspend; + mmc-pwrseq =3D <&wifi_pwrseq>; + non-removable; + status =3D "okay"; +}; + &dpu { status =3D "okay"; }; --=20 2.53.0