From nobody Tue Apr 28 05:05:44 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 15101C43334 for ; Mon, 6 Jun 2022 08:34:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231839AbiFFIeK (ORCPT ); Mon, 6 Jun 2022 04:34:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48964 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231750AbiFFIdu (ORCPT ); Mon, 6 Jun 2022 04:33:50 -0400 Received: from madras.collabora.co.uk (madras.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e5ab]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1EBF7FD374; Mon, 6 Jun 2022 01:33:46 -0700 (PDT) Received: from beast.luon.net (simons.connected.by.freedominter.net [45.83.240.172]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: sjoerd) by madras.collabora.co.uk (Postfix) with ESMTPSA id 42BB5660204B; Mon, 6 Jun 2022 09:26:32 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1654503992; bh=CR2rBA4kCY/Jy0KZi17d3HYD3wECdVRVZ+YeFWtp4BA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gAVBQOmdR5Cq4FwR4XeV6VLSvjfl+4FGT8P9humz51xu83pIMB1CIcjd7jObEpaC7 NCcv9ta7FgyPvVDQZoiaMlbH7htIhQPqRGFy5f4OuhHY556ktcW9NDDgFTqtMG+SaS xIJMwb2K9RVDzKgVpy8o7GskhvEHTvd/puKOC2T8k3I/ZIxanmzt8qickJGS3NE8JF Uvbu0NquRTfb/pmp+NU+39FJfRtNBRbRUcHgg0c1M8jNSzs+v91UfzAt3lZfB7gfmO /BSwMZ7EfAOhyXG0ZThDeLHRmDYkrD0qOyuO483N+YVfkdiOril9ifkH41y8W7MDsI qZeh47BTN2etQ== Received: by beast.luon.net (Postfix, from userid 1000) id 1C934404D08D; Mon, 6 Jun 2022 10:26:30 +0200 (CEST) From: Sjoerd Simons To: linux-rockchip@lists.infradead.org Cc: kernel@collabora.com, Akash Gajjar , Alex Bee , Chen-Yu Tsai , Frank Wunderlich , Heiko Stuebner , Krzysztof Kozlowski , Levin Du , Liang Chen , Michael Riesch , Peter Geis , Rob Herring , Samuel Holland , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/2] arm64: dts: rockchip: add ROCK Pi S DTS support Date: Mon, 6 Jun 2022 10:26:27 +0200 Message-Id: <20220606082629.79682-2-sjoerd@collabora.com> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220606082629.79682-1-sjoerd@collabora.com> References: <20220606082629.79682-1-sjoerd@collabora.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Akash Gajjar ROCK Pi S is RK3308 based SBC from radxa.com. ROCK Pi S has a, - 256MB/512MB DDR3 RAM - SD, NAND flash (optional on board 1/2/4/8Gb) - 100MB ethernet, PoE (optional) - Onboard 802.11 b/g/n wifi + Bluetooth 4.0 Module - USB2.0 Type-A HOST x1 - USB3.0 Type-C OTG x1 - 26-pin expansion header - USB Type-C DC 5V Power Supply This patch enables - Console - NAND Flash - SD Card Signed-off-by: Akash Gajjar [sjoerd: Sort dt nodes, drop properties duplicated from dtsi] Signed-off-by: Sjoerd Simons --- .../devicetree/bindings/arm/rockchip.yaml | 5 + arch/arm64/boot/dts/rockchip/Makefile | 1 + .../boot/dts/rockchip/rk3308-rock-pi-s.dts | 204 ++++++++++++++++++ 3 files changed, 210 insertions(+) create mode 100644 arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts diff --git a/Documentation/devicetree/bindings/arm/rockchip.yaml b/Document= ation/devicetree/bindings/arm/rockchip.yaml index cf9eb1e8326a..7811ba64149c 100644 --- a/Documentation/devicetree/bindings/arm/rockchip.yaml +++ b/Documentation/devicetree/bindings/arm/rockchip.yaml @@ -554,6 +554,11 @@ properties: - const: vamrs,rk3399pro-vmarc-som - const: rockchip,rk3399pro =20 + - description: Radxa ROCK Pi S + items: + - const: radxa,rockpis + - const: rockchip,rk3308 + - description: Radxa Rock2 Square items: - const: radxa,rock2-square diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/ro= ckchip/Makefile index 18d00eae3072..ef79a672804a 100644 --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile @@ -5,6 +5,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D px30-engicam-px30-core-cto= uch2-of10.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D px30-engicam-px30-core-edimm2.2.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3308-evb.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3308-roc-cc.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3308-rock-pi-s.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3318-a95x-z2.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3326-odroid-go2.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3328-a1.dtb diff --git a/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts b/arch/arm64= /boot/dts/rockchip/rk3308-rock-pi-s.dts new file mode 100644 index 000000000000..9095efe25ccd --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts @@ -0,0 +1,204 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2019 Akash Gajjar + * Copyright (c) 2019 Jagan Teki + */ + +/dts-v1/; +#include "rk3308.dtsi" + +/ { + model =3D "Radxa ROCK Pi S"; + compatible =3D "radxa,rockpis", "rockchip,rk3308"; + + chosen { + stdout-path =3D "serial0:1500000n8"; + }; + + leds { + compatible =3D "gpio-leds"; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&green_led_gio>, <&heartbeat_led_gpio>; + + green-led { + default-state =3D "on"; + gpios =3D <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>; + label =3D "rockpis:green:power"; + linux,default-trigger =3D "default-on"; + }; + + blue-led { + default-state =3D "on"; + gpios =3D <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>; + label =3D "rockpis:blue:user"; + linux,default-trigger =3D "heartbeat"; + }; + }; + + sdio_pwrseq: sdio-pwrseq { + compatible =3D "mmc-pwrseq-simple"; + pinctrl-0 =3D <&wifi_enable_h>; + pinctrl-names =3D "default"; + reset-gpios =3D <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; + }; + + vcc_1v8: vcc-1v8 { + compatible =3D "regulator-fixed"; + regulator-name =3D "vcc_1v8"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + vin-supply =3D <&vcc_io>; + }; + + vcc_io: vcc-io { + compatible =3D "regulator-fixed"; + regulator-name =3D "vcc_io"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + vin-supply =3D <&vcc5v0_sys>; + }; + + vcc_ddr: vcc-ddr { + compatible =3D "regulator-fixed"; + regulator-name =3D "vcc_ddr"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <1500000>; + regulator-max-microvolt =3D <1500000>; + vin-supply =3D <&vcc5v0_sys>; + }; + + vcc5v0_otg: vcc5v0-otg { + compatible =3D "regulator-fixed"; + enable-active-high; + gpio =3D <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&otg_vbus_drv>; + regulator-name =3D "vcc5v0_otg"; + regulator-always-on; + vin-supply =3D <&vcc5v0_sys>; + }; + + vcc5v0_sys: vcc5v0-sys { + compatible =3D "regulator-fixed"; + regulator-name =3D "vcc5v0_sys"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <5000000>; + regulator-max-microvolt =3D <5000000>; + }; + + + vdd_core: vdd-core { + compatible =3D "pwm-regulator"; + pwms =3D <&pwm0 0 5000 1>; + pwm-supply =3D <&vcc5v0_sys>; + regulator-name =3D "vdd_core"; + regulator-min-microvolt =3D <827000>; + regulator-max-microvolt =3D <1340000>; + regulator-init-microvolt =3D <1015000>; + regulator-settling-time-up-us =3D <250>; + regulator-always-on; + regulator-boot-on; + }; + + + vdd_log: vdd-log { + compatible =3D "regulator-fixed"; + regulator-name =3D "vdd_log"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <1050000>; + regulator-max-microvolt =3D <1050000>; + vin-supply =3D <&vcc5v0_sys>; + }; + +}; + +&cpu0 { + cpu-supply =3D <&vdd_core>; +}; + +&emmc { + bus-width =3D <4>; + cap-mmc-highspeed; + mmc-hs200-1_8v; + non-removable; + vmmc-supply =3D <&vcc_io>; + status =3D "okay"; +}; + +&i2c1 { + status =3D "okay"; +}; + +&pinctrl { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&rtc_32k>; + + leds { + green_led_gio: green-led-gpio { + rockchip,pins =3D <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; + }; + + heartbeat_led_gpio: heartbeat-led-gpio { + rockchip,pins =3D <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + usb { + otg_vbus_drv: otg-vbus-drv { + rockchip,pins =3D <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + sdio-pwrseq { + wifi_enable_h: wifi-enable-h { + rockchip,pins =3D <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; + }; + + wifi_host_wake: wifi-host-wake { + rockchip,pins =3D <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>; + }; + }; +}; + +&pwm0 { + status =3D "okay"; + pinctrl-0 =3D <&pwm0_pin_pull_down>; +}; + +&saradc { + vref-supply =3D <&vcc_1v8>; + status =3D "okay"; +}; + +&sdio { + #address-cells =3D <1>; + #size-cells =3D <0>; + cap-sd-highspeed; + cap-sdio-irq; + keep-power-in-suspend; + max-frequency =3D <1000000>; + mmc-pwrseq =3D <&sdio_pwrseq>; + non-removable; + sd-uhs-sdr104; + status =3D "okay"; +}; + +&sdmmc { + cap-sd-highspeed; + status =3D "okay"; +}; + +&uart0 { + status =3D "okay"; +}; + +&uart4 { + status =3D "okay"; +}; --=20 2.36.1 From nobody Tue Apr 28 05:05:44 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E06CEC433EF for ; Mon, 6 Jun 2022 08:34:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231783AbiFFIdw (ORCPT ); Mon, 6 Jun 2022 04:33:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48878 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231731AbiFFIdt (ORCPT ); Mon, 6 Jun 2022 04:33:49 -0400 X-Greylist: delayed 434 seconds by postgrey-1.37 at lindbergh.monkeyblade.net; Mon, 06 Jun 2022 01:33:48 PDT Received: from madras.collabora.co.uk (madras.collabora.co.uk [46.235.227.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 86512FF5A5; Mon, 6 Jun 2022 01:33:46 -0700 (PDT) Received: from beast.luon.net (unknown [IPv6:2a10:3781:2531:0:973d:c368:8ed:ffaa]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: sjoerd) by madras.collabora.co.uk (Postfix) with ESMTPSA id D5273660204F; Mon, 6 Jun 2022 09:26:32 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1654503992; bh=0pFWHr8nZPd/x652n6ie2quX6dlxkCbVAMeZopa6ow0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=a4X1xRcx8+R0YQxN6+31nvR+V8gHeRJ4dP7pnf6AWEmsdu4OL1qEF997WL7376ywd Acp3Bsv/gWFubmtBSPDyVjPHYjBhB6doASnOiwzMlOmIbR6IKbyEfUUKIH9rLAdflx ibryNiRLita0P4JkJUEegdigX9+ltBjqSVDlMkZtlRR5Te1D1pFf8pLU7pekCWPb19 58QFfNeZfOoTBWQ2PePTDiiNSZCZpPQLpfwDzNvjwFHSKC0uOkh3Z7vYtO4VYxJelE i0mlPynGU8VbsgxkJqjbDK2+cJxQxO56O67BziR7RLLG4wbjonI0lmYJ1JUn2ElGD1 OfW7zUqk7LsXg== Received: by beast.luon.net (Postfix, from userid 1000) id A6DFE404D08F; Mon, 6 Jun 2022 10:26:30 +0200 (CEST) From: Sjoerd Simons To: linux-rockchip@lists.infradead.org Cc: kernel@collabora.com, Akash Gajjar , Heiko Stuebner , Krzysztof Kozlowski , Rob Herring , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/2] arm64: dts: rockchip: rock-pi-s add more peripherals Date: Mon, 6 Jun 2022 10:26:28 +0200 Message-Id: <20220606082629.79682-3-sjoerd@collabora.com> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220606082629.79682-1-sjoerd@collabora.com> References: <20220606082629.79682-1-sjoerd@collabora.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" This enables the following peripherals: * Onboard ethernet support * Bluetooth * USB 2 port * OTG port via type-c connector * Hardware watchog Also add aliases for the mmc devices and the ethernet interface Signed-off-by: Sjoerd Simons --- .../boot/dts/rockchip/rk3308-rock-pi-s.dts | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts b/arch/arm64= /boot/dts/rockchip/rk3308-rock-pi-s.dts index 9095efe25ccd..46ba48b843c5 100644 --- a/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts +++ b/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts @@ -11,6 +11,12 @@ / { model =3D "Radxa ROCK Pi S"; compatible =3D "radxa,rockpis", "rockchip,rk3308"; =20 + aliases { + ethernet0 =3D &gmac; + mmc0 =3D &emmc; + mmc1 =3D &sdmmc; + }; + chosen { stdout-path =3D "serial0:1500000n8"; }; @@ -132,6 +138,15 @@ &emmc { status =3D "okay"; }; =20 +&gmac { + clock_in_out =3D "output"; + phy-supply =3D <&vcc_io>; + snps,reset-gpio =3D <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; + snps,reset-active-low; + snps,reset-delays-us =3D <0 50000 50000>; + status =3D "okay"; +}; + &i2c1 { status =3D "okay"; }; @@ -195,10 +210,47 @@ &sdmmc { status =3D "okay"; }; =20 +&u2phy { + status =3D "okay"; + + u2phy_host: host-port { + phy-supply =3D <&vcc5v0_otg>; + status =3D "okay"; + }; + + u2phy_otg: otg-port { + phy-supply =3D <&vcc5v0_otg>; + status =3D "okay"; + }; +}; + &uart0 { status =3D "okay"; }; =20 &uart4 { status =3D "okay"; + + bluetooth { + compatible =3D "realtek,rtl8723bs-bt"; + device-wake-gpios =3D <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>; + host-wake-gpios =3D <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>; + }; +}; + +&usb_host_ehci { + status =3D "okay"; +}; + +&usb_host_ohci { + status =3D "okay"; +}; + +&usb20_otg { + dr_mode =3D "peripheral"; + status =3D "okay"; +}; + +&wdt { + status =3D "okay"; }; --=20 2.36.1