]> www.infradead.org Git - linux.git/commitdiff
arm64: dts: introduce Amlogic AD402 reference board based on A113L SoC
authorDmitry Rokosov <ddrokosov@sberdevices.ru>
Wed, 23 Aug 2023 21:36:29 +0000 (00:36 +0300)
committerNeil Armstrong <neil.armstrong@linaro.org>
Mon, 11 Sep 2023 09:42:52 +0000 (11:42 +0200)
Supported IPs: CPU, GIC, IRQ, Timer, UART, Reserved memory for secos,
OPTEE client, fixed regulators, UART for HCI, SPI NAND, SARADC, USB and
SDIO.

Signed-off-by: Dmitry Rokosov <ddrokosov@sberdevices.ru>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20230823213630.12936-15-ddrokosov@sberdevices.ru
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
arch/arm64/boot/dts/amlogic/Makefile
arch/arm64/boot/dts/amlogic/meson-a1-ad402.dts [new file with mode: 0644]

index 8b6f57a94863ebcb60a1acac7ab6108dce7456f0..4ce401d17b632cbfc9631ba12925bde292ce1960 100644 (file)
@@ -3,6 +3,7 @@ dtb-$(CONFIG_ARCH_MESON) += amlogic-c3-c302x-aw409.dtb
 dtb-$(CONFIG_ARCH_MESON) += amlogic-t7-a311d2-an400.dtb
 dtb-$(CONFIG_ARCH_MESON) += amlogic-t7-a311d2-khadas-vim4.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-a1-ad401.dtb
+dtb-$(CONFIG_ARCH_MESON) += meson-a1-ad402.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-axg-jethome-jethub-j100.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-axg-jethome-jethub-j110-rev-2.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-axg-jethome-jethub-j110-rev-3.dtb
diff --git a/arch/arm64/boot/dts/amlogic/meson-a1-ad402.dts b/arch/arm64/boot/dts/amlogic/meson-a1-ad402.dts
new file mode 100644 (file)
index 0000000..8a6a779
--- /dev/null
@@ -0,0 +1,145 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2023 SberDevices
+ * Author: Dmitry Rokosov <ddrokosov@sberdevices.ru>
+ */
+
+/dts-v1/;
+
+#include "meson-a1.dtsi"
+
+/ {
+       compatible = "amlogic,ad402", "amlogic,a1";
+       model = "Amlogic Meson A1 AD402 Development Board";
+
+       aliases {
+               serial0 = &uart_AO_B;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       memory@0 {
+               device_type = "memory";
+               reg = <0x0 0x0 0x0 0x8000000>;
+       };
+
+       reserved-memory {
+               /* 3 MiB reserved for Amlogic Trust OS (BL32) */
+               secos_reserved: secos@3d00000 {
+                       reg = <0x0 0x03d00000 0x0 0x300000>;
+                       no-map;
+               };
+       };
+
+       firmware {
+               optee {
+                       compatible = "linaro,optee-tz";
+                       method = "smc";
+               };
+       };
+
+       battery_4v2: regulator-battery-4v2 {
+               compatible = "regulator-fixed";
+               regulator-name = "4V2";
+               regulator-min-microvolt = <4200000>;
+               regulator-max-microvolt = <4200000>;
+               regulator-always-on;
+       };
+
+       vddq_1v35: regulator-vddq-1v35 {
+               compatible = "regulator-fixed";
+               regulator-name = "VDDQ_1V35";
+               regulator-min-microvolt = <1350000>;
+               regulator-max-microvolt = <1350000>;
+               vin-supply = <&battery_4v2>;
+               regulator-always-on;
+       };
+
+       vddao_3v3: regulator-vddao-3v3 {
+               compatible = "regulator-fixed";
+               regulator-name = "VDDAO_3V3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               vin-supply = <&battery_4v2>;
+               regulator-always-on;
+       };
+
+       vcc_3v3: regulator-vcc-3v3 {
+               compatible = "regulator-fixed";
+               regulator-name = "VCC_3V3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               vin-supply = <&vddao_3v3>;
+               regulator-always-on;
+       };
+
+       vddio_1v8: regulator-vddio-1v8 {
+               compatible = "regulator-fixed";
+               regulator-name = "VDDIO_1V8";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+               vin-supply = <&vddao_3v3>;
+               regulator-always-on;
+       };
+};
+
+/* Bluetooth HCI H4 */
+&uart_AO {
+       status = "okay";
+       pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
+       pinctrl-names = "default";
+};
+
+&uart_AO_B {
+       status = "okay";
+};
+
+&saradc {
+       status = "okay";
+       vref-supply = <&vddio_1v8>;
+};
+
+&spifc {
+       status = "okay";
+
+       spi_nand@0 {
+               compatible = "spi-nand";
+               status = "okay";
+               reg = <0>;
+               spi-max-frequency = <96000000>;
+               spi-tx-bus-width = <4>;
+               spi-rx-bus-width = <4>;
+       };
+};
+
+&usb2_phy1 {
+       phy-supply = <&vcc_3v3>;
+};
+
+&usb {
+       status = "okay";
+       dr_mode = "peripheral";
+};
+
+&sd_emmc {
+       status = "okay";
+
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       pinctrl-0 = <&sdio_pins>;
+       pinctrl-1 = <&sdio_clk_gate_pins>;
+       pinctrl-names = "default", "clk-gate";
+
+       bus-width = <4>;
+       cap-sd-highspeed;
+       sd-uhs-sdr104;
+       max-frequency = <200000000>;
+       non-removable;
+       disable-wp;
+
+       vmmc-supply = <&vddao_3v3>;
+       vqmmc-supply = <&vddio_1v8>;
+};