Unverified Commit c47b89b4 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'ti-k3-dt-for-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/dt

TI K3 device tree updates for v6.4

New features:
* Overlays for CPSW9G and CPSW5G on J721e-evm, J7200-evm
* Add support for AM625 based BeaglePlay, AM62-LP-SK
* Audio, RTC, watchdog support for AM625
* McSPI for J7200,j721e, j721s2, J784s4
* ADC for j721s2
* Crypto acceleration, CPSW2G for J784s4

Non critical fixes:
AM62, AM62a:
* Fix schematics error to increase DDR to 4GB on AM62a-SK
* L2Cache size fix (AM62a/AM625)
* ti,vbus-divider property to USB1 on AM625-SK
* Gpio count fix for AM625

J7200,j721e, j721s2, J784s4, AM68, AM69:
* ti,sci-dev-id for J784s4 NAVSS nodes
* j721e-sk: Drop application specific firmware name
* am68-sk: Fix the gpio expander lines for production version

Cleanups:
* Pinmux header move to dt folder (next kernel PR, we will drop the uapi header).
* j721e: ti,strobe-sel property cleanup for descoped HS400 MMC operation

* tag 'ti-k3-dt-for-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/ti/linux: (34 commits)
  arm64: dts: ti: k3-j784s4-evm: Add eMMC mmc0 support
  arm64: dts: ti: Enable audio on SK-AM62(-LP)
  arm64: dts: ti: k3-am62-main: Add McASP nodes
  arm64: dts: ti: k3-j784s4: Add MCSPI nodes
  arm64: dts: ti: k3-j721s2: Add MCSPI nodes
  arm64: dts: ti: k3-j7200: Add MCSPI nodes
  arm64: dts: ti: k3-j721e: Add MCSPI nodes
  arm64: ti: dts: Add support for AM62x LP SK
  arm64: dts: ti: Refractor AM625 SK dts
  dt-bindings: arm: ti: k3: Add compatible for AM62x LP SK
  arm64: dts: ti: k3-am625-sk: Add ti,vbus-divider property to usbss1
  arm64: dts: ti: k3-am68-sk-base-board: Update IO EXP GPIO lines for Rev E2
  arm64: dts: ti: Add k3-am625-beagleplay
  dt-bindings: arm: ti: Add BeaglePlay
  arm64: dts: ti: k3-j7200: Add overlay to enable CPSW5G ports in QSGMII mode
  arm64: dts: ti: j7200-main: Add CPSW5G nodes
  arm64: dts: ti: k3-j721e: Add overlay to enable CPSW9G ports in QSGMII mode
  arm64: dts: ti: k3-j721e: Add CPSW9G nodes
  arm64: dts: ti: k3-j784s4-evm: Enable MCU CPSW2G
  arm64: dts: ti: k3-j721s2-common-proc-board: Add pinmux information for ADC
  ...

Link: https://lore.kernel.org/r/20230410140521.3u3fftgnejakqnzj@shakable


Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 17e26de1 891db0c4
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -28,7 +28,9 @@ properties:
      - description: K3 AM625 SoC
        items:
          - enum:
              - beagle,am625-beagleplay
              - ti,am625-sk
              - ti,am62-lp-sk
          - const: ti,am625

      - description: K3 AM642 SoC
+0 −1
Original line number Diff line number Diff line
@@ -222,7 +222,6 @@ additionalProperties: false

examples:
  - |
    #include <dt-bindings/pinctrl/k3.h>
    #include <dt-bindings/soc/ti,sci_pm_domain.h>
    #include <dt-bindings/net/ti-dp83867.h>
    #include <dt-bindings/interrupt-controller/irq.h>
+6 −2
Original line number Diff line number Diff line
@@ -9,7 +9,9 @@
# alphabetically.

# Boards with AM62x SoC
dtb-$(CONFIG_ARCH_K3) += k3-am625-beagleplay.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am625-sk.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am62-lp-sk.dtb

# Boards with AM62Ax SoC
dtb-$(CONFIG_ARCH_K3) += k3-am62a7-sk.dtb
@@ -28,11 +30,13 @@ dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced-pg2.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am654-base-board.dtb

# Boards with J7200 SoC
dtb-$(CONFIG_ARCH_K3) += k3-j7200-common-proc-board.dtb
k3-j7200-evm-dtbs := k3-j7200-common-proc-board.dtb k3-j7200-evm-quad-port-eth-exp.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-j7200-evm.dtb

