arch: arm64: boot: dts: allwinner: overlays: Add Overlays for h616/h618

sun50i-h616-gpu.dts
sun50i-h616-i2c1.dts
sun50i-h616-i2c2.dts
sun50i-h616-i2c3.dts
sun50i-h616-i2c4.dts
sun50i-h616-pwm12.dts
sun50i-h616-pwm34.dts
sun50i-h616-uart2.dts
sun50i-h616-uart5.dts
sun50i-h616-spi0-spidev.dts
sun50i-h616-spi1-spidev.dts
sun50i-h616-disable-leds.dts
sun50i-h616-disable-uart0.dts
This commit is contained in:
orangepi-xunlong 2023-06-07 09:40:12 +08:00
parent 1c9ffcf412
commit d79c17cf80
17 changed files with 386 additions and 0 deletions

View File

@ -41,3 +41,5 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-tanix-tx6-mini.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-orangepi-zero2.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-orangepi-zero3.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-x96-mate.dtb
subdir-y := $(dts-dirs) overlay

View File

@ -0,0 +1,23 @@
# SPDX-License-Identifier: GPL-2.0
dtbo-$(CONFIG_ARCH_SUNXI) += \
sun50i-h616-gpu.dtbo \
sun50i-h616-uart2.dtbo \
sun50i-h616-uart5.dtbo \
sun50i-h616-i2c1.dtbo \
sun50i-h616-i2c2.dtbo \
sun50i-h616-i2c3.dtbo \
sun50i-h616-i2c4.dtbo \
sun50i-h616-pwm12.dtbo \
sun50i-h616-pwm34.dtbo \
sun50i-h616-spi0-spidev.dtbo \
sun50i-h616-spi1-spidev.dtbo \
sun50i-h616-disable-leds.dtbo \
sun50i-h616-disable-uart0.dtbo
scr-$(CONFIG_ARCH_SUNXI) += \
sun50i-h616-fixup.scr
targets += $(dtbo-y) $(scr-y) $(dtbotxt-y)
always := $(dtbo-y) $(scr-y) $(dtbotxt-y)
clean-files := *.dtbo *.scr

View File

@ -0,0 +1,20 @@
/dts-v1/;
/plugin/;
/ {
fragment@0 {
target = <&leds>;
__overlay__ {
status = "okay";
led-red {
linux,default-trigger = "none";
};
led-green {
linux,default-trigger = "none";
};
};
};
};

View File

@ -0,0 +1,11 @@
/dts-v1/;
/plugin/;
/ {
fragment@0 {
target = <&uart0>;
__overlay__ {
status = "disabled";
};
};
};

Binary file not shown.

View File

