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

Commit 8caec0d0 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge branch 'for-3.6/dt' of...

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

This branch contains changes to Tegra device tree files, and related
Kconfig and Makefile changes. Highlights are:

* New support for the Whistler board.
* Use of the I2C pinctrl-based bus mux on Seaboard/Springbank.

This branch is based on Tegra's for-3.6/cleanup branch from a previous
pull request.

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

:
  ARM: dt: tegra seaboard: move battery monitor to mux'd I2C bus.
  ARM: dt: tegra: seaboard: instantiate pinctrl-based I2C bus mux
  ARM: dt: tegra: add Whistler device tree file

Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 1f2bbf31 0879c5f7
Loading
Loading
Loading
Loading
+69 −16
Original line number Diff line number Diff line
@@ -64,11 +64,6 @@
				nvidia,pins = "dap4";
				nvidia,function = "dap4";
			};
			ddc {
				nvidia,pins = "ddc", "owc", "spdi", "spdo",
					"uac";
				nvidia,function = "rsvd2";
			};
			dta {
				nvidia,pins = "dta", "dtb", "dtc", "dtd", "dte";
				nvidia,function = "vi";
@@ -129,14 +124,14 @@
					"lspi", "lvp1", "lvs";
				nvidia,function = "displaya";
			};
			owc {
				nvidia,pins = "owc", "spdi", "spdo", "uac";
				nvidia,function = "rsvd2";
			};
			pmc {
				nvidia,pins = "pmc";
				nvidia,function = "pwr_on";
			};
			pta {
				nvidia,pins = "pta";
				nvidia,function = "i2c2";
			};
			rm {
				nvidia,pins = "rm";
				nvidia,function = "i2c1";
@@ -176,7 +171,7 @@
			conf_ata {
				nvidia,pins = "ata", "atb", "atc", "atd",
					"cdev1", "cdev2", "dap1", "dap2",
					"dap4", "dtf", "gma", "gmc", "gmd",
					"dap4", "ddc", "dtf", "gma", "gmc", "gmd",
					"gme", "gpu", "gpu7", "i2cp", "irrx",
					"irtx", "pta", "rm", "sdc", "sdd",
					"slxd", "slxk", "spdi", "spdo", "uac",
@@ -185,7 +180,7 @@
				nvidia,tristate = <0>;
			};
			conf_ate {
				nvidia,pins = "ate", "csus", "dap3", "ddc",
				nvidia,pins = "ate", "csus", "dap3",
					"gpv", "owc", "slxc", "spib", "spid",
					"spie";
				nvidia,pull = <0>;
@@ -255,6 +250,39 @@
				nvidia,slew-rate-falling = <3>;
			};
		};

		state_i2cmux_ddc: pinmux_i2cmux_ddc {
			ddc {
				nvidia,pins = "ddc";
				nvidia,function = "i2c2";
			};
			pta {
				nvidia,pins = "pta";
				nvidia,function = "rsvd4";
			};
		};

		state_i2cmux_pta: pinmux_i2cmux_pta {
			ddc {
				nvidia,pins = "ddc";
				nvidia,function = "rsvd4";
			};
			pta {
				nvidia,pins = "pta";
				nvidia,function = "i2c2";
			};
		};

		state_i2cmux_idle: pinmux_i2cmux_idle {
			ddc {
				nvidia,pins = "ddc";
				nvidia,function = "rsvd4";
			};
			pta {
				nvidia,pins = "pta";
				nvidia,function = "rsvd4";
			};
		};
	};

	i2s@70002800 {
@@ -303,6 +331,30 @@
	i2c@7000c400 {
		status = "okay";
		clock-frequency = <100000>;
	};

	i2cmux {
		compatible = "i2c-mux-pinctrl";
		#address-cells = <1>;
		#size-cells = <0>;

		i2c-parent = <&{/i2c@7000c400}>;

		pinctrl-names = "ddc", "pta", "idle";
		pinctrl-0 = <&state_i2cmux_ddc>;
		pinctrl-1 = <&state_i2cmux_pta>;
		pinctrl-2 = <&state_i2cmux_idle>;

		i2c@0 {
			reg = <0>;
			#address-cells = <1>;
			#size-cells = <0>;
		};

		i2c@1 {
			reg = <1>;
			#address-cells = <1>;
			#size-cells = <0>;

			smart-battery@b {
				compatible = "ti,bq20z75", "smart-battery-1.1";
@@ -311,6 +363,7 @@
				ti,poll-retry-count = <10>;
			};
		};
	};

	i2c@7000c500 {
		status = "okay";
+301 −0
Original line number Diff line number Diff line
/dts-v1/;

/include/ "tegra20.dtsi"

/ {
	model = "NVIDIA Tegra2 Whistler evaluation board";
	compatible = "nvidia,whistler", "nvidia,tegra20";

	memory {
		reg = <0x00000000 0x20000000>;
	};

	pinmux {
		pinctrl-names = "default";
		pinctrl-0 = <&state_default>;

		state_default: pinmux {
			ata {
				nvidia,pins = "ata", "atb", "ate", "gma", "gmb",
					"gmc", "gmd", "gpu";
				nvidia,function = "gmi";
			};
			atc {
				nvidia,pins = "atc", "atd";
				nvidia,function = "sdio4";
			};
			cdev1 {
				nvidia,pins = "cdev1";
				nvidia,function = "plla_out";
			};
			cdev2 {
				nvidia,pins = "cdev2";
				nvidia,function = "osc";
			};
			crtp {
				nvidia,pins = "crtp";
				nvidia,function = "crt";
			};
			csus {
				nvidia,pins = "csus";
				nvidia,function = "vi_sensor_clk";
			};
			dap1 {
				nvidia,pins = "dap1";
				nvidia,function = "dap1";
			};
			dap2 {
				nvidia,pins = "dap2";
				nvidia,function = "dap2";
			};
			dap3 {
				nvidia,pins = "dap3";
				nvidia,function = "dap3";
			};
			dap4 {
				nvidia,pins = "dap4";
				nvidia,function = "dap4";
			};
			ddc {
				nvidia,pins = "ddc";
				nvidia,function = "i2c2";
			};
			dta {
				nvidia,pins = "dta", "dtb", "dtc", "dtd";
				nvidia,function = "vi";
			};
			dte {
				nvidia,pins = "dte";
				nvidia,function = "rsvd1";
			};
			dtf {
				nvidia,pins = "dtf";
				nvidia,function = "i2c3";
			};
			gme {
				nvidia,pins = "gme";
				nvidia,function = "dap5";
			};
			gpu7 {
				nvidia,pins = "gpu7";
				nvidia,function = "rtck";
			};
			gpv {
				nvidia,pins = "gpv";
				nvidia,function = "pcie";
			};
			hdint {
				nvidia,pins = "hdint", "pta";
				nvidia,function = "hdmi";
			};
			i2cp {
				nvidia,pins = "i2cp";
				nvidia,function = "i2cp";
			};
			irrx {
				nvidia,pins = "irrx", "irtx";
				nvidia,function = "uartb";
			};
			kbca {
				nvidia,pins = "kbca", "kbcc", "kbce", "kbcf";
				nvidia,function = "kbc";
			};
			kbcb {
				nvidia,pins = "kbcb", "kbcd";
				nvidia,function = "sdio2";
			};
			lcsn {
				nvidia,pins = "lcsn", "lsck", "lsda", "lsdi",
					"spia", "spib", "spic";
				nvidia,function = "spi3";
			};
			ld0 {
				nvidia,pins = "ld0", "ld1", "ld2", "ld3", "ld4",
					"ld5", "ld6", "ld7", "ld8", "ld9",
					"ld10", "ld11", "ld12", "ld13", "ld14",
					"ld15", "ld16", "ld17", "ldc", "ldi",
					"lhp0", "lhp1", "lhp2", "lhs", "lm0",
					"lm1", "lpp", "lpw0", "lpw1", "lpw2",
					"lsc0", "lsc1", "lspi", "lvp0", "lvp1",
					"lvs";
				nvidia,function = "displaya";
			};
			owc {
				nvidia,pins = "owc", "uac";
				nvidia,function = "owr";
			};
			pmc {
				nvidia,pins = "pmc";
				nvidia,function = "pwr_on";
			};
			rm {
				nvidia,pins = "rm";
				nvidia,function = "i2c1";
			};
			sdb {
				nvidia,pins = "sdb", "sdc", "sdd", "slxa",
					"slxc", "slxd", "slxk";
				nvidia,function = "sdio3";
			};
			sdio1 {
				nvidia,pins = "sdio1";
				nvidia,function = "sdio1";
			};
			spdi {
				nvidia,pins = "spdi", "spdo";
				nvidia,function = "rsvd2";
			};
			spid {
				nvidia,pins = "spid", "spie", "spig", "spih";
				nvidia,function = "spi2_alt";
			};
			spif {
				nvidia,pins = "spif";
				nvidia,function = "spi2";
			};
			uaa {
				nvidia,pins = "uaa", "uab";
				nvidia,function = "uarta";
			};
			uad {
				nvidia,pins = "uad";
				nvidia,function = "irda";
			};
			uca {
				nvidia,pins = "uca", "ucb";
				nvidia,function = "uartc";
			};
			uda {
				nvidia,pins = "uda";
				nvidia,function = "spi1";
			};
			conf_ata {
				nvidia,pins = "ata", "atb", "atc", "ddc", "gma",
					"gmb", "gmc", "gmd", "irrx", "irtx",
					"kbca", "kbcb", "kbcc", "kbcd", "kbce",
					"kbcf", "sdc", "sdd", "spie", "spig",
					"spih", "uaa", "uab", "uad", "uca",
					"ucb";
				nvidia,pull = <2>;
				nvidia,tristate = <0>;
			};
			conf_atd {
				nvidia,pins = "atd", "ate", "cdev1", "csus",
					"dap1", "dap2", "dap3", "dap4", "dte",
					"dtf", "gpu", "gpu7", "gpv", "i2cp",
					"rm", "sdio1", "slxa", "slxc", "slxd",
					"slxk", "spdi", "spdo", "uac", "uda";
				nvidia,pull = <0>;
				nvidia,tristate = <0>;
			};
			conf_cdev2 {
				nvidia,pins = "cdev2", "spia", "spib";
				nvidia,pull = <1>;
				nvidia,tristate = <1>;
			};
			conf_ck32 {
				nvidia,pins = "ck32", "ddrc", "lc", "pmca",
					"pmcb", "pmcc", "pmcd", "xm2c",
					"xm2d";
				nvidia,pull = <0>;
			};
			conf_crtp {
				nvidia,pins = "crtp";
				nvidia,pull = <0>;
				nvidia,tristate = <1>;
			};
			conf_dta {
				nvidia,pins = "dta", "dtb", "dtc", "dtd",
					"spid", "spif";
				nvidia,pull = <1>;
				nvidia,tristate = <0>;
			};
			conf_gme {
				nvidia,pins = "gme", "owc", "pta", "spic";
				nvidia,pull = <2>;
				nvidia,tristate = <1>;
			};
			conf_ld17_0 {
				nvidia,pins = "ld17_0", "ld19_18", "ld21_20",
					"ld23_22";
				nvidia,pull = <1>;
			};
			conf_ls {
				nvidia,pins = "ls", "pmce";
				nvidia,pull = <2>;
			};
			drive_dap1 {
				nvidia,pins = "drive_dap1";
				nvidia,high-speed-mode = <0>;
				nvidia,schmitt = <1>;
				nvidia,low-power-mode = <0>;
				nvidia,pull-down-strength = <0>;
				nvidia,pull-up-strength = <0>;
				nvidia,slew-rate-rising = <0>;
				nvidia,slew-rate-falling = <0>;
			};
		};
	};

	i2s@70002800 {
		status = "okay";
	};

	serial@70006000 {
		status = "okay";
		clock-frequency = <216000000>;
	};

	i2c@7000d000 {
		status = "okay";
		clock-frequency = <100000>;

		codec: codec@1a {
			compatible = "wlf,wm8753";
			reg = <0x1a>;
		};

		tca6416: gpio@20 {
			compatible = "ti,tca6416";
			reg = <0x20>;
			gpio-controller;
			#gpio-cells = <2>;
		};
	};

	usb@c5000000 {
		status = "okay";
		nvidia,vbus-gpio = <&tca6416 0 0>; /* GPIO_PMU0 */
	};

	usb@c5008000 {
		status = "okay";
		nvidia,vbus-gpio = <&tca6416 1 0>; /* GPIO_PMU1 */
	};

	sdhci@c8000400 {
		status = "okay";
		wp-gpios = <&gpio 173 0>; /* gpio PV5 */
		bus-width = <8>;
	};

	sdhci@c8000600 {
		status = "okay";
		bus-width = <8>;
	};

	sound {
		compatible = "nvidia,tegra-audio-wm8753-whistler",
			     "nvidia,tegra-audio-wm8753";
		nvidia,model = "NVIDIA Tegra Whistler";

		nvidia,audio-routing =
			"Headphone Jack", "LOUT1",
			"Headphone Jack", "ROUT1",
			"MIC2", "Mic Jack",
			"MIC2N", "Mic Jack";

		nvidia,i2s-controller = <&tegra_i2s1>;
		nvidia,audio-codec = <&codec>;
	};
};
+1 −0
Original line number Diff line number Diff line
@@ -7,4 +7,5 @@ dtb-$(CONFIG_MACH_PAZ00) += tegra20-paz00.dtb
dtb-$(CONFIG_MACH_SEABOARD) += tegra20-seaboard.dtb
dtb-$(CONFIG_MACH_TRIMSLICE) += tegra20-trimslice.dtb
dtb-$(CONFIG_MACH_VENTANA) += tegra20-ventana.dtb
dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-whistler.dtb
dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu.dtb