# Boards with J721e SoC
k3-j721e-evm-dtbs := k3-j721e-common-proc-board.dtb k3-j721e-evm-quad-port-eth-exp.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-j721e-beagleboneai64.dtb
dtb-$(CONFIG_ARCH_K3) += k3-j721e-common-proc-board.dtb
dtb-$(CONFIG_ARCH_K3) += k3-j721e-evm.dtb
dtb-$(CONFIG_ARCH_K3) += k3-j721e-sk.dtb

# Boards with J721s2 SoC
+231 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0
/*
 * AM62x LP SK: https://www.ti.com/tool/SK-AM62-LP
 *
 * Copyright (C) 2021-2023 Texas Instruments Incorporated - https://www.ti.com/
 */

/dts-v1/;

#include "k3-am62x-sk-common.dtsi"

/ {
	compatible = "ti,am62-lp-sk", "ti,am625";
	model = "Texas Instruments AM62x LP SK";

	vmain_pd: regulator-0 {
		/* TPS65988 PD CONTROLLER OUTPUT */
		compatible = "regulator-fixed";
		regulator-name = "vmain_pd";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		regulator-always-on;
		regulator-boot-on;
	};

	vcc_5v0: regulator-1 {
		/* Output of TPS630702RNMR */
		compatible = "regulator-fixed";
		regulator-name = "vcc_5v0";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		vin-supply = <&vmain_pd>;
		regulator-always-on;
		regulator-boot-on;
	};

	vcc_3v3_sys: regulator-2 {
		/* output of LM61460-Q1 */
		compatible = "regulator-fixed";
		regulator-name = "vcc_3v3_sys";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		vin-supply = <&vmain_pd>;
		regulator-always-on;
		regulator-boot-on;
	};

	vdd_mmc1: regulator-3 {
		/* TPS22918DBVR */
		compatible = "regulator-fixed";
		regulator-name = "vdd_mmc1";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-boot-on;
		enable-active-high;
		vin-supply = <&vcc_3v3_sys>;
		gpio = <&exp1 3 GPIO_ACTIVE_HIGH>;
	};

	vddshv_sdio: regulator-4 {
		compatible = "regulator-gpio";
		regulator-name = "vddshv_sdio";
		pinctrl-names = "default";
		pinctrl-0 = <&vddshv_sdio_pins_default>;
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <3300000>;
		regulator-boot-on;
		vin-supply = <&ldo1_reg>;
		gpios = <&main_gpio0 31 GPIO_ACTIVE_HIGH>;
		states = <1800000 0x0>,
			 <3300000 0x1>;
	};
};

&main_pmx0 {
	vddshv_sdio_pins_default: vddshv-sdio-pins-default {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x07c, PIN_OUTPUT, 7) /* (M19) GPMC0_CLK.GPIO0_31 */
		>;
	};

	main_gpio1_ioexp_intr_pins_default: main-gpio1-ioexp-intr-pins-default {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x01d4, PIN_INPUT, 7) /* (C13) UART0_RTSn.GPIO1_23 */
		>;
	};

	pmic_irq_pins_default: pmic-irq-pins-default {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x01f4, PIN_INPUT, 0) /* (B16) EXTINTn */
		>;
	};
};

&main_i2c1 {
	exp1: gpio@22 {
		compatible = "ti,tca6424";
		reg = <0x22>;
		gpio-controller;
		#gpio-cells = <2>;
		gpio-line-names = "GPIO_CPSW2_RST", "GPIO_CPSW1_RST",
				   "PRU_DETECT", "MMC1_SD_EN",
				   "VPP_LDO_EN", "EXP_PS_3V3_En",
				   "EXP_PS_5V0_En", "EXP_HAT_DETECT",
				   "GPIO_AUD_RSTn", "GPIO_eMMC_RSTn",
				   "UART1_FET_BUF_EN", "BT_UART_WAKE_SOC",
				   "GPIO_HDMI_RSTn", "CSI_GPIO0",
				   "CSI_GPIO1", "GPIO_OLDI_INT",
				   "HDMI_INTn", "TEST_GPIO2",
				   "MCASP1_FET_EN", "MCASP1_BUF_BT_EN",
				   "MCASP1_FET_SEL", "UART1_FET_SEL",
				   "", "IO_EXP_TEST_LED";

		interrupt-parent = <&main_gpio1>;
		interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
		interrupt-controller;
		#interrupt-cells = <2>;

		pinctrl-names = "default";
		pinctrl-0 = <&main_gpio1_ioexp_intr_pins_default>;
	};

	exp2: gpio@23 {
		compatible = "ti,tca6424";
		reg = <0x23>;
		gpio-controller;
		#gpio-cells = <2>;
		gpio-line-names = "", "",
				   "", "",
				   "", "",
				   "", "",
				   "WL_LT_EN", "CSI_RSTz",
				   "", "",
				   "", "",
				   "", "",
				   "SPI0_FET_SEL", "SPI0_FET_OE",
				   "GPIO_OLDI_RSTn", "PRU_3V3_EN",
				   "", "",
				   "CSI_VLDO_SEL", "SOC_WLAN_SDIO_RST";
	};
};

