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

Commit 1fa5fcda authored by Kevin Hilman's avatar Kevin Hilman
Browse files

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

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

From: Stephen Warren:
ARM: tegra: device tree changes for 3.12

This branch contains all *.dts (device tree) changes for Tegra.
New features enabled are:

* PMICs on Dalmore
* CPU power-gating on Dalmore
* HDMI output on Beaver
* LP1 system suspend mode on almost all boards
* PCIe support on numerous Tegra20/30 boards
* USB support on Tegra30/114 boards
* Audio capture on Beaver and Dalmore
* Temperature sensor on Cardhu.

... along with a few DT cleanups.

* tag 'tegra-for-3.12-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra: (25 commits)
  ARM: tegra: add Mic Jack to Dalmore device tree
  ARM: tegra: add Mic Jack to Beaver device tree
  ARM: tegra: add USB DT entries for Tegra114, Dalmore
  ARM: tegra: add USB DT entries for Tegra30
  ARM: dts: tegra: Increase prefetchable PCI memory space
  ARM: tegra: Fix Beaver's PCIe lane configuration
  ARM: tegra: Enable PCIe controller on Beaver
  ARM: tegra: Enable PCIe controller on Cardhu
  ARM: tegra: Add Tegra30 PCIe support
  ARM: tegra: trimslice: Initialize PCIe from DT
  ARM: tegra: harmony: Initialize PCIe from DT
  ARM: tegra: tec: Add PCIe support
  ARM: tegra: tamonten: Add PCIe support
  ARM: tegra: Add Tegra20 PCIe support to DT
  ARM: tegra: enable LP1 suspend mode
  ARM: tegra: beaver: Enable HDMI output
  ARM: tegra: use TEGRA_GPIO() in a couple more places
  ARM: tegra: dalmore: fix the irq trigger type of Palmas MFD device
  ARM: tegra: define valid function names in DT document
  ARM: tegra: dalmore: add PM configurations for PMC
  ...
parents 4cb635d7 8af3bbec
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -80,6 +80,17 @@ Valid values for pin and group names are:
    dbg, sdio3, spi, uaa, uab, uart2, uart3, sdio1, ddc, gma, gme, gmf, gmg,
    gmh, owr, uda.

Valid values for nvidia,functions are:

  blink, cec, cldvfs, clk12, cpu, dap, dap1, dap2, dev3, displaya,
  displaya_alt, displayb, dtv, emc_dll, extperiph1, extperiph2,
  extperiph3, gmi, gmi_alt, hda, hsi, i2c1, i2c2, i2c3, i2c4, i2cpwr,
  i2s0, i2s1, i2s2, i2s3, i2s4, irda, kbc, nand, nand_alt, owr, pmi,
  pwm0, pwm1, pwm2, pwm3, pwron, reset_out_n, rsvd1, rsvd2, rsvd3,
  rsvd4, sdmmc1, sdmmc2, sdmmc3, sdmmc4, soc, spdif, spi1, spi2, spi3,
  spi4, spi5, spi6, sysclk, trace, uarta, uartb, uartc, uartd, ulpi,
  usb, vgp1, vgp2, vgp3, vgp4, vgp5, vgp6, vi, vi_alt1, vi_alt3

