Commit 1e3e7ca5 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'amlogic-dt64' of...

Merge tag 'amlogic-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into arm/dt

arm64: dts: amlogic updates for v5.11
- AXG SoCs: add/enable PCIe & USB OTG support
- AXG SoCs: add MIPI DSI support
- Khadas VIM: add RTC
- several cleanups & fixups

* tag 'amlogic-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  arm64: dts: meson-sm1: fix typo in opp table
  arm64: dts: meson: add KHAMSIN IR remote node to SML5442TW
  arm64: dts: meson: update the Khadas VIM3/3L LED bindings
  arm64: dts: meson: fix spi-max-frequency on Khadas VIM2
  arm64: dts: meson: add rtc aliases to meson-khadas-vim3.dtsi
  arm64: dts: meson: Add capacity-dmips-mhz attributes to GXM
  arm64: dts: meson-axg-s400: enable PCIe M.2 Key E slots
  arm64: dts: meson-axg: add PCIe nodes
  arm64: dts: meson-axg: add MIPI DSI PHY nodes
  arm64: dts: meson-axg: add PWRC node
  arm64: dts: meson: enable rtc node on Khadas VIM1/VIM2 boards
  dt-bindings: clk: axg-clkc: add MIPI DSI Host clock binding
  dt-bindings: clk: axg-clkc: add Video Clocks
  arm64: dts: meson: add watchdog to g12-common dtsi
  arm64: dts: meson: remove empty lines from aml-s905x-cc v2 dts

Link: https://lore.kernel.org/r/7heek9jgox.fsf@baylibre.com


Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 96631a0d b6a1c8a1
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -441,6 +441,16 @@
	status = "okay";
};

&pcieA {
	reset-gpios = <&gpio GPIOX_19 GPIO_ACTIVE_LOW>;
	status = "okay";
};

&pcieB {
	reset-gpios = <&gpio GPIOZ_10 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
	status = "okay";
};

