Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 414c8385 authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'tegra-for-3.15-dt' of...

Merge tag 'tegra-for-3.15-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/dt

Merge "ARM: tegra: device tree changes for 3.15" from Stephen Warren:

This enables:
- host1x and eDP support on Tegra124.
- LCD panel support for a few Tegra20 devices and Venice2.
- Enables power down, SPI flash, and USB on Venice2.
- Documents which Dalmore revision is supported.
- Adds an I2C bus mux to Cardhu.

Additionally, Tegra124 is converted to use #address-cells=<2> since the
HW suports more than 32-bits of address space, and various cleanups are
included.

* tag 'tegra-for-3.15-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux

: (21 commits)
  ARM: dts: tegra: add PCIe interrupt mapping properties
  ARM: tegra: use 2 address cells for Tegra124 DT
  ARM: tegra: Rename as3722 node to pmic
  ARM: tegra: Fix whitespace around '='
  ARM: tegra: Enable USB on Venice2
  ARM: tegra: Add Tegra124 USB support
  ARM: tegra: Enable eDP for Venice2
  ARM: tegra: Add Tegra124 eDP support
  ARM: tegra: Add Tegra124 host1x support
  ARM: tegra: Hook up SDMMC3 power-supply on Venice2
  ARM: tegra: Overhaul Venice2 regulators
  ARM: tegra: Combine VBUS enable pins into one node
  ARM: tegra: Use "disabled" for status property
  ARM: tegra: add SPI flash to Venice2 DT
  ARM: tegra: enable PCA9546 on Cardhu
  ARM: tegra: enable LCD panel on Ventana
  ARM: tegra: enable LCD panel on Seaboard
  ARM: tegra: add system-power-controller property for PMIC node
  ARM: tegra: document which Dalmore revisions are supported
  ARM: tegra: Properly sort clocks property
  ...

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 98907c2d 97070bd4
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -42,6 +42,10 @@ Required properties:
    - 0xc2000000: prefetchable memory region
  Please refer to the standard PCI bus binding document for a more detailed
  explanation.
- #interrupt-cells: Size representation for interrupts (must be 1)
- interrupt-map-mask and interrupt-map: Standard PCI IRQ mapping properties
  Please refer to the standard PCI bus binding document for a more detailed
  explanation.
- clocks: Must contain an entry for each entry in clock-names.
  See ../clocks/clock-bindings.txt for details.
- clock-names: Must include the following entries:
@@ -86,6 +90,10 @@ SoC DTSI:
		              0 99 0x04>; /* MSI interrupt */
		interrupt-names = "intr", "msi";

		#interrupt-cells = <1>;
		interrupt-map-mask = <0 0 0 0>;
		interrupt-map = <0 0 0 0 &intc GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;

		bus-range = <0x00 0xff>;
		#address-cells = <3>;
		#size-cells = <2>;
+5 −0
Original line number Diff line number Diff line
/*
 * This dts file supports Dalmore A04.
 * Other board revisions are not supported
 */

/dts-v1/;