Example:

	pinmux: pinmux {
+11 −0
Original line number Diff line number Diff line
@@ -103,6 +103,17 @@ Valid values for pin and group names are:
    drive_gma, drive_gmb, drive_gmc, drive_gmd, drive_gme, drive_owr,
    drive_uda.

Valid values for nvidia,functions are:

  ahb_clk, apb_clk, audio_sync, crt, dap1, dap2, dap3, dap4, dap5,
  displaya, displayb, emc_test0_dll, emc_test1_dll, gmi, gmi_int,
  hdmi, i2cp, i2c1, i2c2, i2c3, ide, irda, kbc, mio, mipi_hs, nand,
  osc, owr, pcie, plla_out, pllc_out1, pllm_out1, pllp_out2, pllp_out3,
  pllp_out4, pwm, pwr_intr, pwr_on, rsvd1, rsvd2, rsvd3, rsvd4, rtck,
  sdio1, sdio2, sdio3, sdio4, sflash, spdif, spi1, spi2, spi2_alt,
  spi3, spi4, trace, twc, uarta, uartb, uartc, uartd, uarte, ulpi,
  vi, vi_sensor_clk, xio

Example:

	pinctrl@70000000 {
+12 −0
Original line number Diff line number Diff line
@@ -91,6 +91,18 @@ Valid values for pin and group names are:
    gmh, gpv, lcd1, lcd2, owr, sdio1, sdio2, sdio3, spi, uaa, uab, uart2,
    uart3, uda, vi1.

Valid values for nvidia,functions are:

  blink, cec, clk_12m_out, clk_32k_in, core_pwr_req, cpu_pwr_req, crt,
  dap, ddr, dev3, displaya, displayb, dtv, extperiph1, extperiph2,
  extperiph3, gmi, gmi_alt, hda, hdcp, hdmi, hsi, i2c1, i2c2, i2c3,
  i2c4, i2cpwr, i2s0, i2s1, i2s2, i2s3, i2s4, invalid, kbc, mio, nand,
  nand_alt, owr, pcie, pwm0, pwm1, pwm2, pwm3, pwr_int_n, rsvd1, rsvd2,
  rsvd3, rsvd4, rtck, sata, sdmmc1, sdmmc2, sdmmc3, sdmmc4, spdif, spi1,
  spi2, spi2_alt, spi3, spi4, spi5, spi6, sysclk, test, trace, uarta,
  uartb, uartc, uartd, uarte, ulpi, vgp1, vgp2, vgp3, vgp4, vgp5, vgp6,
  vi, vi_alt1, vi_alt2, vi_alt3

Example:

	pinctrl@70000000 {
+1 −2
Original line number Diff line number Diff line
@@ -226,8 +226,7 @@ dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \
	tegra30-beaver.dtb \
	tegra30-cardhu-a02.dtb \
	tegra30-cardhu-a04.dtb \
	tegra114-dalmore.dtb \
	tegra114-pluto.dtb
	tegra114-dalmore.dtb
dtb-$(CONFIG_ARCH_VERSATILE) += versatile-ab.dtb \
	versatile-pb.dtb
dtb-$(CONFIG_ARCH_U300) += ste-u300.dtb
+233 −2
Original line number Diff line number Diff line
@@ -791,7 +791,7 @@
					regulator-boot-on;
				};

				dcdc3 {
				tps65090_dcdc3_reg: dcdc3 {
					regulator-name = "vdd-ao";
					regulator-always-on;
					regulator-boot-on;
@@ -836,6 +836,180 @@
				};
			};
		};

		palmas: tps65913 {
			compatible = "ti,palmas";
			reg = <0x58>;
			interrupts = <0 86 IRQ_TYPE_LEVEL_LOW>;

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

			palmas_gpio: gpio {
				compatible = "ti,palmas-gpio";
				gpio-controller;
				#gpio-cells = <2>;
			};

			pmic {
				compatible = "ti,tps65913-pmic", "ti,palmas-pmic";
				smps1-in-supply = <&tps65090_dcdc3_reg>;
				smps3-in-supply = <&tps65090_dcdc3_reg>;
				smps4-in-supply = <&tps65090_dcdc2_reg>;
				smps7-in-supply = <&tps65090_dcdc2_reg>;
				smps8-in-supply = <&tps65090_dcdc2_reg>;
				smps9-in-supply = <&tps65090_dcdc2_reg>;
				ldo1-in-supply = <&tps65090_dcdc2_reg>;
				ldo2-in-supply = <&tps65090_dcdc2_reg>;
				ldo3-in-supply = <&palmas_smps3_reg>;
				ldo4-in-supply = <&tps65090_dcdc2_reg>;
				ldo5-in-supply = <&vdd_ac_bat_reg>;
				ldo6-in-supply = <&tps65090_dcdc2_reg>;
				ldo7-in-supply = <&tps65090_dcdc2_reg>;
				ldo8-in-supply = <&tps65090_dcdc3_reg>;
				ldo9-in-supply = <&palmas_smps9_reg>;
				ldoln-in-supply = <&tps65090_dcdc1_reg>;
				ldousb-in-supply = <&tps65090_dcdc1_reg>;

				regulators {
					smps12 {
						regulator-name = "vddio-ddr";
						regulator-min-microvolt = <1350000>;
						regulator-max-microvolt = <1350000>;
						regulator-always-on;
						regulator-boot-on;
					};

					palmas_smps3_reg: smps3 {
						regulator-name = "vddio-1v8";
						regulator-min-microvolt = <1800000>;
						regulator-max-microvolt = <1800000>;
						regulator-always-on;
						regulator-boot-on;
					};

					smps45 {
						regulator-name = "vdd-core";
						regulator-min-microvolt = <900000>;
						regulator-max-microvolt = <1400000>;
						regulator-always-on;
						regulator-boot-on;
					};

					smps457 {
						regulator-name = "vdd-core";
						regulator-min-microvolt = <900000>;
						regulator-max-microvolt = <1400000>;
						regulator-always-on;
						regulator-boot-on;
					};

					smps8 {
						regulator-name = "avdd-pll";
						regulator-min-microvolt = <1050000>;
						regulator-max-microvolt = <1050000>;
						regulator-always-on;
						regulator-boot-on;
					};

					palmas_smps9_reg: smps9 {
						regulator-name = "sdhci-vdd-sd-slot";
						regulator-min-microvolt = <2800000>;
						regulator-max-microvolt = <2800000>;
						regulator-always-on;
					};

					ldo1 {
						regulator-name = "avdd-cam1";
						regulator-min-microvolt = <2800000>;
						regulator-max-microvolt = <2800000>;
					};

					ldo2 {
						regulator-name = "avdd-cam2";
						regulator-min-microvolt = <2800000>;
						regulator-max-microvolt = <2800000>;
					};

					ldo3 {
						regulator-name = "avdd-dsi-csi";
						regulator-min-microvolt = <1200000>;
						regulator-max-microvolt = <1200000>;
						regulator-always-on;
						regulator-boot-on;
					};

					ldo4 {
						regulator-name = "vpp-fuse";
						regulator-min-microvolt = <1800000>;
						regulator-max-microvolt = <1800000>;
					};

					ldo6 {
						regulator-name = "vdd-sensor-2v85";
						regulator-min-microvolt = <2850000>;
						regulator-max-microvolt = <2850000>;
					};

					ldo7 {
						regulator-name = "vdd-af-cam1";
						regulator-min-microvolt = <2800000>;
						regulator-max-microvolt = <2800000>;
					};

					ldo8 {
						regulator-name = "vdd-rtc";
						regulator-min-microvolt = <900000>;
						regulator-max-microvolt = <900000>;
						regulator-always-on;
						regulator-boot-on;
						ti,enable-ldo8-tracking;
					};

					ldo9 {
						regulator-name = "vddio-sdmmc-2";
						regulator-min-microvolt = <1800000>;
						regulator-max-microvolt = <3300000>;
						regulator-always-on;
						regulator-boot-on;
					};

					ldoln {
						regulator-name = "hvdd-usb";
						regulator-min-microvolt = <3300000>;
						regulator-max-microvolt = <3300000>;
					};

					ldousb {
						regulator-name = "avdd-usb";
						regulator-min-microvolt = <3300000>;
						regulator-max-microvolt = <3300000>;
						regulator-always-on;
						regulator-boot-on;
					};

					regen1 {
						regulator-name = "rail-3v3";
						regulator-max-microvolt = <3300000>;
						regulator-always-on;
						regulator-boot-on;
					};

					regen2 {
						regulator-name = "rail-5v0";
						regulator-max-microvolt = <5000000>;
						regulator-always-on;
						regulator-boot-on;
					};
				};
			};

			rtc {
				compatible = "ti,palmas-rtc";
				interrupt-parent = <&palmas>;
				interrupts = <8 0>;
			};
		};
	};

	spi@7000da00 {
@@ -850,6 +1024,13 @@

	pmc {
		nvidia,invert-interrupt;
		nvidia,suspend-mode = <1>;
		nvidia,cpu-pwr-good-time = <500>;
		nvidia,cpu-pwr-off-time = <300>;
		nvidia,core-pwr-good-time = <641 3845>;
		nvidia,core-pwr-off-time = <61036>;
		nvidia,core-power-req-active-high;
		nvidia,sys-clock-req-active-high;
	};

	ahub {
@@ -870,6 +1051,15 @@
		non-removable;
	};

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

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

	clocks {
		compatible = "simple-bus";
		#address-cells = <1>;
@@ -883,6 +1073,35 @@
		};
	};

	gpio-keys {
		compatible = "gpio-keys";

		home {
			label = "Home";
			gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>;
			linux,code = <102>; /* KEY_HOME */
		};

		power {
			label = "Power";
			gpios = <&gpio TEGRA_GPIO(Q, 0) GPIO_ACTIVE_LOW>;
			linux,code = <116>; /* KEY_POWER */
			gpio-key,wakeup;
		};

		volume_down {
			label = "Volume Down";
			gpios = <&gpio TEGRA_GPIO(R, 1) GPIO_ACTIVE_LOW>;
			linux,code = <114>; /* KEY_VOLUMEDOWN */
		};

		volume_up {
			label = "Volume Up";
			gpios = <&gpio TEGRA_GPIO(R, 2) GPIO_ACTIVE_LOW>;
			linux,code = <115>; /* KEY_VOLUMEUP */
		};
	};

	regulators {
		compatible = "simple-bus";
		#address-cells = <1>;
@@ -951,6 +1170,16 @@
			gpio = <&gpio TEGRA_GPIO(K, 1) GPIO_ACTIVE_HIGH>;
			vin-supply = <&tps65090_dcdc1_reg>;
		};

		vdd_cam_1v8_reg: regulator@6 {
			compatible = "regulator-fixed";
			reg = <6>;
			regulator-name = "vdd_cam_1v8_reg";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			enable-active-high;
			gpio = <&palmas_gpio 6 0>;
		};
	};

	sound {
@@ -964,7 +1193,9 @@
			"Speakers", "SPORP",
			"Speakers", "SPORN",
			"Speakers", "SPOLP",
			"Speakers", "SPOLN";
			"Speakers", "SPOLN",
			"Mic Jack", "MICBIAS1",
			"IN2P", "Mic Jack";

		nvidia,i2s-controller = <&tegra_i2s1>;
		nvidia,audio-codec = <&rt5640>;
Loading