&sdhci1 {
	vmmc-supply = <&vdd_mmc1>;
	vqmmc-supply = <&vddshv_sdio>;
};

&cpsw_port2 {
	status = "disabled";
};

&main_i2c0 {
	tps65219: pmic@30 {
		compatible = "ti,tps65219";
		reg = <0x30>;
		buck1-supply = <&vcc_3v3_sys>;
		buck2-supply = <&vcc_3v3_sys>;
		buck3-supply = <&vcc_3v3_sys>;
		ldo1-supply = <&vcc_3v3_sys>;
		ldo2-supply = <&buck2_reg>;
		ldo3-supply = <&vcc_3v3_sys>;
		ldo4-supply = <&vcc_3v3_sys>;

		pinctrl-names = "default";
		pinctrl-0 = <&pmic_irq_pins_default>;

		interrupt-parent = <&gic500>;
		interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
		ti,power-button;

		regulators {
			buck1_reg: buck1 {
				regulator-name = "VDD_CORE";
				regulator-min-microvolt = <750000>;
				regulator-max-microvolt = <750000>;
				regulator-boot-on;
				regulator-always-on;
			};

			buck2_reg: buck2 {
				regulator-name = "VCC1V8_SYS";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-boot-on;
				regulator-always-on;
			};

			buck3_reg: buck3 {
				regulator-name = "VDD_LPDDR4";
				regulator-min-microvolt = <1100000>;
				regulator-max-microvolt = <1100000>;
				regulator-boot-on;
				regulator-always-on;
			};

			ldo1_reg: ldo1 {
				regulator-name = "VDDSHV_SDIO";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
			};

			ldo2_reg: ldo2 {
				regulator-name = "VDDAR_CORE";
				regulator-min-microvolt = <850000>;
				regulator-max-microvolt = <850000>;
				regulator-boot-on;
				regulator-always-on;
			};

			ldo3_reg: ldo3 {
				regulator-name = "VDDA_1V8";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-boot-on;
				regulator-always-on;
			};

			ldo4_reg: ldo4 {
				regulator-name = "VDD_1V2";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <1200000>;
				regulator-boot-on;
				regulator-always-on;
			};
		};
	};
};

&tlv320aic3106 {
	DVDD-supply = <&buck2_reg>;
};
+107 −2
Original line number Diff line number Diff line
@@ -461,7 +461,7 @@
			     <193>, <194>, <195>;
		interrupt-controller;
		#interrupt-cells = <2>;
		ti,ngpio = <87>;
		ti,ngpio = <92>;
		ti,davinci-gpio-unbanked = <0>;
		power-domains = <&k3_pds 77 TI_SCI_PD_EXCLUSIVE>;
		clocks = <&k3_clks 77 0>;
@@ -478,7 +478,7 @@
			     <183>, <184>, <185>;
		interrupt-controller;
		#interrupt-cells = <2>;
		ti,ngpio = <88>;
		ti,ngpio = <52>;
		ti,davinci-gpio-unbanked = <0>;
		power-domains = <&k3_pds 78 TI_SCI_PD_EXCLUSIVE>;
		clocks = <&k3_clks 78 0>;