@ -0,0 +1,110 @@
# overlays fixup script
# implements (or rather substitutes) overlay arguments functionality
# using u-boot scripting, environment variables and "fdt" command
# setexpr test_var ${tmp_bank} - A
# works only for hex numbers (A-F)
setenv decompose_pin 'setexpr tmp_bank sub "P(C|G|H|I)\\d+" "\\1";
setexpr tmp_pin sub "P\\S(\\d+)" "\\1";
test "${tmp_bank}" = "C" && setenv tmp_bank 2;
test "${tmp_bank}" = "G" && setenv tmp_bank 6'
test "${tmp_bank}" = "H" && setenv tmp_bank 7;
test "${tmp_bank}" = "I" && setenv tmp_bank 8;
if test -n "${param_spinor_spi_bus}"; then
test "${param_spinor_spi_bus}" = "0" && setenv tmp_spi_path "spi@5010000"
test "${param_spinor_spi_bus}" = "1" && setenv tmp_spi_path "spi@5011000"
fdt set /soc/${tmp_spi_path} status "okay"
fdt set /soc/${tmp_spi_path}/spiflash@0 status "okay"
if test -n "${param_spinor_max_freq}"; then
fdt set /soc/${tmp_spi_path}/spiflash@0 spi-max-frequency "<${param_spinor_max_freq}>"
fi
if test "${param_spinor_spi_cs}" = "1"; then
fdt set /soc/${tmp_spi_path}/spiflash@0 reg "<1>"
fi
env delete tmp_spi_path
fi
if test -n "${param_spidev_spi_bus}"; then
test "${param_spidev_spi_bus}" = "0" && setenv tmp_spi_path "spi@5010000"
test "${param_spidev_spi_bus}" = "1" && setenv tmp_spi_path "spi@5011000"
fdt set /soc/${tmp_spi_path} status "okay"
fdt set /soc/${tmp_spi_path}/spidev status "okay"
if test -n "${param_spidev_max_freq}"; then
fdt set /soc/${tmp_spi_path}/spidev spi-max-frequency "<${param_spidev_max_freq}>"
fi
if test "${param_spidev_spi_cs}" = "1"; then
fdt set /soc/${tmp_spi_path}/spidev reg "<1>"
fi
env delete tmp_spi_path
fi
if test -n "${param_pps_pin}"; then
setenv tmp_bank "${param_pps_pin}"
setenv tmp_pin "${param_pps_pin}"
run decompose_pin
fdt set /soc/pinctrl@300b000/pps_pins pins "${param_pps_pin}"
fdt get value tmp_phandle /soc/pinctrl@300b000 phandle
fdt set /pps@0 gpios "<${tmp_phandle} ${tmp_bank} ${tmp_pin} 0>"
env delete tmp_pin tmp_bank tmp_phandle
fi
if test "${param_pps_falling_edge}" = "1"; then
fdt set /pps@0 assert-falling-edge
fi
for f in ${overlays}; do
if test "${f}" = "pwm34"; then
setenv bootargs_new ""
for arg in ${bootargs}; do
if test "${arg}" = "console=ttyS0,115200"; then
echo "Warning: Disabling ttyS0 console due to enabled PWM3 and PWM4 overlay"
else
setenv bootargs_new "${bootargs_new} ${arg}"
fi
done
setenv bootargs "${bootargs_new}"
fi
done
if test -n "${param_w1_pin}"; then
setenv tmp_bank "${param_w1_pin}"
setenv tmp_pin "${param_w1_pin}"
run decompose_pin
fdt set /soc/pinctrl@300b000/w1_pins pins "${param_w1_pin}"
fdt get value tmp_phandle /soc/pinctrl@300b000 phandle
fdt set /onewire@0 gpios "<${tmp_phandle} ${tmp_bank} ${tmp_pin} 0>"
env delete tmp_pin tmp_bank tmp_phandle
fi
if test "${param_w1_pin_int_pullup}" = "1"; then
fdt set /soc/pinctrl@300b000/w1_pins bias-pull-up
fi
if test "${param_uart1_rtscts}" = "1"; then
fdt get value tmp_phandle1 /soc/pinctrl@300b000/uart1-pins phandle
fdt get value tmp_phandle2 /soc/pinctrl@300b000/uart1-rts-cts-pins phandle
fdt set /soc/serial@5000400 pinctrl-names "default" "default"
fdt set /soc/serial@5000400 pinctrl-0 "<${tmp_phandle1}>"
fdt set /soc/serial@5000400 pinctrl-1 "<${tmp_phandle2}>"
env delete tmp_phandle1 tmp_phandle2
fi
if test "${param_uart2_rtscts}" = "1"; then
fdt get value tmp_phandle1 /soc/pinctrl@300b000/uart2-pins phandle
fdt get value tmp_phandle2 /soc/pinctrl@300b000/uart2-rts-cts-pins phandle
fdt set /soc/serial@5000800 pinctrl-names "default" "default"
fdt set /soc/serial@5000800 pinctrl-0 "<${tmp_phandle1}>"
fdt set /soc/serial@5000800 pinctrl-1 "<${tmp_phandle2}>"
env delete tmp_phandle1 tmp_phandle2
fi
if test "${param_uart3_rtscts}" = "1"; then
fdt get value tmp_phandle1 /soc/pinctrl@300b000/uart3-pins phandle
fdt get value tmp_phandle2 /soc/pinctrl@300b000/uart3-rts-cts-pins phandle
fdt set /soc/serial@5000c00 pinctrl-names "default" "default"
fdt set /soc/serial@5000c00 pinctrl-0 "<${tmp_phandle1}>"
fdt set /soc/serial@5000c00 pinctrl-1 "<${tmp_phandle2}>"
env delete tmp_phandle1 tmp_phandle2
fi

