openwrt/target/linux/d1/patches-6.1/0064-riscv-dts-allwinner-d1-Hook-up-PWM-controlled-CPU-vo.patch
Zoltan HERPAI 99545b4bb1 d1: add new target
This target adds support for the Allwinner D1 RISC-V based SoCs.

 - RISC-V single-core T-Head C906 (RV64GCV)
 - Tensilica HiFi4 DSP
 - DDR2/DDR3 support
 - 10/100/1000M ethernet
 - usual peripherals like USB2, SPI, I2C, PWM, etc.

Four boards are supported:
 - Dongshan Nezha STU
    - 512Mb RAM
    - ethernet

 - LicheePi RV Dock
    - 512Mb RAM
    - wireless-only (RTL8723DS)

 - MangoPi MQ-Pro
    - 512Mb RAM
    - there are pads available for an SPI flash
    - wireless-only (RTL8723DS)

 - Nezha D1
    - 512Mb/1Gb/2Gb RAM
    - 256Mb NAND flash
    - ethernet, wireless

Installation:
Standard SD-card installation via dd-ing the generated image to
an SD-card of at least 256Mb.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2024-02-29 16:50:22 +01:00

125 lines
3.3 KiB
Diff

From 5479c8efb6ffbbc8b7fd1068337037faf9c20a36 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Thu, 11 Aug 2022 22:25:40 -0500
Subject: [PATCH 064/117] riscv: dts: allwinner: d1: Hook up PWM-controlled CPU
voltage regulators
Signed-off-by: Samuel Holland <samuel@sholland.org>
---
.../allwinner/sun20i-d1-clockworkpi-v3.14.dts | 19 +++++++++++--------
.../sun20i-d1-dongshan-nezha-stu.dts | 19 +++++++++++--------
.../boot/dts/allwinner/sun20i-d1-nezha.dts | 19 +++++++++++--------
3 files changed, 33 insertions(+), 24 deletions(-)
--- a/arch/riscv/boot/dts/allwinner/sun20i-d1-clockworkpi-v3.14.dts
+++ b/arch/riscv/boot/dts/allwinner/sun20i-d1-clockworkpi-v3.14.dts
@@ -48,16 +48,13 @@
};
};
- /*
- * This regulator is PWM-controlled, but the PWM controller is not
- * yet supported, so fix the regulator to its default voltage.
- */
reg_vdd_cpu: vdd-cpu {
- compatible = "regulator-fixed";
+ compatible = "pwm-regulator";
+ pwms = <&pwm 0 50000 0>;
+ pwm-supply = <&reg_vcc>;
regulator-name = "vdd-cpu";
- regulator-min-microvolt = <1100000>;
- regulator-max-microvolt = <1100000>;
- vin-supply = <&reg_vcc>;
+ regulator-min-microvolt = <810000>;
+ regulator-max-microvolt = <1160000>;
};
wifi_pwrseq: wifi-pwrseq {
@@ -254,6 +251,12 @@
};
};
+&pwm {
+ pinctrl-0 = <&pwm0_pd16_pin>;
+ pinctrl-names = "default";
+ status = "okay";
+};
+
&uart0 {
pinctrl-0 = <&uart0_pb8_pins>;
pinctrl-names = "default";
--- a/arch/riscv/boot/dts/allwinner/sun20i-d1-dongshan-nezha-stu.dts
+++ b/arch/riscv/boot/dts/allwinner/sun20i-d1-dongshan-nezha-stu.dts
@@ -43,16 +43,13 @@
vin-supply = <&reg_vcc>;
};
- /*
- * This regulator is PWM-controlled, but the PWM controller is not
- * yet supported, so fix the regulator to its default voltage.
- */
reg_vdd_cpu: vdd-cpu {
- compatible = "regulator-fixed";
+ compatible = "pwm-regulator";
+ pwms = <&pwm 0 50000 0>;
+ pwm-supply = <&reg_vcc>;
regulator-name = "vdd-cpu";
- regulator-min-microvolt = <1100000>;
- regulator-max-microvolt = <1100000>;
- vin-supply = <&reg_vcc>;
+ regulator-min-microvolt = <810000>;
+ regulator-max-microvolt = <1160000>;
};
};
@@ -95,6 +92,12 @@
status = "okay";
};
+&pwm {
+ pinctrl-0 = <&pwm0_pd16_pin>;
+ pinctrl-names = "default";
+ status = "okay";
+};
+
&uart0 {
pinctrl-0 = <&uart0_pb8_pins>;
pinctrl-names = "default";
--- a/arch/riscv/boot/dts/allwinner/sun20i-d1-nezha.dts
+++ b/arch/riscv/boot/dts/allwinner/sun20i-d1-nezha.dts
@@ -35,16 +35,13 @@
vin-supply = <&reg_vcc>;
};
- /*
- * This regulator is PWM-controlled, but the PWM controller is not
- * yet supported, so fix the regulator to its default voltage.
- */
reg_vdd_cpu: vdd-cpu {
- compatible = "regulator-fixed";
+ compatible = "pwm-regulator";
+ pwms = <&pwm 0 50000 0>;
+ pwm-supply = <&reg_vcc>;
regulator-name = "vdd-cpu";
- regulator-min-microvolt = <1100000>;
- regulator-max-microvolt = <1100000>;
- vin-supply = <&reg_vcc>;
+ regulator-min-microvolt = <810000>;
+ regulator-max-microvolt = <1160000>;
};
wifi_pwrseq: wifi-pwrseq {
@@ -155,6 +152,12 @@
status = "okay";
};
+&pwm {
+ pinctrl-0 = <&pwm0_pd16_pin>;
+ pinctrl-names = "default";
+ status = "okay";
+};
+
&uart0 {
pinctrl-0 = <&uart0_pb8_pins>;
pinctrl-names = "default";