#include <dt-bindings/input/input.h>
+4 −4
Original line number Diff line number Diff line
@@ -604,7 +604,7 @@
		clocks = <&tegra_car TEGRA114_CLK_SDMMC1>;
		resets = <&tegra_car 14>;
		reset-names = "sdhci";
		status = "disable";
		status = "disabled";
	};

	sdhci@78000200 {
@@ -614,7 +614,7 @@
		clocks = <&tegra_car TEGRA114_CLK_SDMMC2>;
		resets = <&tegra_car 9>;
		reset-names = "sdhci";
		status = "disable";
		status = "disabled";
	};

	sdhci@78000400 {
@@ -624,7 +624,7 @@
		clocks = <&tegra_car TEGRA114_CLK_SDMMC3>;
		resets = <&tegra_car 69>;
		reset-names = "sdhci";
		status = "disable";
		status = "disabled";
	};

	sdhci@78000600 {
@@ -634,7 +634,7 @@
		clocks = <&tegra_car TEGRA114_CLK_SDMMC4>;
		resets = <&tegra_car 15>;
		reset-names = "sdhci";
		status = "disable";
		status = "disabled";
	};

	usb@7d000000 {
+194 −107
Original line number Diff line number Diff line
@@ -8,15 +8,29 @@
	compatible = "nvidia,venice2", "nvidia,tegra124";

	aliases {
		rtc0 = "/i2c@7000d000/as3722@40";
		rtc1 = "/rtc@7000e000";
		rtc0 = "/i2c@0,7000d000/pmic@40";
		rtc1 = "/rtc@0,7000e000";
	};

	memory {
		reg = <0x80000000 0x80000000>;
		reg = <0x0 0x80000000 0x0 0x80000000>;
	};

	pinmux: pinmux@70000868 {
	host1x@0,50000000 {
		sor@0,54540000 {
			status = "okay";

			nvidia,dpaux = <&dpaux>;
			nvidia,panel = <&panel>;
		};

		dpaux: dpaux@0,545c0000 {
			vdd-supply = <&vdd_3v3_panel>;
			status = "okay";
		};
	};

	pinmux: pinmux@0,70000868 {
		pinctrl-names = "default";
		pinctrl-0 = <&pinmux_default>;

@@ -402,19 +416,11 @@
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};
			usb_vbus_en0_pn4 {
				nvidia,pins = "usb_vbus_en0_pn4";
				nvidia,pins = "usb_vbus_en0_pn4",
					      "usb_vbus_en1_pn5";
				nvidia,function = "usb";
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,lock = <TEGRA_PIN_DISABLE>;
				nvidia,open-drain = <TEGRA_PIN_ENABLE>;
			};
			usb_vbus_en1_pn5 {
				nvidia,pins = "usb_vbus_en1_pn5";
				nvidia,function = "usb";
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,lock = <TEGRA_PIN_DISABLE>;
				nvidia,open-drain = <TEGRA_PIN_ENABLE>;
@@ -572,15 +578,15 @@
		};
	};

	serial@70006000 {
	serial@0,70006000 {
		status = "okay";
	};

	pwm: pwm@7000a000 {
	pwm: pwm@0,7000a000 {
		status = "okay";
	};

	i2c@7000c000 {
	i2c@0,7000c000 {
		status = "okay";
		clock-frequency = <100000>;

@@ -592,30 +598,32 @@
		};
	};

	i2c@7000c400 {
	i2c@0,7000c400 {
		status = "okay";
		clock-frequency = <100000>;
	};

	i2c@7000c500 {
	i2c@0,7000c500 {
		status = "okay";
		clock-frequency = <100000>;
	};

	i2c@7000c700 {
	i2c@0,7000c700 {
		status = "okay";
		clock-frequency = <100000>;
	};

	i2c@7000d000 {
	i2c@0,7000d000 {
		status = "okay";
		clock-frequency = <400000>;

		as3722: as3722@40 {
		pmic: pmic@40 {
			compatible = "ams,as3722";
			reg = <0x40>;
			interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;

			ams,system-power-controller;

			#interrupt-cells = <2>;
			interrupt-controller;

@@ -650,19 +658,19 @@
			};

			regulators {
				vsup-sd2-supply = <&vdd_ac_bat_reg>;
				vsup-sd3-supply = <&vdd_ac_bat_reg>;
				vsup-sd4-supply = <&vdd_ac_bat_reg>;
				vsup-sd5-supply = <&vdd_ac_bat_reg>;
				vin-ldo0-supply = <&as3722_sd2>;
				vin-ldo1-6-supply = <&vdd_ac_bat_reg>;
				vin-ldo2-5-7-supply = <&as3722_sd5>;
				vin-ldo3-4-supply = <&vdd_ac_bat_reg>;
				vin-ldo9-10-supply = <&vdd_ac_bat_reg>;
				vin-ldo11-supply = <&vdd_ac_bat_reg>;
				vsup-sd2-supply = <&vdd_5v0_sys>;
				vsup-sd3-supply = <&vdd_5v0_sys>;
				vsup-sd4-supply = <&vdd_5v0_sys>;
				vsup-sd5-supply = <&vdd_5v0_sys>;
				vin-ldo0-supply = <&vdd_1v35_lp0>;
				vin-ldo1-6-supply = <&vdd_3v3_run>;
				vin-ldo2-5-7-supply = <&vddio_1v8>;
				vin-ldo3-4-supply = <&vdd_3v3_sys>;
				vin-ldo9-10-supply = <&vdd_5v0_sys>;
				vin-ldo11-supply = <&vdd_3v3_run>;

				sd0 {
					regulator-name = "vdd-cpu";
					regulator-name = "+VDD_CPU_AP";
					regulator-min-microvolt = <700000>;
					regulator-max-microvolt = <1400000>;
					regulator-min-microamp = <3500000>;
@@ -673,7 +681,7 @@
				};

				sd1 {
					regulator-name = "vdd-core";
					regulator-name = "+VDD_CORE";
					regulator-min-microvolt = <700000>;
					regulator-max-microvolt = <1350000>;
					regulator-min-microamp = <2500000>;
@@ -683,8 +691,8 @@
					ams,external-control = <1>;
				};

				as3722_sd2: sd2 {
					regulator-name = "vddio-ddr";
				vdd_1v35_lp0: sd2 {
					regulator-name = "+1.35V_LP0(sd2)";
					regulator-min-microvolt = <1350000>;
					regulator-max-microvolt = <1350000>;
					regulator-always-on;
@@ -692,7 +700,7 @@
				};

				sd3 {
					regulator-name = "vddio-ddr-2phase";
					regulator-name = "+1.35V_LP0(sd3)";
					regulator-min-microvolt = <1350000>;
					regulator-max-microvolt = <1350000>;
					regulator-always-on;
@@ -700,15 +708,13 @@
				};

				sd4 {
					regulator-name = "avdd-pex-sata";
					regulator-name = "+1.05V_RUN";
					regulator-min-microvolt = <1050000>;
					regulator-max-microvolt = <1050000>;
					regulator-boot-on;
					regulator-always-on;
				};

				as3722_sd5: sd5 {
					regulator-name = "vddio-sys";
				vddio_1v8: sd5 {
					regulator-name = "+1.8V_VDDIO";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-boot-on;
@@ -716,7 +722,7 @@
				};

				sd6 {
					regulator-name = "vdd-gpu";
					regulator-name = "+VDD_GPU_AP";
					regulator-min-microvolt = <650000>;
					regulator-max-microvolt = <1200000>;
					regulator-min-microamp = <3500000>;
@@ -726,7 +732,7 @@
				};

				ldo0 {
					regulator-name = "avdd_pll";
					regulator-name = "+1.05V_RUN_AVDD";
					regulator-min-microvolt = <1050000>;
					regulator-max-microvolt = <1050000>;
					regulator-boot-on;
@@ -735,13 +741,13 @@
				};

				ldo1 {
					regulator-name = "run-cam-1.8";
					regulator-name = "+1.8V_RUN_CAM";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
				};

				ldo2 {
					regulator-name = "gen-avdd,vddio-hsic";
					regulator-name = "+1.2V_GEN_AVDD";
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
					regulator-boot-on;
@@ -749,7 +755,7 @@
				};

				ldo3 {
					regulator-name = "vdd-rtc";
					regulator-name = "+1.00V_LP0_VDD_RTC";
					regulator-min-microvolt = <1000000>;
					regulator-max-microvolt = <1000000>;
					regulator-boot-on;
@@ -757,48 +763,44 @@
					ams,enable-tracking;
				};

				ldo4 {
					regulator-name = "vdd-cam";
				vdd_run_cam: ldo4 {
					regulator-name = "+3.3V_RUN_CAM";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
					regulator-boot-on;
					regulator-always-on;
				};

				ldo5 {
					regulator-name = "vdd-cam-front";
					regulator-name = "+1.2V_RUN_CAM_FRONT";
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
				};

				ldo6 {
					regulator-name = "vddio-sdmmc3";
				vddio_sdmmc3: ldo6 {
					regulator-name = "+VDDIO_SDMMC3";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <3300000>;
					regulator-boot-on;
					regulator-always-on;
				};

				ldo7 {
					regulator-name = "vdd-cam-rear";
					regulator-name = "+1.05V_RUN_CAM_REAR";
					regulator-min-microvolt = <1050000>;
					regulator-max-microvolt = <1050000>;
				};

				ldo9 {
					regulator-name = "vdd-touch";
					regulator-name = "+2.8V_RUN_TOUCH";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
				};

				ldo10 {
					regulator-name = "vdd-cam-af";
					regulator-name = "+2.8V_RUN_CAM_AF";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
				};

				ldo11 {
					regulator-name = "vpp-fuse";
					regulator-name = "+1.8V_RUN_VPP_FUSE";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
				};
@@ -806,7 +808,7 @@
		};
	};

	spi@7000d400 {
	spi@0,7000d400 {
		status = "okay";

		cros-ec@0 {
@@ -912,7 +914,17 @@
		};
	};

	pmc@7000e400 {
	spi@0,7000da00 {
		status = "okay";
		spi-max-frequency = <25000000>;
		spi-flash@0 {
			compatible = "winbond,w25q32dw";
			reg = <0>;
			spi-max-frequency = <20000000>;
		};
	};

	pmc@0,7000e400 {
		nvidia,invert-interrupt;
		nvidia,suspend-mode = <1>;
		nvidia,cpu-pwr-good-time = <500>;
@@ -923,22 +935,61 @@
		nvidia,sys-clock-req-active-high;
	};

	sdhci@700b0400 {
	sdhci@0,700b0400 {
		cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_HIGH>;
		power-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>;
		status = "okay";
		bus-width = <4>;
		vmmc-supply = <&vddio_sdmmc3>;
	};

	sdhci@700b0600 {
	sdhci@0,700b0600 {
		status = "okay";
		bus-width = <8>;
	};

	ahub@70300000 {
		i2s@70301100 {
	ahub@0,70300000 {
		i2s@0,70301100 {
			status = "okay";
		};
	};

	usb@0,7d000000 {
		status = "okay";
	};

	usb-phy@0,7d000000 {
		status = "okay";
		vbus-supply = <&vdd_usb1_vbus>;
	};

	usb@0,7d004000 {
		status = "okay";
	};

	usb-phy@0,7d004000 {
		status = "okay";
		vbus-supply = <&vdd_run_cam>;
	};

	usb@0,7d008000 {
		status = "okay";
	};

	usb-phy@0,7d008000 {
		status = "okay";
		vbus-supply = <&vdd_usb3_vbus>;
	};

	backlight: backlight {
		compatible = "pwm-backlight";

		enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
		power-supply = <&vdd_led>;
		pwms = <&pwm 1 1000000>;

		brightness-levels = <0 4 8 16 32 64 128 255>;
		default-brightness-level = <6>;
	};

	clocks {
@@ -966,104 +1017,140 @@
		};
	};

	panel: panel {
		compatible = "lg,lp129qe", "simple-panel";

		backlight = <&backlight>;
		ddc-i2c-bus = <&dpaux>;
	};

	regulators {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <0>;

		vdd_ac_bat_reg: regulator@0 {
		vdd_mux: regulator@0 {
			compatible = "regulator-fixed";
			reg = <0>;
			regulator-name = "vdd_ac_bat";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			regulator-name = "+VDD_MUX";
			regulator-min-microvolt = <12000000>;
			regulator-max-microvolt = <12000000>;
			regulator-always-on;
			regulator-boot-on;
		};

		vdd_3v3_reg: regulator@1 {
		vdd_5v0_sys: regulator@1 {
			compatible = "regulator-fixed";
			reg = <1>;
			regulator-name = "vdd_3v3";
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;
			regulator-name = "+5V_SYS";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			regulator-always-on;
			regulator-boot-on;
			enable-active-high;
			gpio = <&as3722 1 GPIO_ACTIVE_HIGH>;
			vin-supply = <&vdd_mux>;
		};

		vdd_3v3_modem_reg: regulator@2 {
		vdd_3v3_sys: regulator@2 {
			compatible = "regulator-fixed";
			reg = <2>;
			regulator-name = "vdd-modem-3v3";
			regulator-name = "+3.3V_SYS";
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;
			enable-active-high;
			gpio = <&as3722 2 GPIO_ACTIVE_HIGH>;
			regulator-always-on;
			regulator-boot-on;
			vin-supply = <&vdd_mux>;
		};

		vdd_hdmi_5v0_reg: regulator@3 {
		vdd_3v3_run: regulator@3 {
			compatible = "regulator-fixed";
			reg = <3>;
			regulator-name = "vdd-hdmi-5v0";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			regulator-name = "+3.3V_RUN";
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;
			gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
			enable-active-high;
			gpio = <&gpio TEGRA_GPIO(K, 6) GPIO_ACTIVE_HIGH>;
			vin-supply = <&vdd_3v3_sys>;
		};

		vdd_bl_reg: regulator@4 {
		vdd_3v3_hdmi: regulator@4 {
			compatible = "regulator-fixed";
			reg = <4>;
			regulator-name = "vdd-bl";
			regulator-name = "+3.3V_AVDD_HDMI_AP_GATED";
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;
			gpio = <&gpio TEGRA_GPIO(P, 2) GPIO_ACTIVE_LOW>;
			vin-supply = <&vdd_3v3_run>;
		};

		vdd_ts_sw_5v0: regulator@5 {
		vdd_led: regulator@5 {
			compatible = "regulator-fixed";
			reg = <5>;
			regulator-name = "vdd_ts_sw";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			regulator-name = "+VDD_LED";
			gpio = <&gpio TEGRA_GPIO(P, 2) GPIO_ACTIVE_HIGH>;
			enable-active-high;
			regulator-boot-on;
			gpio = <&gpio TEGRA_GPIO(K, 1) GPIO_ACTIVE_LOW>;
			vin-supply = <&vdd_mux>;
		};

		usb1_vbus_reg: regulator@6 {
		vdd_5v0_ts: regulator@6 {
			compatible = "regulator-fixed";
			reg = <6>;
			regulator-name = "usb1_vbus";
			regulator-name = "+5V_VDD_TS_SW";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			regulator-boot-on;
			gpio = <&gpio TEGRA_GPIO(K, 1) GPIO_ACTIVE_HIGH>;
			enable-active-high;
			gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
			gpio-open-drain;
			vin-supply = <&vdd_5v0_sys>;
		};

		usb3_vbus_reg: regulator@7 {
		vdd_usb1_vbus: regulator@7 {
			compatible = "regulator-fixed";
			reg = <7>;
			regulator-name = "usb3_vbus";
			regulator-name = "+5V_USB_HS";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			regulator-boot-on;
			gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
			enable-active-high;
			gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>;
			gpio-open-drain;
			vin-supply = <&vdd_5v0_sys>;
		};

		panel_3v3_reg: regulator@8 {
		vdd_usb3_vbus: regulator@8 {
			compatible = "regulator-fixed";
			reg = <8>;
			regulator-name = "panel_3v3";
			regulator-name = "+5V_USB_SS";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>;
			enable-active-high;
			gpio-open-drain;
			vin-supply = <&vdd_5v0_sys>;
		};

		vdd_3v3_panel: regulator@9 {
			compatible = "regulator-fixed";
			reg = <9>;
			regulator-name = "+3.3V_PANEL";
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;
			gpio = <&pmic 4 GPIO_ACTIVE_HIGH>;
			enable-active-high;
			vin-supply = <&vdd_3v3_run>;
		};

		vdd_3v3_lp0: regulator@10 {
			compatible = "regulator-fixed";
			reg = <10>;
			regulator-name = "+3.3V_LP0";
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;
			/*
			 * TODO: find a way to wire this up with the USB EHCI
			 * controllers so that it can be enabled on demand.
			 */
			regulator-always-on;
			gpio = <&pmic 2 GPIO_ACTIVE_HIGH>;
			enable-active-high;
			gpio = <&as3722 4 GPIO_ACTIVE_HIGH>;
			vin-supply = <&vdd_3v3_sys>;
		};
	};

+255 −84

File changed.

Preview size limit exceeded, changes collapsed.

Loading