View File

@ -0,0 +1,11 @@
/dts-v1/;
/plugin/;
/ {
fragment@0 {
target = <&gpu>;
__overlay__ {
status = "okay";
};
};
};

View File

@ -0,0 +1,26 @@
/dts-v1/;
/plugin/;
/ {
fragment@0 {
target-path = "/aliases";
__overlay__ {
i2c1 = "/soc/i2c@5002400";
serial2 = "/soc/serial@5000800";
};
};
fragment@1 {
target = <&i2c1>;
__overlay__ {
status = "okay";
};
};
fragment@2 {
target = <&uart0>;
__overlay__ {
status = "disabled";
};
};
};

View File

@ -0,0 +1,20 @@
/dts-v1/;
/plugin/;
/ {
compatible = "allwinner,sun50i-h616";
fragment@0 {
target-path = "/aliases";
__overlay__ {
i2c2 = "/soc/i2c@5002800";
};
};
fragment@1 {
target = <&i2c2>;
__overlay__ {
status = "okay";
};
};
};

View File

@ -0,0 +1,18 @@
/dts-v1/;
/plugin/;
/ {
fragment@0 {
target-path = "/aliases";
__overlay__ {
i2c3 = "/soc/i2c@5002c00";
};
};
fragment@1 {
target = <&i2c3>;
__overlay__ {
status = "okay";
};
};
};

View File

@ -0,0 +1,18 @@
/dts-v1/;
/plugin/;
/ {
fragment@0 {
target-path = "/aliases";
__overlay__ {
i2c4 = "/soc/i2c@5003000";
};
};
fragment@1 {
target = <&i2c4>;
__overlay__ {
status = "okay";
};
};
};

View File

@ -0,0 +1,11 @@
/dts-v1/;
/plugin/;
/ {
fragment@0 {
target = <&pwm>;
__overlay__ {
status = "okay";
};
};
};

View File

@ -0,0 +1,18 @@
/dts-v1/;
/plugin/;
/ {
fragment@0 {
target = <&uart0>;
__overlay__ {
status = "disabled";
};
};
fragment@1 {
target = <&pwm>;
__overlay__ {
status = "okay";
};
};
};

View File

@ -0,0 +1,34 @@
/dts-v1/;
/plugin/;
/ {
fragment@0 {
target-path = "/aliases";
__overlay__ {
spi0 = "/soc/spi@5010000";
};
};
fragment@1 {
target = <&spi0>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
spidev@0 {
compatible = "rohm,dh2228fv";
status = "okay";
reg = <0>;
spi-max-frequency = <1000000>;
};
};
};
fragment@2 {
target = <&spi0>;
__overlay__ {
flash@0 {
status = "disabled";
};
};
};
};

View File

@ -0,0 +1,26 @@
/dts-v1/;
/plugin/;
/ {
fragment@0 {
target-path = "/aliases";
__overlay__ {
spi1 = "/soc/spi@5011000";
};
};
fragment@2 {
target = <&spi1>;
__overlay__ {
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
spidev@1 {
compatible = "rohm,dh2228fv";
status = "okay";
reg = <1>;
spi-max-frequency = <1000000>;
};
};
};
};

View File

@ -0,0 +1,18 @@
/dts-v1/;
/plugin/;
/ {
fragment@0 {
target-path = "/aliases";
__overlay__ {
serial2 = "/soc/serial@5000800";
};
};
fragment@1 {
target = <&uart2>;
__overlay__ {
status = "okay";
};
};
};

View File

@ -0,0 +1,20 @@
/dts-v1/;
/plugin/;
/ {
fragment@0 {
target-path = "/aliases";
__overlay__ {
serial5 = "/soc/serial@5001400";
};
};
fragment@1 {
target = <&uart5>;
__overlay__ {
pinctrl-names = "default";
pinctrl-0 = <&uart5_ph_pins>;
status = "okay";
};
};
};