[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20220711095721.1935377-3-sunil@amarulasolutions.com>
Date: Mon, 11 Jul 2022 15:27:21 +0530
From: Suniel Mahesh <sunil@...rulasolutions.com>
To: Mark Brown <broonie@...nel.org>, Chen-Yu Tsai <wens@...e.org>,
Maxime Ripard <maxime.ripard@...e-electrons.com>,
Christopher Vollo <chris@...ewoutreach.org>,
Michael Trimarchi <michael@...rulasolutions.com>,
Jagan Teki <jagan@...rulasolutions.com>
Cc: dri-devel@...ts.freedesktop.org,
Mark Rutland <mark.rutland@....com>,
Rob Herring <robh+dt@...nel.org>, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, devicetree@...r.kernel.org,
Thomas Petazzoni <thomas.petazzoni@...e-electrons.com>,
linux-amarula@...rulasolutions.com
Subject: [PATCH v3 2/2] ARM: dts: sun8i: Add R16 Vista E board from RenewWorldOutreach
The R16-Vista-E board from RenewWorldOutreach based on allwinner
R16(A33).
General features:
- 1GB RAM
- microSD slot
- Realtek Wifi
- 1 x USB 2.0
- HDMI IN
- HDMI OUT
- Audio out
- MIPI DSI
- TI DLPC3433
It has also connectors to connect an external mini keypad.
Signed-off-by: Suniel Mahesh <sunil@...rulasolutions.com>
Signed-off-by: Jagan Teki <jagan@...rulasolutions.com>
Signed-off-by: Christopher Vollo <chris@...ewoutreach.org>
---
Changes for v3:
- As suggested by Samuel Holland:
- changed binding to gpio-fan
- changed widgets to DACL and DACR to describe audio routing
- fixed indentation
- primary author of the commit should be the first signer
Changes for v2:
- Add missing compatible string
- insert missing signatures of contributors
---
arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/sun8i-r16-renew-vista-e.dts | 362 ++++++++++++++++++
2 files changed, 363 insertions(+)
create mode 100644 arch/arm/boot/dts/sun8i-r16-renew-vista-e.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 184899808ee7..b5966c0742e1 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1353,6 +1353,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
sun8i-r16-nintendo-nes-classic.dtb \
sun8i-r16-nintendo-super-nes-classic.dtb \
sun8i-r16-parrot.dtb \
+ sun8i-r16-renew-vista-e.dtb \
sun8i-r40-bananapi-m2-ultra.dtb \
sun8i-r40-oka40i-c.dtb \
sun8i-s3-elimo-initium.dtb \
diff --git a/arch/arm/boot/dts/sun8i-r16-renew-vista-e.dts b/arch/arm/boot/dts/sun8i-r16-renew-vista-e.dts
new file mode 100644
index 000000000000..ff72914eb110
--- /dev/null
+++ b/arch/arm/boot/dts/sun8i-r16-renew-vista-e.dts
@@ -0,0 +1,362 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (C) 2022 RenewWorldOutreach
+ * Copyright (C) 2022 Amarula Solutions(India)
+ */
+
+/dts-v1/;
+#include "sun8i-a33.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
+
+/ {
+ model = "RenewWorldOutreach R16-Vista-E";
+ compatible = "renewworldoutreach,r16-vista-e", "allwinner,sun8i-r16", "allwinner,sun8i-a33";
+
+ aliases {
+ serial0 = &uart0;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ ok {
+ label = "ok";
+ linux,code = <KEY_ENTER>;
+ gpios = <&pio 4 0 GPIO_ACTIVE_LOW>;
+ };
+
+ left {
+ label = "left";
+ linux,code = <KEY_LEFT>;
+ gpios = <&pio 4 1 GPIO_ACTIVE_LOW>;
+ };
+
+ right {
+ label = "right";
+ linux,code = <KEY_RIGHT>;
+ gpios = <&pio 4 2 GPIO_ACTIVE_LOW>;
+ };
+
+ up {
+ label = "up";
+ linux,code = <KEY_UP>;
+ gpios = <&pio 4 3 GPIO_ACTIVE_LOW>;
+ };
+
+ down {
+ label = "down";
+ linux,code = <KEY_DOWN>;
+ gpios = <&pio 4 4 GPIO_ACTIVE_LOW>;
+ };
+
+ back {
+ label = "back";
+ linux,code = <KEY_BACK>;
+ gpios = <&pio 4 5 GPIO_ACTIVE_LOW>;
+ };
+
+ power {
+ label = "power";
+ linux,code = <KEY_POWER>;
+ gpios = <&pio 4 6 GPIO_ACTIVE_LOW>;
+ };
+
+ vol-down {
+ label = "vol-down";
+ linux,code = <KEY_VOLUMEDOWN>;
+ gpios = <&pio 7 3 GPIO_ACTIVE_LOW>;
+ };
+
+ vol-up {
+ label = "vol-up";
+ linux,code = <KEY_VOLUMEUP>;
+ gpios = <&pio 7 9 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ battery-led0 {
+ label = "renew-e:battery-led0";
+ gpios = <&r_pio 0 2 GPIO_ACTIVE_HIGH>;
+ };
+
+ battery-led1 {
+ label = "renew-e:battery-led1";
+ gpios = <&r_pio 0 3 GPIO_ACTIVE_HIGH>;
+ };
+
+ battery-led2 {
+ label = "renew-e:battery-led2";
+ gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>;
+ };
+
+ battery-led3 {
+ label = "renew-e:battery-led3";
+ gpios = <&r_pio 0 5 GPIO_ACTIVE_HIGH>;
+ };
+
+ battery-led4 {
+ label = "renew-e:battery-led4";
+ gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>;
+ };
+
+ volume-led0 {
+ label = "renew-e:volume-led0";
+ gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>;
+ };
+
+ volume-led1 {
+ label = "renew-e:volume-led1";
+ gpios = <&pio 6 13 GPIO_ACTIVE_HIGH>;
+ };
+
+ volume-led2 {
+ label = "renew-e:volume-led2";
+ gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>;
+ };
+
+ volume-led3 {
+ label = "renew-e:volume-led3";
+ gpios = <&pio 6 11 GPIO_ACTIVE_HIGH>;
+ };
+
+ volume-led4 {
+ label = "renew-e:volume-led4";
+ gpios = <&pio 6 10 GPIO_ACTIVE_HIGH>;
+ };
+
+ led-pad-intz {
+ label = "renew-e:led-pad-intz";
+ gpios = <&pio 4 16 GPIO_ACTIVE_HIGH>;
+ default-state = "on";
+ };
+ };
+
+ gpio-fan {
+ compatible = "gpio-fan";
+ gpios = <&pio 4 14 GPIO_ACTIVE_HIGH>; /* FAN_ON/OFF: PE14 */
+ gpio-fan,speed-map = <0 0 6000 1>;
+ };
+
+ reg_vcc5v0: vcc5v0 {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc5v0";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ };
+};
+
+&codec {
+ status = "okay";
+};
+
+&cpu0 {
+ cpu-supply = <®_dcdc3>;
+};
+
+&cpu0_opp_table {
+ opp-1104000000 {
+ opp-hz = /bits/ 64 <1104000000>;
+ opp-microvolt = <1320000>;
+ clock-latency-ns = <244144>; /* 8 32k periods */
+ };
+
+ opp-1200000000 {
+ opp-hz = /bits/ 64 <1200000000>;
+ opp-microvolt = <1320000>;
+ clock-latency-ns = <244144>; /* 8 32k periods */
+ };
+};
+
+&dai {
+ status = "okay";
+};
+
+&de {
+ status = "okay";
+};
+
+&dphy {
+ status = "okay";
+};
+
+&ehci0 {
+ status = "okay";
+};
+
+&mmc0 {
+ vmmc-supply = <®_dcdc1>;
+ bus-width = <4>;
+ non-removable;
+ status = "okay";
+};
+
+&mmc1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc1_pg_pins>;
+ vmmc-supply = <®_dcdc1>;
+ bus-width = <4>;
+ broken-cd;
+ status = "okay";
+};
+
+&ohci0 {
+ status = "okay";
+};
+
+&r_rsb {
+ status = "okay";
+
+ axp22x: pmic@3a3 {
+ compatible = "x-powers,axp223";
+ reg = <0x3a3>;
+ interrupt-parent = <&r_intc>;
+ interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
+ eldoin-supply = <®_dcdc1>;
+ x-powers,drive-vbus-en;
+ };
+};
+
+#include "axp223.dtsi"
+
+&ac_power_supply {
+ status = "okay";
+};
+
+®_aldo1 {
+ regulator-always-on;
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3000000>;
+ regulator-name = "vcc-io";
+};
+
+®_aldo2 {
+ regulator-always-on;
+ regulator-min-microvolt = <2500000>;
+ regulator-max-microvolt = <2500000>;
+ regulator-name = "vdd-dll";
+};
+
+®_aldo3 {
+ regulator-always-on;
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3000000>;
+ regulator-name = "avcc";
+};
+
+®_dc1sw {
+ regulator-name = "vcc-lcd";
+};
+
+®_dc5ldo {
+ regulator-always-on;
+ regulator-min-microvolt = <900000>;
+ regulator-max-microvolt = <1400000>;
+ regulator-name = "vdd-cpus";
+};
+
+®_dcdc1 {
+ regulator-always-on;
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3000000>;
+ regulator-name = "vcc-3v0";
+};
+
+®_dcdc2 {
+ regulator-always-on;
+ regulator-min-microvolt = <900000>;
+ regulator-max-microvolt = <1400000>;
+ regulator-name = "vdd-sys";
+};
+
+®_dcdc3 {
+ regulator-always-on;
+ regulator-min-microvolt = <900000>;
+ regulator-max-microvolt = <1400000>;
+ regulator-name = "vdd-cpu";
+};
+
+®_dcdc5 {
+ regulator-always-on;
+ regulator-min-microvolt = <1500000>;
+ regulator-max-microvolt = <1500000>;
+ regulator-name = "vcc-dram";
+};
+
+®_dldo1 {
+ regulator-always-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-3v3-main1";
+};
+
+®_dldo2 {
+ regulator-always-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-3v3-main2";
+};
+
+®_dldo3 {
+ regulator-always-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-3v3-main3";
+};
+
+®_dldo4 {
+ regulator-always-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-3v3-main4";
+};
+
+®_eldo1 {
+ regulator-always-on;
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-name = "vcc-1v2-hdmi";
+};
+
+®_drivevbus {
+ regulator-name = "usb0-vbus";
+ status = "okay";
+};
+
+®_rtc_ldo {
+ regulator-name = "vcc-rtc";
+};
+
+&sound {
+ status = "okay";
+ simple-audio-card,routing =
+ "Left DAC", "DACL",
+ "Right DAC", "DACR";
+};
+
+&uart0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart0_pb_pins>;
+ status = "okay";
+};
+
+&usb_otg {
+ dr_mode = "host";
+ status = "okay";
+};
+
+&usbphy {
+ /* VBUS is always on because it is wired to the power supply */
+ usb0_vbus-supply = <®_vcc5v0>;
+ status = "okay";
+};
--
2.25.1
Powered by blists - more mailing lists