From: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
To: Samuel Holland <samuel@sholland.org>
Cc: Chen-Yu Tsai <wens@csie.org>,
Jernej Skrabec <jernej.skrabec@gmail.com>,
linux-sunxi@lists.linux.dev, devicetree@vger.kernel.org,
Rob Herring <robh+dt@kernel.org>,
Jisheng Zhang <jszhang@kernel.org>,
linux-riscv@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
Andre Przywara <andre.przywara@arm.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor@kernel.org>,
linux-kernel@vger.kernel.org, Heiko Stuebner <heiko@sntech.de>,
Palmer Dabbelt <palmer@rivosinc.com>
Subject: Re: [PATCH v4 07/12] riscv: dts: allwinner: Add Sipeed Lichee RV devicetrees
Date: Thu, 5 Jan 2023 14:55:43 +0100 [thread overview]
Message-ID: <Y7bW32i3EUmGHqSK@aptenodytes> (raw)
In-Reply-To: <20221231233851.24923-8-samuel@sholland.org>
[-- Attachment #1.1: Type: text/plain, Size: 12693 bytes --]
Hi Samuel,
On Sat 31 Dec 22, 17:38, Samuel Holland wrote:
> Sipeed manufactures a "Lichee RV" system-on-module, which provides a
> minimal working system on its own, as well as a few carrier boards. The
> "Dock" board provides audio, USB, and WiFi. The "86 Panel" additionally
> provides 100M Ethernet and a built-in display panel.
>
> The 86 Panel repurposes the USB ID and VBUS detection GPIOs for its RGB
> panel interface, since the USB OTG port is inaccessible inside the case.
Looks like the panel-enabled variants would better be described as device-tree
overlays as they are not specific devices but are peripheral extensions.
What do you think?
Cheers,
Paul
> Co-developed-by: Jisheng Zhang <jszhang@kernel.org>
> Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
> Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
> Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
> Signed-off-by: Samuel Holland <samuel@sholland.org>
> ---
>
> (no changes since v3)
>
> Changes in v3:
> - Fix `make W=1 dtbs` warnings (missing reg properties)
> - Drop mmc alias
>
> Changes in v2:
> - Added DMIC sound card to Lichee RV dock and Lichee RV 86 Panel
> - Removed LRADC (depends on analog LDOs)
>
> arch/riscv/boot/dts/allwinner/Makefile | 4 +
> .../sun20i-d1-lichee-rv-86-panel-480p.dts | 29 +++++
> .../sun20i-d1-lichee-rv-86-panel-720p.dts | 10 ++
> .../sun20i-d1-lichee-rv-86-panel.dtsi | 119 ++++++++++++++++++
> .../allwinner/sun20i-d1-lichee-rv-dock.dts | 97 ++++++++++++++
> .../dts/allwinner/sun20i-d1-lichee-rv.dts | 87 +++++++++++++
> 6 files changed, 346 insertions(+)
> create mode 100644 arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel-480p.dts
> create mode 100644 arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel-720p.dts
> create mode 100644 arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel.dtsi
> create mode 100644 arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-dock.dts
> create mode 100644 arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv.dts
>
> diff --git a/arch/riscv/boot/dts/allwinner/Makefile b/arch/riscv/boot/dts/allwinner/Makefile
> index 277e59d1c907..f1c70b9dc9bf 100644
> --- a/arch/riscv/boot/dts/allwinner/Makefile
> +++ b/arch/riscv/boot/dts/allwinner/Makefile
> @@ -1,3 +1,7 @@
> # SPDX-License-Identifier: GPL-2.0
> +dtb-$(CONFIG_ARCH_SUNXI) += sun20i-d1-lichee-rv-86-panel-480p.dtb
> +dtb-$(CONFIG_ARCH_SUNXI) += sun20i-d1-lichee-rv-86-panel-720p.dtb
> +dtb-$(CONFIG_ARCH_SUNXI) += sun20i-d1-lichee-rv-dock.dtb
> +dtb-$(CONFIG_ARCH_SUNXI) += sun20i-d1-lichee-rv.dtb
> dtb-$(CONFIG_ARCH_SUNXI) += sun20i-d1-nezha.dtb
> dtb-$(CONFIG_ARCH_SUNXI) += sun20i-d1s-mangopi-mq.dtb
> diff --git a/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel-480p.dts b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel-480p.dts
> new file mode 100644
> index 000000000000..4df8ffb71561
> --- /dev/null
> +++ b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel-480p.dts
> @@ -0,0 +1,29 @@
> +// SPDX-License-Identifier: (GPL-2.0+ or MIT)
> +// Copyright (C) 2022 Samuel Holland <samuel@sholland.org>
> +
> +#include "sun20i-d1-lichee-rv-86-panel.dtsi"
> +
> +/ {
> + model = "Sipeed Lichee RV 86 Panel (480p)";
> + compatible = "sipeed,lichee-rv-86-panel-480p", "sipeed,lichee-rv",
> + "allwinner,sun20i-d1";
> +};
> +
> +&i2c2 {
> + pinctrl-0 = <&i2c2_pb0_pins>;
> + pinctrl-names = "default";
> + status = "okay";
> +
> + touchscreen@48 {
> + compatible = "focaltech,ft6236";
> + reg = <0x48>;
> + interrupt-parent = <&pio>;
> + interrupts = <6 14 IRQ_TYPE_LEVEL_LOW>; /* PG14 */
> + iovcc-supply = <®_vcc_3v3>;
> + reset-gpios = <&pio 6 15 GPIO_ACTIVE_LOW>; /* PG15 */
> + touchscreen-size-x = <480>;
> + touchscreen-size-y = <480>;
> + vcc-supply = <®_vcc_3v3>;
> + wakeup-source;
> + };
> +};
> diff --git a/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel-720p.dts b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel-720p.dts
> new file mode 100644
> index 000000000000..1874fc05359f
> --- /dev/null
> +++ b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel-720p.dts
> @@ -0,0 +1,10 @@
> +// SPDX-License-Identifier: (GPL-2.0+ or MIT)
> +// Copyright (C) 2022 Samuel Holland <samuel@sholland.org>
> +
> +#include "sun20i-d1-lichee-rv-86-panel.dtsi"
> +
> +/ {
> + model = "Sipeed Lichee RV 86 Panel (720p)";
> + compatible = "sipeed,lichee-rv-86-panel-720p", "sipeed,lichee-rv",
> + "allwinner,sun20i-d1";
> +};
> diff --git a/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel.dtsi b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel.dtsi
> new file mode 100644
> index 000000000000..6cc7dd0c1ae2
> --- /dev/null
> +++ b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel.dtsi
> @@ -0,0 +1,119 @@
> +// SPDX-License-Identifier: (GPL-2.0+ or MIT)
> +// Copyright (C) 2022 Samuel Holland <samuel@sholland.org>
> +
> +#include "sun20i-d1-lichee-rv.dts"
> +
> +/ {
> + aliases {
> + ethernet0 = &emac;
> + ethernet1 = &xr829;
> + };
> +
> + dmic_codec: dmic-codec {
> + compatible = "dmic-codec";
> + num-channels = <2>;
> + #sound-dai-cells = <0>;
> + };
> +
> + dmic-sound {
> + compatible = "simple-audio-card";
> + simple-audio-card,name = "DMIC";
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + simple-audio-card,dai-link@0 {
> + reg = <0>;
> + format = "pdm";
> + frame-master = <&link0_cpu>;
> + bitclock-master = <&link0_cpu>;
> +
> + link0_cpu: cpu {
> + sound-dai = <&dmic>;
> + };
> +
> + link0_codec: codec {
> + sound-dai = <&dmic_codec>;
> + };
> + };
> + };
> +
> + /* PC1 is repurposed as BT_WAKE_AP */
> + /delete-node/ leds;
> +
> + wifi_pwrseq: wifi-pwrseq {
> + compatible = "mmc-pwrseq-simple";
> + clocks = <&ccu CLK_FANOUT1>;
> + clock-names = "ext_clock";
> + reset-gpios = <&pio 6 12 GPIO_ACTIVE_LOW>; /* PG12 */
> + assigned-clocks = <&ccu CLK_FANOUT1>;
> + assigned-clock-rates = <32768>;
> + pinctrl-0 = <&clk_pg11_pin>;
> + pinctrl-names = "default";
> + };
> +};
> +
> +&dmic {
> + pinctrl-0 = <&dmic_pb11_d0_pin>, <&dmic_pe17_clk_pin>;
> + pinctrl-names = "default";
> + status = "okay";
> +};
> +
> +&ehci1 {
> + status = "okay";
> +};
> +
> +&emac {
> + pinctrl-0 = <&rmii_pe_pins>;
> + pinctrl-names = "default";
> + phy-handle = <&ext_rmii_phy>;
> + phy-mode = "rmii";
> + phy-supply = <®_vcc_3v3>;
> + status = "okay";
> +};
> +
> +&mdio {
> + ext_rmii_phy: ethernet-phy@1 {
> + compatible = "ethernet-phy-ieee802.3-c22";
> + reg = <1>;
> + reset-gpios = <&pio 4 16 GPIO_ACTIVE_LOW>; /* PE16 */
> + };
> +};
> +
> +&mmc1 {
> + bus-width = <4>;
> + mmc-pwrseq = <&wifi_pwrseq>;
> + non-removable;
> + vmmc-supply = <®_vcc_3v3>;
> + vqmmc-supply = <®_vcc_3v3>;
> + pinctrl-0 = <&mmc1_pins>;
> + pinctrl-names = "default";
> + status = "okay";
> +
> + xr829: wifi@1 {
> + reg = <1>;
> + };
> +};
> +
> +&ohci1 {
> + status = "okay";
> +};
> +
> +&uart1 {
> + uart-has-rtscts;
> + pinctrl-0 = <&uart1_pg6_pins>, <&uart1_pg8_rts_cts_pins>;
> + pinctrl-names = "default";
> + status = "okay";
> +
> + /* XR829 bluetooth is connected here */
> +};
> +
> +&usb_otg {
> + status = "disabled";
> +};
> +
> +&usbphy {
> + /* PD20 and PD21 are repurposed for the LCD panel */
> + /delete-property/ usb0_id_det-gpios;
> + /delete-property/ usb0_vbus_det-gpios;
> + usb1_vbus-supply = <®_vcc>;
> +};
> diff --git a/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-dock.dts b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-dock.dts
> new file mode 100644
> index 000000000000..52b91e1affed
> --- /dev/null
> +++ b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-dock.dts
> @@ -0,0 +1,97 @@
> +// SPDX-License-Identifier: (GPL-2.0+ or MIT)
> +// Copyright (C) 2022 Jisheng Zhang <jszhang@kernel.org>
> +// Copyright (C) 2022 Samuel Holland <samuel@sholland.org>
> +
> +#include <dt-bindings/input/input.h>
> +
> +#include "sun20i-d1-lichee-rv.dts"
> +
> +/ {
> + model = "Sipeed Lichee RV Dock";
> + compatible = "sipeed,lichee-rv-dock", "sipeed,lichee-rv",
> + "allwinner,sun20i-d1";
> +
> + aliases {
> + ethernet1 = &rtl8723ds;
> + };
> +
> + dmic_codec: dmic-codec {
> + compatible = "dmic-codec";
> + num-channels = <2>;
> + #sound-dai-cells = <0>;
> + };
> +
> + dmic-sound {
> + compatible = "simple-audio-card";
> + simple-audio-card,name = "DMIC";
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + simple-audio-card,dai-link@0 {
> + reg = <0>;
> + format = "pdm";
> + frame-master = <&link0_cpu>;
> + bitclock-master = <&link0_cpu>;
> +
> + link0_cpu: cpu {
> + sound-dai = <&dmic>;
> + };
> +
> + link0_codec: codec {
> + sound-dai = <&dmic_codec>;
> + };
> + };
> + };
> +
> + wifi_pwrseq: wifi-pwrseq {
> + compatible = "mmc-pwrseq-simple";
> + reset-gpios = <&pio 6 12 GPIO_ACTIVE_LOW>; /* PG12 */
> + };
> +};
> +
> +&dmic {
> + pinctrl-0 = <&dmic_pb11_d0_pin>, <&dmic_pe17_clk_pin>;
> + pinctrl-names = "default";
> + status = "okay";
> +};
> +
> +&ehci1 {
> + status = "okay";
> +};
> +
> +&mmc1 {
> + bus-width = <4>;
> + mmc-pwrseq = <&wifi_pwrseq>;
> + non-removable;
> + vmmc-supply = <®_vcc_3v3>;
> + vqmmc-supply = <®_vcc_3v3>;
> + pinctrl-0 = <&mmc1_pins>;
> + pinctrl-names = "default";
> + status = "okay";
> +
> + rtl8723ds: wifi@1 {
> + reg = <1>;
> + };
> +};
> +
> +&ohci1 {
> + status = "okay";
> +};
> +
> +&uart1 {
> + uart-has-rtscts;
> + pinctrl-0 = <&uart1_pg6_pins>, <&uart1_pg8_rts_cts_pins>;
> + pinctrl-names = "default";
> + status = "okay";
> +
> + bluetooth {
> + compatible = "realtek,rtl8723ds-bt";
> + device-wake-gpios = <&pio 6 15 GPIO_ACTIVE_HIGH>; /* PG16 */
> + enable-gpios = <&pio 6 18 GPIO_ACTIVE_HIGH>; /* PG18 */
> + host-wake-gpios = <&pio 6 17 GPIO_ACTIVE_HIGH>; /* PG17 */
> + };
> +};
> +
> +&usbphy {
> + usb1_vbus-supply = <®_vcc>;
> +};
> diff --git a/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv.dts b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv.dts
> new file mode 100644
> index 000000000000..d60a0562a8b1
> --- /dev/null
> +++ b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv.dts
> @@ -0,0 +1,87 @@
> +// SPDX-License-Identifier: (GPL-2.0+ or MIT)
> +// Copyright (C) 2022 Jisheng Zhang <jszhang@kernel.org>
> +// Copyright (C) 2022 Samuel Holland <samuel@sholland.org>
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/leds/common.h>
> +
> +/dts-v1/;
> +
> +#include "sun20i-d1.dtsi"
> +#include "sun20i-common-regulators.dtsi"
> +
> +/ {
> + model = "Sipeed Lichee RV";
> + compatible = "sipeed,lichee-rv", "allwinner,sun20i-d1";
> +
> + aliases {
> + serial0 = &uart0;
> + };
> +
> + chosen {
> + stdout-path = "serial0:115200n8";
> + };
> +
> + leds {
> + compatible = "gpio-leds";
> +
> + led-0 {
> + color = <LED_COLOR_ID_GREEN>;
> + function = LED_FUNCTION_STATUS;
> + gpios = <&pio 2 1 GPIO_ACTIVE_HIGH>; /* PC1 */
> + };
> + };
> +
> + reg_vdd_cpu: vdd-cpu {
> + compatible = "regulator-fixed";
> + regulator-name = "vdd-cpu";
> + regulator-min-microvolt = <900000>;
> + regulator-max-microvolt = <900000>;
> + vin-supply = <®_vcc>;
> + };
> +};
> +
> +&cpu0 {
> + cpu-supply = <®_vdd_cpu>;
> +};
> +
> +&dcxo {
> + clock-frequency = <24000000>;
> +};
> +
> +&ehci0 {
> + status = "okay";
> +};
> +
> +&mmc0 {
> + broken-cd;
> + bus-width = <4>;
> + disable-wp;
> + vmmc-supply = <®_vcc_3v3>;
> + vqmmc-supply = <®_vcc_3v3>;
> + pinctrl-0 = <&mmc0_pins>;
> + pinctrl-names = "default";
> + status = "okay";
> +};
> +
> +&ohci0 {
> + status = "okay";
> +};
> +
> +&uart0 {
> + pinctrl-0 = <&uart0_pb8_pins>;
> + pinctrl-names = "default";
> + status = "okay";
> +};
> +
> +&usb_otg {
> + dr_mode = "otg";
> + status = "okay";
> +};
> +
> +&usbphy {
> + usb0_id_det-gpios = <&pio 3 21 GPIO_ACTIVE_HIGH>; /* PD21 */
> + usb0_vbus_det-gpios = <&pio 3 20 GPIO_ACTIVE_HIGH>; /* PD20 */
> + usb0_vbus-supply = <®_vcc>;
> + status = "okay";
> +};
> --
> 2.37.4
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
--
Paul Kocialkowski, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #2: Type: text/plain, Size: 161 bytes --]
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
WARNING: multiple messages have this Message-ID (diff)
From: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
To: Samuel Holland <samuel@sholland.org>
Cc: Chen-Yu Tsai <wens@csie.org>,
Jernej Skrabec <jernej.skrabec@gmail.com>,
linux-sunxi@lists.linux.dev, devicetree@vger.kernel.org,
Rob Herring <robh+dt@kernel.org>,
Jisheng Zhang <jszhang@kernel.org>,
linux-riscv@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
Andre Przywara <andre.przywara@arm.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor@kernel.org>,
linux-kernel@vger.kernel.org, Heiko Stuebner <heiko@sntech.de>,
Palmer Dabbelt <palmer@rivosinc.com>
Subject: Re: [PATCH v4 07/12] riscv: dts: allwinner: Add Sipeed Lichee RV devicetrees
Date: Thu, 5 Jan 2023 14:55:43 +0100 [thread overview]
Message-ID: <Y7bW32i3EUmGHqSK@aptenodytes> (raw)
In-Reply-To: <20221231233851.24923-8-samuel@sholland.org>
[-- Attachment #1: Type: text/plain, Size: 12693 bytes --]
Hi Samuel,
On Sat 31 Dec 22, 17:38, Samuel Holland wrote:
> Sipeed manufactures a "Lichee RV" system-on-module, which provides a
> minimal working system on its own, as well as a few carrier boards. The
> "Dock" board provides audio, USB, and WiFi. The "86 Panel" additionally
> provides 100M Ethernet and a built-in display panel.
>
> The 86 Panel repurposes the USB ID and VBUS detection GPIOs for its RGB
> panel interface, since the USB OTG port is inaccessible inside the case.
Looks like the panel-enabled variants would better be described as device-tree
overlays as they are not specific devices but are peripheral extensions.
What do you think?
Cheers,
Paul
> Co-developed-by: Jisheng Zhang <jszhang@kernel.org>
> Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
> Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
> Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
> Signed-off-by: Samuel Holland <samuel@sholland.org>
> ---
>
> (no changes since v3)
>
> Changes in v3:
> - Fix `make W=1 dtbs` warnings (missing reg properties)
> - Drop mmc alias
>
> Changes in v2:
> - Added DMIC sound card to Lichee RV dock and Lichee RV 86 Panel
> - Removed LRADC (depends on analog LDOs)
>
> arch/riscv/boot/dts/allwinner/Makefile | 4 +
> .../sun20i-d1-lichee-rv-86-panel-480p.dts | 29 +++++
> .../sun20i-d1-lichee-rv-86-panel-720p.dts | 10 ++
> .../sun20i-d1-lichee-rv-86-panel.dtsi | 119 ++++++++++++++++++
> .../allwinner/sun20i-d1-lichee-rv-dock.dts | 97 ++++++++++++++
> .../dts/allwinner/sun20i-d1-lichee-rv.dts | 87 +++++++++++++
> 6 files changed, 346 insertions(+)
> create mode 100644 arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel-480p.dts
> create mode 100644 arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel-720p.dts
> create mode 100644 arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel.dtsi
> create mode 100644 arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-dock.dts
> create mode 100644 arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv.dts
>
> diff --git a/arch/riscv/boot/dts/allwinner/Makefile b/arch/riscv/boot/dts/allwinner/Makefile
> index 277e59d1c907..f1c70b9dc9bf 100644
> --- a/arch/riscv/boot/dts/allwinner/Makefile
> +++ b/arch/riscv/boot/dts/allwinner/Makefile
> @@ -1,3 +1,7 @@
> # SPDX-License-Identifier: GPL-2.0
> +dtb-$(CONFIG_ARCH_SUNXI) += sun20i-d1-lichee-rv-86-panel-480p.dtb
> +dtb-$(CONFIG_ARCH_SUNXI) += sun20i-d1-lichee-rv-86-panel-720p.dtb
> +dtb-$(CONFIG_ARCH_SUNXI) += sun20i-d1-lichee-rv-dock.dtb
> +dtb-$(CONFIG_ARCH_SUNXI) += sun20i-d1-lichee-rv.dtb
> dtb-$(CONFIG_ARCH_SUNXI) += sun20i-d1-nezha.dtb
> dtb-$(CONFIG_ARCH_SUNXI) += sun20i-d1s-mangopi-mq.dtb
> diff --git a/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel-480p.dts b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel-480p.dts
> new file mode 100644
> index 000000000000..4df8ffb71561
> --- /dev/null
> +++ b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel-480p.dts
> @@ -0,0 +1,29 @@
> +// SPDX-License-Identifier: (GPL-2.0+ or MIT)
> +// Copyright (C) 2022 Samuel Holland <samuel@sholland.org>
> +
> +#include "sun20i-d1-lichee-rv-86-panel.dtsi"
> +
> +/ {
> + model = "Sipeed Lichee RV 86 Panel (480p)";
> + compatible = "sipeed,lichee-rv-86-panel-480p", "sipeed,lichee-rv",
> + "allwinner,sun20i-d1";
> +};
> +
> +&i2c2 {
> + pinctrl-0 = <&i2c2_pb0_pins>;
> + pinctrl-names = "default";
> + status = "okay";
> +
> + touchscreen@48 {
> + compatible = "focaltech,ft6236";
> + reg = <0x48>;
> + interrupt-parent = <&pio>;
> + interrupts = <6 14 IRQ_TYPE_LEVEL_LOW>; /* PG14 */
> + iovcc-supply = <®_vcc_3v3>;
> + reset-gpios = <&pio 6 15 GPIO_ACTIVE_LOW>; /* PG15 */
> + touchscreen-size-x = <480>;
> + touchscreen-size-y = <480>;
> + vcc-supply = <®_vcc_3v3>;
> + wakeup-source;
> + };
> +};
> diff --git a/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel-720p.dts b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel-720p.dts
> new file mode 100644
> index 000000000000..1874fc05359f
> --- /dev/null
> +++ b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel-720p.dts
> @@ -0,0 +1,10 @@
> +// SPDX-License-Identifier: (GPL-2.0+ or MIT)
> +// Copyright (C) 2022 Samuel Holland <samuel@sholland.org>
> +
> +#include "sun20i-d1-lichee-rv-86-panel.dtsi"
> +
> +/ {
> + model = "Sipeed Lichee RV 86 Panel (720p)";
> + compatible = "sipeed,lichee-rv-86-panel-720p", "sipeed,lichee-rv",
> + "allwinner,sun20i-d1";
> +};
> diff --git a/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel.dtsi b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel.dtsi
> new file mode 100644
> index 000000000000..6cc7dd0c1ae2
> --- /dev/null
> +++ b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel.dtsi
> @@ -0,0 +1,119 @@
> +// SPDX-License-Identifier: (GPL-2.0+ or MIT)
> +// Copyright (C) 2022 Samuel Holland <samuel@sholland.org>
> +
> +#include "sun20i-d1-lichee-rv.dts"
> +
> +/ {
> + aliases {
> + ethernet0 = &emac;
> + ethernet1 = &xr829;
> + };
> +
> + dmic_codec: dmic-codec {
> + compatible = "dmic-codec";
> + num-channels = <2>;
> + #sound-dai-cells = <0>;
> + };
> +
> + dmic-sound {
> + compatible = "simple-audio-card";
> + simple-audio-card,name = "DMIC";
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + simple-audio-card,dai-link@0 {
> + reg = <0>;
> + format = "pdm";
> + frame-master = <&link0_cpu>;
> + bitclock-master = <&link0_cpu>;
> +
> + link0_cpu: cpu {
> + sound-dai = <&dmic>;
> + };
> +
> + link0_codec: codec {
> + sound-dai = <&dmic_codec>;
> + };
> + };
> + };
> +
> + /* PC1 is repurposed as BT_WAKE_AP */
> + /delete-node/ leds;
> +
> + wifi_pwrseq: wifi-pwrseq {
> + compatible = "mmc-pwrseq-simple";
> + clocks = <&ccu CLK_FANOUT1>;
> + clock-names = "ext_clock";
> + reset-gpios = <&pio 6 12 GPIO_ACTIVE_LOW>; /* PG12 */
> + assigned-clocks = <&ccu CLK_FANOUT1>;
> + assigned-clock-rates = <32768>;
> + pinctrl-0 = <&clk_pg11_pin>;
> + pinctrl-names = "default";
> + };
> +};
> +
> +&dmic {
> + pinctrl-0 = <&dmic_pb11_d0_pin>, <&dmic_pe17_clk_pin>;
> + pinctrl-names = "default";
> + status = "okay";
> +};
> +
> +&ehci1 {
> + status = "okay";
> +};
> +
> +&emac {
> + pinctrl-0 = <&rmii_pe_pins>;
> + pinctrl-names = "default";
> + phy-handle = <&ext_rmii_phy>;
> + phy-mode = "rmii";
> + phy-supply = <®_vcc_3v3>;
> + status = "okay";
> +};
> +
> +&mdio {
> + ext_rmii_phy: ethernet-phy@1 {
> + compatible = "ethernet-phy-ieee802.3-c22";
> + reg = <1>;
> + reset-gpios = <&pio 4 16 GPIO_ACTIVE_LOW>; /* PE16 */
> + };
> +};
> +
> +&mmc1 {
> + bus-width = <4>;
> + mmc-pwrseq = <&wifi_pwrseq>;
> + non-removable;
> + vmmc-supply = <®_vcc_3v3>;
> + vqmmc-supply = <®_vcc_3v3>;
> + pinctrl-0 = <&mmc1_pins>;
> + pinctrl-names = "default";
> + status = "okay";
> +
> + xr829: wifi@1 {
> + reg = <1>;
> + };
> +};
> +
> +&ohci1 {
> + status = "okay";
> +};
> +
> +&uart1 {
> + uart-has-rtscts;
> + pinctrl-0 = <&uart1_pg6_pins>, <&uart1_pg8_rts_cts_pins>;
> + pinctrl-names = "default";
> + status = "okay";
> +
> + /* XR829 bluetooth is connected here */
> +};
> +
> +&usb_otg {
> + status = "disabled";
> +};
> +
> +&usbphy {
> + /* PD20 and PD21 are repurposed for the LCD panel */
> + /delete-property/ usb0_id_det-gpios;
> + /delete-property/ usb0_vbus_det-gpios;
> + usb1_vbus-supply = <®_vcc>;
> +};
> diff --git a/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-dock.dts b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-dock.dts
> new file mode 100644
> index 000000000000..52b91e1affed
> --- /dev/null
> +++ b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-dock.dts
> @@ -0,0 +1,97 @@
> +// SPDX-License-Identifier: (GPL-2.0+ or MIT)
> +// Copyright (C) 2022 Jisheng Zhang <jszhang@kernel.org>
> +// Copyright (C) 2022 Samuel Holland <samuel@sholland.org>
> +
> +#include <dt-bindings/input/input.h>
> +
> +#include "sun20i-d1-lichee-rv.dts"
> +
> +/ {
> + model = "Sipeed Lichee RV Dock";
> + compatible = "sipeed,lichee-rv-dock", "sipeed,lichee-rv",
> + "allwinner,sun20i-d1";
> +
> + aliases {
> + ethernet1 = &rtl8723ds;
> + };
> +
> + dmic_codec: dmic-codec {
> + compatible = "dmic-codec";
> + num-channels = <2>;
> + #sound-dai-cells = <0>;
> + };
> +
> + dmic-sound {
> + compatible = "simple-audio-card";
> + simple-audio-card,name = "DMIC";
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + simple-audio-card,dai-link@0 {
> + reg = <0>;
> + format = "pdm";
> + frame-master = <&link0_cpu>;
> + bitclock-master = <&link0_cpu>;
> +
> + link0_cpu: cpu {
> + sound-dai = <&dmic>;
> + };
> +
> + link0_codec: codec {
> + sound-dai = <&dmic_codec>;
> + };
> + };
> + };
> +
> + wifi_pwrseq: wifi-pwrseq {
> + compatible = "mmc-pwrseq-simple";
> + reset-gpios = <&pio 6 12 GPIO_ACTIVE_LOW>; /* PG12 */
> + };
> +};
> +
> +&dmic {
> + pinctrl-0 = <&dmic_pb11_d0_pin>, <&dmic_pe17_clk_pin>;
> + pinctrl-names = "default";
> + status = "okay";
> +};
> +
> +&ehci1 {
> + status = "okay";
> +};
> +
> +&mmc1 {
> + bus-width = <4>;
> + mmc-pwrseq = <&wifi_pwrseq>;
> + non-removable;
> + vmmc-supply = <®_vcc_3v3>;
> + vqmmc-supply = <®_vcc_3v3>;
> + pinctrl-0 = <&mmc1_pins>;
> + pinctrl-names = "default";
> + status = "okay";
> +
> + rtl8723ds: wifi@1 {
> + reg = <1>;
> + };
> +};
> +
> +&ohci1 {
> + status = "okay";
> +};
> +
> +&uart1 {
> + uart-has-rtscts;
> + pinctrl-0 = <&uart1_pg6_pins>, <&uart1_pg8_rts_cts_pins>;
> + pinctrl-names = "default";
> + status = "okay";
> +
> + bluetooth {
> + compatible = "realtek,rtl8723ds-bt";
> + device-wake-gpios = <&pio 6 15 GPIO_ACTIVE_HIGH>; /* PG16 */
> + enable-gpios = <&pio 6 18 GPIO_ACTIVE_HIGH>; /* PG18 */
> + host-wake-gpios = <&pio 6 17 GPIO_ACTIVE_HIGH>; /* PG17 */
> + };
> +};
> +
> +&usbphy {
> + usb1_vbus-supply = <®_vcc>;
> +};
> diff --git a/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv.dts b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv.dts
> new file mode 100644
> index 000000000000..d60a0562a8b1
> --- /dev/null
> +++ b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv.dts
> @@ -0,0 +1,87 @@
> +// SPDX-License-Identifier: (GPL-2.0+ or MIT)
> +// Copyright (C) 2022 Jisheng Zhang <jszhang@kernel.org>
> +// Copyright (C) 2022 Samuel Holland <samuel@sholland.org>
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/leds/common.h>
> +
> +/dts-v1/;
> +
> +#include "sun20i-d1.dtsi"
> +#include "sun20i-common-regulators.dtsi"
> +
> +/ {
> + model = "Sipeed Lichee RV";
> + compatible = "sipeed,lichee-rv", "allwinner,sun20i-d1";
> +
> + aliases {
> + serial0 = &uart0;
> + };
> +
> + chosen {
> + stdout-path = "serial0:115200n8";
> + };
> +
> + leds {
> + compatible = "gpio-leds";
> +
> + led-0 {
> + color = <LED_COLOR_ID_GREEN>;
> + function = LED_FUNCTION_STATUS;
> + gpios = <&pio 2 1 GPIO_ACTIVE_HIGH>; /* PC1 */
> + };
> + };
> +
> + reg_vdd_cpu: vdd-cpu {
> + compatible = "regulator-fixed";
> + regulator-name = "vdd-cpu";
> + regulator-min-microvolt = <900000>;
> + regulator-max-microvolt = <900000>;
> + vin-supply = <®_vcc>;
> + };
> +};
> +
> +&cpu0 {
> + cpu-supply = <®_vdd_cpu>;
> +};
> +
> +&dcxo {
> + clock-frequency = <24000000>;
> +};
> +
> +&ehci0 {
> + status = "okay";
> +};
> +
> +&mmc0 {
> + broken-cd;
> + bus-width = <4>;
> + disable-wp;
> + vmmc-supply = <®_vcc_3v3>;
> + vqmmc-supply = <®_vcc_3v3>;
> + pinctrl-0 = <&mmc0_pins>;
> + pinctrl-names = "default";
> + status = "okay";
> +};
> +
> +&ohci0 {
> + status = "okay";
> +};
> +
> +&uart0 {
> + pinctrl-0 = <&uart0_pb8_pins>;
> + pinctrl-names = "default";
> + status = "okay";
> +};
> +
> +&usb_otg {
> + dr_mode = "otg";
> + status = "okay";
> +};
> +
> +&usbphy {
> + usb0_id_det-gpios = <&pio 3 21 GPIO_ACTIVE_HIGH>; /* PD21 */
> + usb0_vbus_det-gpios = <&pio 3 20 GPIO_ACTIVE_HIGH>; /* PD20 */
> + usb0_vbus-supply = <®_vcc>;
> + status = "okay";
> +};
> --
> 2.37.4
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
--
Paul Kocialkowski, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
To: Samuel Holland <samuel@sholland.org>
Cc: Chen-Yu Tsai <wens@csie.org>,
Jernej Skrabec <jernej.skrabec@gmail.com>,
linux-sunxi@lists.linux.dev, devicetree@vger.kernel.org,
Rob Herring <robh+dt@kernel.org>,
Jisheng Zhang <jszhang@kernel.org>,
linux-riscv@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
Andre Przywara <andre.przywara@arm.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor@kernel.org>,
linux-kernel@vger.kernel.org, Heiko Stuebner <heiko@sntech.de>,
Palmer Dabbelt <palmer@rivosinc.com>
Subject: Re: [PATCH v4 07/12] riscv: dts: allwinner: Add Sipeed Lichee RV devicetrees
Date: Thu, 5 Jan 2023 14:55:43 +0100 [thread overview]
Message-ID: <Y7bW32i3EUmGHqSK@aptenodytes> (raw)
In-Reply-To: <20221231233851.24923-8-samuel@sholland.org>
[-- Attachment #1.1: Type: text/plain, Size: 12693 bytes --]
Hi Samuel,
On Sat 31 Dec 22, 17:38, Samuel Holland wrote:
> Sipeed manufactures a "Lichee RV" system-on-module, which provides a
> minimal working system on its own, as well as a few carrier boards. The
> "Dock" board provides audio, USB, and WiFi. The "86 Panel" additionally
> provides 100M Ethernet and a built-in display panel.
>
> The 86 Panel repurposes the USB ID and VBUS detection GPIOs for its RGB
> panel interface, since the USB OTG port is inaccessible inside the case.
Looks like the panel-enabled variants would better be described as device-tree
overlays as they are not specific devices but are peripheral extensions.
What do you think?
Cheers,
Paul
> Co-developed-by: Jisheng Zhang <jszhang@kernel.org>
> Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
> Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
> Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
> Signed-off-by: Samuel Holland <samuel@sholland.org>
> ---
>
> (no changes since v3)
>
> Changes in v3:
> - Fix `make W=1 dtbs` warnings (missing reg properties)
> - Drop mmc alias
>
> Changes in v2:
> - Added DMIC sound card to Lichee RV dock and Lichee RV 86 Panel
> - Removed LRADC (depends on analog LDOs)
>
> arch/riscv/boot/dts/allwinner/Makefile | 4 +
> .../sun20i-d1-lichee-rv-86-panel-480p.dts | 29 +++++
> .../sun20i-d1-lichee-rv-86-panel-720p.dts | 10 ++
> .../sun20i-d1-lichee-rv-86-panel.dtsi | 119 ++++++++++++++++++
> .../allwinner/sun20i-d1-lichee-rv-dock.dts | 97 ++++++++++++++
> .../dts/allwinner/sun20i-d1-lichee-rv.dts | 87 +++++++++++++
> 6 files changed, 346 insertions(+)
> create mode 100644 arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel-480p.dts
> create mode 100644 arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel-720p.dts
> create mode 100644 arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel.dtsi
> create mode 100644 arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-dock.dts
> create mode 100644 arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv.dts
>
> diff --git a/arch/riscv/boot/dts/allwinner/Makefile b/arch/riscv/boot/dts/allwinner/Makefile
> index 277e59d1c907..f1c70b9dc9bf 100644
> --- a/arch/riscv/boot/dts/allwinner/Makefile
> +++ b/arch/riscv/boot/dts/allwinner/Makefile
> @@ -1,3 +1,7 @@
> # SPDX-License-Identifier: GPL-2.0
> +dtb-$(CONFIG_ARCH_SUNXI) += sun20i-d1-lichee-rv-86-panel-480p.dtb
> +dtb-$(CONFIG_ARCH_SUNXI) += sun20i-d1-lichee-rv-86-panel-720p.dtb
> +dtb-$(CONFIG_ARCH_SUNXI) += sun20i-d1-lichee-rv-dock.dtb
> +dtb-$(CONFIG_ARCH_SUNXI) += sun20i-d1-lichee-rv.dtb
> dtb-$(CONFIG_ARCH_SUNXI) += sun20i-d1-nezha.dtb
> dtb-$(CONFIG_ARCH_SUNXI) += sun20i-d1s-mangopi-mq.dtb
> diff --git a/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel-480p.dts b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel-480p.dts
> new file mode 100644
> index 000000000000..4df8ffb71561
> --- /dev/null
> +++ b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel-480p.dts
> @@ -0,0 +1,29 @@
> +// SPDX-License-Identifier: (GPL-2.0+ or MIT)
> +// Copyright (C) 2022 Samuel Holland <samuel@sholland.org>
> +
> +#include "sun20i-d1-lichee-rv-86-panel.dtsi"
> +
> +/ {
> + model = "Sipeed Lichee RV 86 Panel (480p)";
> + compatible = "sipeed,lichee-rv-86-panel-480p", "sipeed,lichee-rv",
> + "allwinner,sun20i-d1";
> +};
> +
> +&i2c2 {
> + pinctrl-0 = <&i2c2_pb0_pins>;
> + pinctrl-names = "default";
> + status = "okay";
> +
> + touchscreen@48 {
> + compatible = "focaltech,ft6236";
> + reg = <0x48>;
> + interrupt-parent = <&pio>;
> + interrupts = <6 14 IRQ_TYPE_LEVEL_LOW>; /* PG14 */
> + iovcc-supply = <®_vcc_3v3>;
> + reset-gpios = <&pio 6 15 GPIO_ACTIVE_LOW>; /* PG15 */
> + touchscreen-size-x = <480>;
> + touchscreen-size-y = <480>;
> + vcc-supply = <®_vcc_3v3>;
> + wakeup-source;
> + };
> +};
> diff --git a/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel-720p.dts b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel-720p.dts
> new file mode 100644
> index 000000000000..1874fc05359f
> --- /dev/null
> +++ b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel-720p.dts
> @@ -0,0 +1,10 @@
> +// SPDX-License-Identifier: (GPL-2.0+ or MIT)
> +// Copyright (C) 2022 Samuel Holland <samuel@sholland.org>
> +
> +#include "sun20i-d1-lichee-rv-86-panel.dtsi"
> +
> +/ {
> + model = "Sipeed Lichee RV 86 Panel (720p)";
> + compatible = "sipeed,lichee-rv-86-panel-720p", "sipeed,lichee-rv",
> + "allwinner,sun20i-d1";
> +};
> diff --git a/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel.dtsi b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel.dtsi
> new file mode 100644
> index 000000000000..6cc7dd0c1ae2
> --- /dev/null
> +++ b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel.dtsi
> @@ -0,0 +1,119 @@
> +// SPDX-License-Identifier: (GPL-2.0+ or MIT)
> +// Copyright (C) 2022 Samuel Holland <samuel@sholland.org>
> +
> +#include "sun20i-d1-lichee-rv.dts"
> +
> +/ {
> + aliases {
> + ethernet0 = &emac;
> + ethernet1 = &xr829;
> + };
> +
> + dmic_codec: dmic-codec {
> + compatible = "dmic-codec";
> + num-channels = <2>;
> + #sound-dai-cells = <0>;
> + };
> +
> + dmic-sound {
> + compatible = "simple-audio-card";
> + simple-audio-card,name = "DMIC";
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + simple-audio-card,dai-link@0 {
> + reg = <0>;
> + format = "pdm";
> + frame-master = <&link0_cpu>;
> + bitclock-master = <&link0_cpu>;
> +
> + link0_cpu: cpu {
> + sound-dai = <&dmic>;
> + };
> +
> + link0_codec: codec {
> + sound-dai = <&dmic_codec>;
> + };
> + };
> + };
> +
> + /* PC1 is repurposed as BT_WAKE_AP */
> + /delete-node/ leds;
> +
> + wifi_pwrseq: wifi-pwrseq {
> + compatible = "mmc-pwrseq-simple";
> + clocks = <&ccu CLK_FANOUT1>;
> + clock-names = "ext_clock";
> + reset-gpios = <&pio 6 12 GPIO_ACTIVE_LOW>; /* PG12 */
> + assigned-clocks = <&ccu CLK_FANOUT1>;
> + assigned-clock-rates = <32768>;
> + pinctrl-0 = <&clk_pg11_pin>;
> + pinctrl-names = "default";
> + };
> +};
> +
> +&dmic {
> + pinctrl-0 = <&dmic_pb11_d0_pin>, <&dmic_pe17_clk_pin>;
> + pinctrl-names = "default";
> + status = "okay";
> +};
> +
> +&ehci1 {
> + status = "okay";
> +};
> +
> +&emac {
> + pinctrl-0 = <&rmii_pe_pins>;
> + pinctrl-names = "default";
> + phy-handle = <&ext_rmii_phy>;
> + phy-mode = "rmii";
> + phy-supply = <®_vcc_3v3>;
> + status = "okay";
> +};
> +
> +&mdio {
> + ext_rmii_phy: ethernet-phy@1 {
> + compatible = "ethernet-phy-ieee802.3-c22";
> + reg = <1>;
> + reset-gpios = <&pio 4 16 GPIO_ACTIVE_LOW>; /* PE16 */
> + };
> +};
> +
> +&mmc1 {
> + bus-width = <4>;
> + mmc-pwrseq = <&wifi_pwrseq>;
> + non-removable;
> + vmmc-supply = <®_vcc_3v3>;
> + vqmmc-supply = <®_vcc_3v3>;
> + pinctrl-0 = <&mmc1_pins>;
> + pinctrl-names = "default";
> + status = "okay";
> +
> + xr829: wifi@1 {
> + reg = <1>;
> + };
> +};
> +
> +&ohci1 {
> + status = "okay";
> +};
> +
> +&uart1 {
> + uart-has-rtscts;
> + pinctrl-0 = <&uart1_pg6_pins>, <&uart1_pg8_rts_cts_pins>;
> + pinctrl-names = "default";
> + status = "okay";
> +
> + /* XR829 bluetooth is connected here */
> +};
> +
> +&usb_otg {
> + status = "disabled";
> +};
> +
> +&usbphy {
> + /* PD20 and PD21 are repurposed for the LCD panel */
> + /delete-property/ usb0_id_det-gpios;
> + /delete-property/ usb0_vbus_det-gpios;
> + usb1_vbus-supply = <®_vcc>;
> +};
> diff --git a/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-dock.dts b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-dock.dts
> new file mode 100644
> index 000000000000..52b91e1affed
> --- /dev/null
> +++ b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-dock.dts
> @@ -0,0 +1,97 @@
> +// SPDX-License-Identifier: (GPL-2.0+ or MIT)
> +// Copyright (C) 2022 Jisheng Zhang <jszhang@kernel.org>
> +// Copyright (C) 2022 Samuel Holland <samuel@sholland.org>
> +
> +#include <dt-bindings/input/input.h>
> +
> +#include "sun20i-d1-lichee-rv.dts"
> +
> +/ {
> + model = "Sipeed Lichee RV Dock";
> + compatible = "sipeed,lichee-rv-dock", "sipeed,lichee-rv",
> + "allwinner,sun20i-d1";
> +
> + aliases {
> + ethernet1 = &rtl8723ds;
> + };
> +
> + dmic_codec: dmic-codec {
> + compatible = "dmic-codec";
> + num-channels = <2>;
> + #sound-dai-cells = <0>;
> + };
> +
> + dmic-sound {
> + compatible = "simple-audio-card";
> + simple-audio-card,name = "DMIC";
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + simple-audio-card,dai-link@0 {
> + reg = <0>;
> + format = "pdm";
> + frame-master = <&link0_cpu>;
> + bitclock-master = <&link0_cpu>;
> +
> + link0_cpu: cpu {
> + sound-dai = <&dmic>;
> + };
> +
> + link0_codec: codec {
> + sound-dai = <&dmic_codec>;
> + };
> + };
> + };
> +
> + wifi_pwrseq: wifi-pwrseq {
> + compatible = "mmc-pwrseq-simple";
> + reset-gpios = <&pio 6 12 GPIO_ACTIVE_LOW>; /* PG12 */
> + };
> +};
> +
> +&dmic {
> + pinctrl-0 = <&dmic_pb11_d0_pin>, <&dmic_pe17_clk_pin>;
> + pinctrl-names = "default";
> + status = "okay";
> +};
> +
> +&ehci1 {
> + status = "okay";
> +};
> +
> +&mmc1 {
> + bus-width = <4>;
> + mmc-pwrseq = <&wifi_pwrseq>;
> + non-removable;
> + vmmc-supply = <®_vcc_3v3>;
> + vqmmc-supply = <®_vcc_3v3>;
> + pinctrl-0 = <&mmc1_pins>;
> + pinctrl-names = "default";
> + status = "okay";
> +
> + rtl8723ds: wifi@1 {
> + reg = <1>;
> + };
> +};
> +
> +&ohci1 {
> + status = "okay";
> +};
> +
> +&uart1 {
> + uart-has-rtscts;
> + pinctrl-0 = <&uart1_pg6_pins>, <&uart1_pg8_rts_cts_pins>;
> + pinctrl-names = "default";
> + status = "okay";
> +
> + bluetooth {
> + compatible = "realtek,rtl8723ds-bt";
> + device-wake-gpios = <&pio 6 15 GPIO_ACTIVE_HIGH>; /* PG16 */
> + enable-gpios = <&pio 6 18 GPIO_ACTIVE_HIGH>; /* PG18 */
> + host-wake-gpios = <&pio 6 17 GPIO_ACTIVE_HIGH>; /* PG17 */
> + };
> +};
> +
> +&usbphy {
> + usb1_vbus-supply = <®_vcc>;
> +};
> diff --git a/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv.dts b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv.dts
> new file mode 100644
> index 000000000000..d60a0562a8b1
> --- /dev/null
> +++ b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv.dts
> @@ -0,0 +1,87 @@
> +// SPDX-License-Identifier: (GPL-2.0+ or MIT)
> +// Copyright (C) 2022 Jisheng Zhang <jszhang@kernel.org>
> +// Copyright (C) 2022 Samuel Holland <samuel@sholland.org>
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/leds/common.h>
> +
> +/dts-v1/;
> +
> +#include "sun20i-d1.dtsi"
> +#include "sun20i-common-regulators.dtsi"
> +
> +/ {
> + model = "Sipeed Lichee RV";
> + compatible = "sipeed,lichee-rv", "allwinner,sun20i-d1";
> +
> + aliases {
> + serial0 = &uart0;
> + };
> +
> + chosen {
> + stdout-path = "serial0:115200n8";
> + };
> +
> + leds {
> + compatible = "gpio-leds";
> +
> + led-0 {
> + color = <LED_COLOR_ID_GREEN>;
> + function = LED_FUNCTION_STATUS;
> + gpios = <&pio 2 1 GPIO_ACTIVE_HIGH>; /* PC1 */
> + };
> + };
> +
> + reg_vdd_cpu: vdd-cpu {
> + compatible = "regulator-fixed";
> + regulator-name = "vdd-cpu";
> + regulator-min-microvolt = <900000>;
> + regulator-max-microvolt = <900000>;
> + vin-supply = <®_vcc>;
> + };
> +};
> +
> +&cpu0 {
> + cpu-supply = <®_vdd_cpu>;
> +};
> +
> +&dcxo {
> + clock-frequency = <24000000>;
> +};
> +
> +&ehci0 {
> + status = "okay";
> +};
> +
> +&mmc0 {
> + broken-cd;
> + bus-width = <4>;
> + disable-wp;
> + vmmc-supply = <®_vcc_3v3>;
> + vqmmc-supply = <®_vcc_3v3>;
> + pinctrl-0 = <&mmc0_pins>;
> + pinctrl-names = "default";
> + status = "okay";
> +};
> +
> +&ohci0 {
> + status = "okay";
> +};
> +
> +&uart0 {
> + pinctrl-0 = <&uart0_pb8_pins>;
> + pinctrl-names = "default";
> + status = "okay";
> +};
> +
> +&usb_otg {
> + dr_mode = "otg";
> + status = "okay";
> +};
> +
> +&usbphy {
> + usb0_id_det-gpios = <&pio 3 21 GPIO_ACTIVE_HIGH>; /* PD21 */
> + usb0_vbus_det-gpios = <&pio 3 20 GPIO_ACTIVE_HIGH>; /* PD20 */
> + usb0_vbus-supply = <®_vcc>;
> + status = "okay";
> +};
> --
> 2.37.4
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
--
Paul Kocialkowski, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #2: Type: text/plain, Size: 176 bytes --]
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2023-01-05 21:44 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-31 23:38 [PATCH v4 00/12] riscv: Allwinner D1/D1s platform support Samuel Holland
2022-12-31 23:38 ` Samuel Holland
2022-12-31 23:38 ` Samuel Holland
2022-12-31 23:38 ` [PATCH v4 01/12] MAINTAINERS: Match the sun20i family of Allwinner SoCs Samuel Holland
2022-12-31 23:38 ` Samuel Holland
2022-12-31 23:38 ` Samuel Holland
2022-12-31 23:38 ` [PATCH v4 02/12] dt-bindings: vendor-prefixes: Add Allwinner D1/D1s board vendors Samuel Holland
2022-12-31 23:38 ` Samuel Holland
2022-12-31 23:38 ` Samuel Holland
2022-12-31 23:38 ` [PATCH v4 03/12] dt-bindings: riscv: Add Allwinner D1/D1s board compatibles Samuel Holland
2022-12-31 23:38 ` Samuel Holland
2022-12-31 23:38 ` Samuel Holland
2022-12-31 23:38 ` [PATCH v4 04/12] riscv: dts: allwinner: Add the D1/D1s SoC devicetree Samuel Holland
2022-12-31 23:38 ` Samuel Holland
2022-12-31 23:38 ` Samuel Holland
2023-01-03 11:06 ` Andre Przywara
2023-01-03 11:06 ` Andre Przywara
2023-01-03 11:06 ` Andre Przywara
2022-12-31 23:38 ` [PATCH v4 05/12] riscv: dts: allwinner: Add MangoPi MQ devicetree Samuel Holland
2022-12-31 23:38 ` Samuel Holland
2022-12-31 23:38 ` Samuel Holland
2022-12-31 23:38 ` [PATCH v4 06/12] riscv: dts: allwinner: Add Allwinner D1 Nezha devicetree Samuel Holland
2022-12-31 23:38 ` Samuel Holland
2022-12-31 23:38 ` Samuel Holland
2022-12-31 23:38 ` [PATCH v4 07/12] riscv: dts: allwinner: Add Sipeed Lichee RV devicetrees Samuel Holland
2022-12-31 23:38 ` Samuel Holland
2022-12-31 23:38 ` Samuel Holland
2023-01-05 13:55 ` Paul Kocialkowski [this message]
2023-01-05 13:55 ` Paul Kocialkowski
2023-01-05 13:55 ` Paul Kocialkowski
2023-01-08 18:42 ` Samuel Holland
2023-01-08 18:42 ` Samuel Holland
2023-01-08 18:42 ` Samuel Holland
2023-01-10 15:58 ` Paul Kocialkowski
2023-01-10 15:58 ` Paul Kocialkowski
2023-01-10 15:58 ` Paul Kocialkowski
2022-12-31 23:38 ` [PATCH v4 08/12] riscv: dts: allwinner: Add MangoPi MQ Pro devicetree Samuel Holland
2022-12-31 23:38 ` Samuel Holland
2022-12-31 23:38 ` Samuel Holland
2022-12-31 23:38 ` [PATCH v4 09/12] riscv: dts: allwinner: Add Dongshan Nezha STU devicetree Samuel Holland
2022-12-31 23:38 ` Samuel Holland
2022-12-31 23:38 ` Samuel Holland
2022-12-31 23:38 ` [PATCH v4 10/12] riscv: dts: allwinner: Add ClockworkPi and DevTerm devicetrees Samuel Holland
2022-12-31 23:38 ` Samuel Holland
2022-12-31 23:38 ` Samuel Holland
2024-06-30 15:09 ` (subset) " Chen-Yu Tsai
2024-06-30 15:09 ` Chen-Yu Tsai
2022-12-31 23:38 ` [PATCH v4 11/12] riscv: Add the Allwinner SoC family Kconfig option Samuel Holland
2022-12-31 23:38 ` Samuel Holland
2022-12-31 23:38 ` Samuel Holland
2022-12-31 23:38 ` [PATCH v4 12/12] riscv: defconfig: Enable the Allwinner D1 platform and drivers Samuel Holland
2022-12-31 23:38 ` Samuel Holland
2022-12-31 23:38 ` Samuel Holland
2024-06-30 15:09 ` (subset) [PATCH v4 00/12] riscv: Allwinner D1/D1s platform support Chen-Yu Tsai
2024-06-30 15:09 ` Chen-Yu Tsai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Y7bW32i3EUmGHqSK@aptenodytes \
--to=paul.kocialkowski@bootlin.com \
--cc=andre.przywara@arm.com \
--cc=conor@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=heiko@sntech.de \
--cc=jernej.skrabec@gmail.com \
--cc=jszhang@kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux-sunxi@lists.linux.dev \
--cc=palmer@dabbelt.com \
--cc=palmer@rivosinc.com \
--cc=robh+dt@kernel.org \
--cc=samuel@sholland.org \
--cc=wens@csie.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.