&pwm_ab {
	status = "okay";
	pinctrl-0 = <&pwm_a_x20_pins>;
+122 −0
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/reset/amlogic,meson-axg-audio-arb.h>
#include <dt-bindings/reset/amlogic,meson-axg-reset.h>
#include <dt-bindings/power/meson-axg-power.h>

/ {
	compatible = "amlogic,meson-axg";
@@ -171,6 +172,58 @@
		#size-cells = <2>;
		ranges;

		pcieA: pcie@f9800000 {
			compatible = "amlogic,axg-pcie", "snps,dw-pcie";
			reg = <0x0 0xf9800000 0x0 0x400000>,
			      <0x0 0xff646000 0x0 0x2000>,
			      <0x0 0xf9f00000 0x0 0x100000>;
			reg-names = "elbi", "cfg", "config";
			interrupts = <GIC_SPI 177 IRQ_TYPE_EDGE_RISING>;
			#interrupt-cells = <1>;
			interrupt-map-mask = <0 0 0 0>;
			interrupt-map = <0 0 0 0 &gic GIC_SPI 179 IRQ_TYPE_EDGE_RISING>;
			bus-range = <0x0 0xff>;
			#address-cells = <3>;
			#size-cells = <2>;
			device_type = "pci";
			ranges = <0x82000000 0 0xf9c00000 0x0 0xf9c00000 0 0x00300000>;

			clocks = <&clkc CLKID_USB>, <&clkc CLKID_PCIE_A>, <&clkc CLKID_PCIE_CML_EN0>;
			clock-names = "general", "pclk", "port";
			resets = <&reset RESET_PCIE_A>, <&reset RESET_PCIE_APB>;
			reset-names = "port", "apb";
			num-lanes = <1>;
			phys = <&pcie_phy>;
			phy-names = "pcie";
			status = "disabled";
		};

		pcieB: pcie@fa000000 {
			compatible = "amlogic,axg-pcie", "snps,dw-pcie";
			reg = <0x0 0xfa000000 0x0 0x400000>,
			      <0x0 0xff648000 0x0 0x2000>,
			      <0x0 0xfa400000 0x0 0x100000>;
			reg-names = "elbi", "cfg", "config";
			interrupts = <GIC_SPI 167 IRQ_TYPE_EDGE_RISING>;
			#interrupt-cells = <1>;
			interrupt-map-mask = <0 0 0 0>;
			interrupt-map = <0 0 0 0 &gic GIC_SPI 169 IRQ_TYPE_EDGE_RISING>;
			bus-range = <0x0 0xff>;
			#address-cells = <3>;
			#size-cells = <2>;
			device_type = "pci";
			ranges = <0x82000000 0 0xfa500000 0x0 0xfa500000 0 0x00300000>;

			clocks = <&clkc CLKID_USB>, <&clkc CLKID_PCIE_B>, <&clkc CLKID_PCIE_CML_EN1>;
			clock-names = "general", "pclk", "port";
			resets = <&reset RESET_PCIE_B>, <&reset RESET_PCIE_APB>;
			reset-names = "port", "apb";
			num-lanes = <1>;
			phys = <&pcie_phy>;
			phy-names = "pcie";
			status = "disabled";
		};

		usb: usb@ffe09080 {
			compatible = "amlogic,meson-axg-usb-ctrl";
			reg = <0x0 0xffe09080 0x0 0x20>;
@@ -229,9 +282,19 @@
			tx-fifo-depth = <2048>;
			resets = <&reset RESET_ETHERNET>;
			reset-names = "stmmaceth";
			power-domains = <&pwrc PWRC_AXG_ETHERNET_MEM_ID>;
			status = "disabled";
		};

		pcie_phy: phy@ff644000 {
			compatible = "amlogic,axg-pcie-phy";
			reg = <0x0 0xff644000 0x0 0x1c>;
			resets = <&reset RESET_PCIE_PHY>;
			phys = <&mipi_pcie_analog_dphy>;
			phy-names = "analog";
			#phy-cells = <0>;
		};

		pdm: audio-controller@ff632000 {
			compatible = "amlogic,axg-pdm";
			reg = <0x0 0xff632000 0x0 0x34>;
@@ -1159,6 +1222,52 @@
					clocks = <&xtal>;
					clock-names = "xtal";
				};

				pwrc: power-controller {
					compatible = "amlogic,meson-axg-pwrc";
					#power-domain-cells = <1>;
					amlogic,ao-sysctrl = <&sysctrl_AO>;
					resets = <&reset RESET_VIU>,
						 <&reset RESET_VENC>,
						 <&reset RESET_VCBUS>,
						 <&reset RESET_VENCL>,
						 <&reset RESET_VID_LOCK>;
					reset-names = "viu", "venc", "vcbus",
						      "vencl", "vid_lock";
					clocks = <&clkc CLKID_VPU>,
						 <&clkc CLKID_VAPB>;
					clock-names = "vpu", "vapb";
					/*
					 * VPU clocking is provided by two identical clock paths
					 * VPU_0 and VPU_1 muxed to a single clock by a glitch
					 * free mux to safely change frequency while running.
					 * Same for VAPB but with a final gate after the glitch free mux.
					 */
					assigned-clocks = <&clkc CLKID_VPU_0_SEL>,
							  <&clkc CLKID_VPU_0>,
							  <&clkc CLKID_VPU>, /* Glitch free mux */
							  <&clkc CLKID_VAPB_0_SEL>,
							  <&clkc CLKID_VAPB_0>,
							  <&clkc CLKID_VAPB_SEL>; /* Glitch free mux */
					assigned-clock-parents = <&clkc CLKID_FCLK_DIV4>,
								 <0>, /* Do Nothing */
								 <&clkc CLKID_VPU_0>,
								 <&clkc CLKID_FCLK_DIV4>,
								 <0>, /* Do Nothing */
								 <&clkc CLKID_VAPB_0>;
					assigned-clock-rates = <0>, /* Do Nothing */
							       <250000000>,
							       <0>, /* Do Nothing */
							       <0>, /* Do Nothing */
							       <250000000>,
							       <0>; /* Do Nothing */
				};

				mipi_pcie_analog_dphy: phy {
					compatible = "amlogic,axg-mipi-pcie-analog-phy";
					#phy-cells = <0>;
					status = "disabled";
				};
			};
		};

@@ -1171,6 +1280,19 @@
			#mbox-cells = <1>;
		};

		mipi_dphy: phy@ff640000 {
			compatible = "amlogic,axg-mipi-dphy";
			reg = <0x0 0xff640000 0x0 0x100>;
			clocks = <&clkc CLKID_MIPI_DSI_PHY>;
			clock-names = "pclk";
			resets = <&reset RESET_MIPI_PHY>;
			reset-names = "phy";
			phys = <&mipi_pcie_analog_dphy>;
			phy-names = "analog";
			#phy-cells = <0>;
			status = "disabled";
		};

		audio: bus@ff642000 {
			compatible = "simple-bus";
			reg = <0x0 0xff642000 0x0 0x2000>;
+6 −0
Original line number Diff line number Diff line
@@ -2183,6 +2183,12 @@
				amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>;
			};

			watchdog: wdt@f0d0 {
				compatible = "amlogic,meson-gxbb-wdt";
				reg = <0x0 0xf0d0 0x0 0x10>;
				clocks = <&xtal>;
			};

			spicc0: spi@13000 {
				compatible = "amlogic,meson-g12a-spicc";
				reg = <0x0 0x13000 0x0 0x44>;
+4 −0
Original line number Diff line number Diff line
@@ -63,6 +63,10 @@
	pinctrl-names = "default";
};

&ir {
        linux,rc-map-name = "rc-khamsin";
};

/* This is connected to the Bluetooth module: */
&uart_A {
	status = "okay";
+1 −2
Original line number Diff line number Diff line
@@ -97,8 +97,7 @@
	pinctrl-names = "default";

	rtc: rtc@51 {
		/* has to be enabled manually when a battery is connected: */
		status = "disabled";
		status = "okay";
		compatible = "haoyu,hym8563";
		reg = <0x51>;
		#clock-cells = <0>;
Loading