@@ -758,6 +758,51 @@
		status = "disabled";
	};

	main_rti0: watchdog@e000000 {
		compatible = "ti,j7-rti-wdt";
		reg = <0x00 0x0e000000 0x00 0x100>;
		clocks = <&k3_clks 125 0>;
		power-domains = <&k3_pds 125 TI_SCI_PD_EXCLUSIVE>;
		assigned-clocks = <&k3_clks 125 0>;
		assigned-clock-parents = <&k3_clks 125 2>;
	};

	main_rti1: watchdog@e010000 {
		compatible = "ti,j7-rti-wdt";
		reg = <0x00 0x0e010000 0x00 0x100>;
		clocks = <&k3_clks 126 0>;
		power-domains = <&k3_pds 126 TI_SCI_PD_EXCLUSIVE>;
		assigned-clocks = <&k3_clks 126 0>;
		assigned-clock-parents = <&k3_clks 126 2>;
	};

	main_rti2: watchdog@e020000 {
		compatible = "ti,j7-rti-wdt";
		reg = <0x00 0x0e020000 0x00 0x100>;
		clocks = <&k3_clks 127 0>;
		power-domains = <&k3_pds 127 TI_SCI_PD_EXCLUSIVE>;
		assigned-clocks = <&k3_clks 127 0>;
		assigned-clock-parents = <&k3_clks 127 2>;
	};

	main_rti3: watchdog@e030000 {
		compatible = "ti,j7-rti-wdt";
		reg = <0x00 0x0e030000 0x00 0x100>;
		clocks = <&k3_clks 128 0>;
		power-domains = <&k3_pds 128 TI_SCI_PD_EXCLUSIVE>;
		assigned-clocks = <&k3_clks 128 0>;
		assigned-clock-parents = <&k3_clks 128 2>;
	};

	main_rti15: watchdog@e0f0000 {
		compatible = "ti,j7-rti-wdt";
		reg = <0x00 0x0e0f0000 0x00 0x100>;
		clocks = <&k3_clks 130 0>;
		power-domains = <&k3_pds 130 TI_SCI_PD_EXCLUSIVE>;
		assigned-clocks = <&k3_clks 130 0>;
		assigned-clock-parents = <&k3_clks 130 2>;
	};

	epwm0: pwm@23000000 {
		compatible = "ti,am64-epwm", "ti,am3352-ehrpwm";
		#pwm-cells = <3>;
@@ -787,4 +832,64 @@
		clock-names = "tbclk", "fck";
		status = "disabled";
	};

	mcasp0: audio-controller@2b00000 {
		compatible = "ti,am33xx-mcasp-audio";
		reg = <0x00 0x02b00000 0x00 0x2000>,
		      <0x00 0x02b08000 0x00 0x400>;
		reg-names = "mpu", "dat";
		interrupts = <GIC_SPI 236 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 235 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-names = "tx", "rx";

		dmas = <&main_bcdma 0 0xc500 0>, <&main_bcdma 0 0x4500 0>;
		dma-names = "tx", "rx";

		clocks = <&k3_clks 190 0>;
		clock-names = "fck";
		assigned-clocks = <&k3_clks 190 0>;
		assigned-clock-parents = <&k3_clks 190 2>;
		power-domains = <&k3_pds 190 TI_SCI_PD_EXCLUSIVE>;
		status = "disabled";
	};

	mcasp1: audio-controller@2b10000 {
		compatible = "ti,am33xx-mcasp-audio";
		reg = <0x00 0x02b10000 0x00 0x2000>,
		      <0x00 0x02b18000 0x00 0x400>;
		reg-names = "mpu", "dat";
		interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 237 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-names = "tx", "rx";

		dmas = <&main_bcdma 0 0xc501 0>, <&main_bcdma 0 0x4501 0>;
		dma-names = "tx", "rx";

		clocks = <&k3_clks 191 0>;
		clock-names = "fck";
		assigned-clocks = <&k3_clks 191 0>;
		assigned-clock-parents = <&k3_clks 191 2>;
		power-domains = <&k3_pds 191 TI_SCI_PD_EXCLUSIVE>;
		status = "disabled";
	};

	mcasp2: audio-controller@2b20000 {
		compatible = "ti,am33xx-mcasp-audio";
		reg = <0x00 0x02b20000 0x00 0x2000>,
		      <0x00 0x02b28000 0x00 0x400>;
		reg-names = "mpu", "dat";
		interrupts = <GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-names = "tx", "rx";

		dmas = <&main_bcdma 0 0xc502 0>, <&main_bcdma 0 0x4502 0>;
		dma-names = "tx", "rx";

		clocks = <&k3_clks 192 0>;
		clock-names = "fck";
		assigned-clocks = <&k3_clks 192 0>;
		assigned-clock-parents = <&k3_clks 192 2>;
		power-domains = <&k3_pds 192 TI_SCI_PD_EXCLUSIVE>;
		status = "disabled";
	};
};
Loading