On 02/08/2024 23:45, Detlev Casanova wrote: > Add board file for the rk3576 based ArmSoM Sige5 board. While the hardware > offers plenty of peripherals and connectivity this basic implementation > just handles things required to successfully boot Linux from SD card and > connect via UART or Ethernet. > > Signed-off-by: Detlev Casanova <detlev.casanova@xxxxxxxxxxxxx> > --- > arch/arm64/boot/dts/rockchip/Makefile | 1 + > .../boot/dts/rockchip/rk3576-armsom-sige5.dts | 613 ++++++++++++++++++ > 2 files changed, 614 insertions(+) > create mode 100644 arch/arm64/boot/dts/rockchip/rk3576-armsom-sige5.dts > > diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile > index fda1b980eb4bc..e49c7753b148c 100644 > --- a/arch/arm64/boot/dts/rockchip/Makefile > +++ b/arch/arm64/boot/dts/rockchip/Makefile > @@ -103,6 +103,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-soquartz-cm4.dtb > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-soquartz-model-a.dtb > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-box-demo.dtb > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-lubancat-1.dtb > +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-armsom-sige5.dtb > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-bpi-r2-pro.dtb > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb1-v10.dtb > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-fastrhino-r66s.dtb > diff --git a/arch/arm64/boot/dts/rockchip/rk3576-armsom-sige5.dts b/arch/arm64/boot/dts/rockchip/rk3576-armsom-sige5.dts > new file mode 100644 > index 0000000000000..ee1fdd7612cb0 > --- /dev/null > +++ b/arch/arm64/boot/dts/rockchip/rk3576-armsom-sige5.dts > @@ -0,0 +1,613 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Copyright (c) 2024 Rockchip Electronics Co., Ltd. > + * > + */ > + > +/dts-v1/; > + > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/leds/common.h> > +#include <dt-bindings/pinctrl/rockchip.h> > +#include <dt-bindings/pwm/pwm.h> > +#include <dt-bindings/usb/pd.h> > +#include "rk3576.dtsi" > + > +/ { > + model = "ArmSoM Sige5"; > + compatible = "armsom,sige5", "rockchip,rk3576"; > + > + chosen { > + stdout-path = "serial0:1500000n8"; > + }; > + > + leds: leds { > + compatible = "gpio-leds"; > + work_led: work-led { > + gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>; > + linux,default-trigger = "heartbeat"; > + }; > + }; > + > + vcc12v_dcin: vcc12v-dcin { > + compatible = "regulator-fixed"; > + regulator-name = "vcc12v_dcin"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <12000000>; > + regulator-max-microvolt = <12000000>; > + }; > + > + vcc_sys: vcc5v0-sys { > + compatible = "regulator-fixed"; > + regulator-name = "vcc_sys"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <5000000>; > + regulator-max-microvolt = <5000000>; > + vin-supply = <&vcc12v_dcin>; > + }; > + > + vcc5v0_device: vcc5v0-device { > + compatible = "regulator-fixed"; > + regulator-name = "vcc5v0_device"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <5000000>; > + regulator-max-microvolt = <5000000>; > + vin-supply = <&vcc12v_dcin>; > + }; > + > + vcc_2v0_pldo_s3: vcc-2v0-pldo-s3 { > + compatible = "regulator-fixed"; > + regulator-name = "vcc_2v0_pldo_s3"; > + regulator-boot-on; > + regulator-always-on; > + regulator-min-microvolt = <2000000>; > + regulator-max-microvolt = <2000000>; > + vin-supply = <&vcc_sys>; > + }; > + > + vcc_1v1_nldo_s3: vcc-1v1-nldo-s3 { > + compatible = "regulator-fixed"; > + regulator-name = "vcc_1v1_nldo_s3"; > + regulator-boot-on; > + regulator-always-on; > + regulator-min-microvolt = <1100000>; > + regulator-max-microvolt = <1100000>; > + vin-supply = <&vcc_sys>; > + }; > + > + vcc3v3_rtc_s5: vcc3v3-rtc-s5 { > + compatible = "regulator-fixed"; > + regulator-name = "vcc3v3_rtc_s5"; > + regulator-boot-on; > + regulator-always-on; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + vin-supply = <&vcc_sys>; > + }; > + vcc_1v8_s0: vcc-1v8-s0 { > + compatible = "regulator-fixed"; > + regulator-name = "vcc_1v8_s0"; > + regulator-boot-on; > + regulator-always-on; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + vin-supply = <&vcc_1v8_s3>; > + }; > + > + vcc_3v3_s0: vcc-3v3-s0 { > + compatible = "regulator-fixed"; > + regulator-name = "vcc_3v3_s0"; > + regulator-boot-on; > + regulator-always-on; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + vin-supply = <&vcc_3v3_s3>; > + }; > + > + vcc_ufs_s0: vcc-ufs-s0 { > + compatible = "regulator-fixed"; > + regulator-name = "vcc_ufs_s0"; > + regulator-boot-on; > + regulator-always-on; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + vin-supply = <&vcc_sys>; > + }; > + > + vcc1v8_ufs_vccq2_s0: vcc1v8-ufs-vccq2-s0 { > + compatible = "regulator-fixed"; > + regulator-name = "vcc1v8_ufs_vccq2_s0"; > + regulator-boot-on; > + regulator-always-on; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + vin-supply = <&vcc_1v8_s3>; > + }; > + > + vcc1v2_ufs_vccq_s0: vcc1v2-ufs-vccq-s0 { > + compatible = "regulator-fixed"; > + regulator-name = "vcc1v2_ufs_vccq_s0"; > + regulator-boot-on; > + regulator-always-on; > + regulator-min-microvolt = <1200000>; > + regulator-max-microvolt = <1200000>; > + vin-supply = <&vcc_sys>; > + }; > + > + vcc3v3_pcie: gpio-regulator { Why all other regulators have names matching schematics, but this one does not? Be consistent. I would recommend to use naming RECOMMENDED by the bindings - 'regulator-[0-9]+v[0-9]+' https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git/commit/?id=b6d4b3500d57370f5b3abf0701c9166b384db976 Best regards, Krzysztof