Unverified Commit 0a84cbfb authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'amlogic-arm64-dt-for-v6.7' of...

Merge tag 'amlogic-arm64-dt-for-v6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/dt

Amlogic ARM64 DT changes for v6.7:
- Add audio DT nodes for p200/p201/u200
- Add a bunch of peripherals for Amlogic-T7 (watchdog, power domain, pinctrl)
- Add a bunch or peripherals for Amlogic-A1 (clk, usb, efuse, spi, uarts, emmc, ADC, rng, i2c)
- Add NAND node on Amlogic AXG
- Again a bunch of DT fixups for DT bindings check
- New boards:
 - Amlogic AD402 reference board based on A113L SoC
 - Libre Computer Cottonwood boards

* tag 'amlogic-arm64-dt-for-v6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux: (38 commits)
  arm64: dts: amlogic: a1: support all i2c masters and their muxes
  arm64: dts: amlogic: add libretech cottonwood support
  dt-bindings: arm: amlogic: add libretech cottonwood support
  arm64: dts: meson-a1-ad402: set SPIFC pins
  arm64: dts: meson: a1: Add SPIFC mux pins
  arm64: dts: meson-s4: add hwrng node
  arm64: dts: meson: g12: name spdifout consistently
  arm64: dts: Add pinctrl node for Amlogic T7 SoCs
  arm64: dts: meson: u200: add onboard devices
  arm64: dts: meson: u200: use TDM C for HDMI
  arm64: dts: meson: u200: add spdifout b routes
  arm64: dts: meson: u200: add missing audio clock controller
  arm64: dts: meson: u200: fix spdif output pin
  arm64: dts: amlogic: t7: add power domain controller node
  dt-bindings: power: add Amlogic T7 power domains
  arm64: dts: meson-g12: Fix compatible for amlogic,g12a-tdmin
  arm64: dts: meson-g12: Fix clock order for amlogic,axg-tdm-iface devices
  arm64: dts: amlogic: meson-axg: Meson NAND node
  dt-bindings: arm: amlogic: add Amlogic AD402 bindings
  arm64: dts: introduce Amlogic AD402 reference board based on A113L SoC
  ...

Link: https://lore.kernel.org/r/b3e1bf66-9182-4d48-88ef-7efc20466e7c@linaro.org


Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 94d310e1 f2d2200e
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -155,6 +155,7 @@ properties:
          - enum:
              - bananapi,bpi-m2s
              - khadas,vim3
              - libretech,aml-a311d-cc
              - radxa,zero2
          - const: amlogic,a311d
          - const: amlogic,g12b
@@ -196,6 +197,7 @@ properties:
              - hardkernel,odroid-hc4
              - haochuangyi,h96-max
              - khadas,vim3l
              - libretech,aml-s905d3-cc
              - seirobotics,sei610
          - const: amlogic,sm1

@@ -203,6 +205,7 @@ properties:
        items:
          - enum:
              - amlogic,ad401
              - amlogic,ad402
          - const: amlogic,a1

      - description: Boards with the Amlogic C3 C302X/C308L SoC
+2 −1
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@ maintainers:
  - Jianxin Pan <jianxin.pan@amlogic.com>

description: |+
  Secure Power Domains used in Meson A1/C1/S4 & C3 SoCs, and should be the child node
  Secure Power Domains used in Meson A1/C1/S4 & C3/T7 SoCs, and should be the child node
  of secure-monitor.

properties:
@@ -21,6 +21,7 @@ properties:
      - amlogic,meson-a1-pwrc
      - amlogic,meson-s4-pwrc
      - amlogic,c3-pwrc
      - amlogic,t7-pwrc

  "#power-domain-cells":
    const: 1
+3 −0
Original line number Diff line number Diff line
@@ -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
@@ -17,6 +18,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-bananapi-cm4-cm4io.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gsking-x.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking-pro.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-a311d-libretech-cc.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-go-ultra.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2-plus.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2.dtb
@@ -72,6 +74,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-sm1-bananapi-m2-pro.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-sm1-bananapi-m5.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-sm1-h96-max.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-sm1-khadas-vim3l.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-sm1-s905d3-libretech-cc.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-sm1-odroid-c4.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-sm1-odroid-hc4.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-sm1-sei610.dtb
+28 −0
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@
 */

#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/power/amlogic,t7-pwrc.h>

/ {
	interrupt-parent = <&gic>;
@@ -118,6 +119,11 @@ psci {

	sm: secure-monitor {
		compatible = "amlogic,meson-gxbb-sm";

		pwrc: power-controller {
			compatible = "amlogic,t7-pwrc";
			#power-domain-cells = <1>;
		};
	};

	soc {
@@ -143,6 +149,28 @@ apb4: bus@fe000000 {
			#size-cells = <2>;
			ranges = <0x0 0x0 0x0 0xfe000000 0x0 0x480000>;

			watchdog@2100 {
				compatible = "amlogic,t7-wdt";
				reg = <0x0 0x2100 0x0 0x10>;
				clocks = <&xtal>;
			};

			periphs_pinctrl: pinctrl@4000 {
				compatible = "amlogic,t7-periphs-pinctrl";
				#address-cells = <2>;
				#size-cells = <2>;
				ranges;

				gpio: bank@4000 {
					reg = <0x0 0x4000 0x0 0x0064>,
					      <0x0 0x40c0 0x0 0x0220>;
					reg-names = "mux", "gpio";
					gpio-controller;
					#gpio-cells = <2>;
					gpio-ranges = <&periphs_pinctrl 0 0 157>;
				};
			};

			uart_a: serial@78000 {
				compatible = "amlogic,t7-uart", "amlogic,meson-s4-uart";
				reg = <0x0 0x78000 0x0 0x18>;
+147 −0
Original line number Diff line number Diff line
// 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";
	pinctrl-0 = <&spifc_pins>;
	pinctrl-names = "default";

	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>;
};
Loading