diff options
Diffstat (limited to 'arch/arm/boot/dts/tegra30-cardhu.dts')
| -rw-r--r-- | arch/arm/boot/dts/tegra30-cardhu.dts | 171 | 
1 files changed, 171 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/tegra30-cardhu.dts b/arch/arm/boot/dts/tegra30-cardhu.dts new file mode 100644 index 00000000000..c169bced131 --- /dev/null +++ b/arch/arm/boot/dts/tegra30-cardhu.dts @@ -0,0 +1,171 @@ +/dts-v1/; + +/include/ "tegra30.dtsi" + +/ { +	model = "NVIDIA Tegra30 Cardhu evaluation board"; +	compatible = "nvidia,cardhu", "nvidia,tegra30"; + +	memory { +		reg = <0x80000000 0x40000000>; +	}; + +	pinmux { +		pinctrl-names = "default"; +		pinctrl-0 = <&state_default>; + +		state_default: pinmux { +			sdmmc1_clk_pz0 { +				nvidia,pins = "sdmmc1_clk_pz0"; +				nvidia,function = "sdmmc1"; +				nvidia,pull = <0>; +				nvidia,tristate = <0>; +			}; +			sdmmc1_cmd_pz1 { +				nvidia,pins =	"sdmmc1_cmd_pz1", +						"sdmmc1_dat0_py7", +						"sdmmc1_dat1_py6", +						"sdmmc1_dat2_py5", +						"sdmmc1_dat3_py4"; +				nvidia,function = "sdmmc1"; +				nvidia,pull = <2>; +				nvidia,tristate = <0>; +			}; +			sdmmc4_clk_pcc4 { +				nvidia,pins =	"sdmmc4_clk_pcc4", +						"sdmmc4_rst_n_pcc3"; +				nvidia,function = "sdmmc4"; +				nvidia,pull = <0>; +				nvidia,tristate = <0>; +			}; +			sdmmc4_dat0_paa0 { +				nvidia,pins =	"sdmmc4_dat0_paa0", +						"sdmmc4_dat1_paa1", +						"sdmmc4_dat2_paa2", +						"sdmmc4_dat3_paa3", +						"sdmmc4_dat4_paa4", +						"sdmmc4_dat5_paa5", +						"sdmmc4_dat6_paa6", +						"sdmmc4_dat7_paa7"; +				nvidia,function = "sdmmc4"; +				nvidia,pull = <2>; +				nvidia,tristate = <0>; +			}; +			dap2_fs_pa2 { +				nvidia,pins =	"dap2_fs_pa2", +						"dap2_sclk_pa3", +						"dap2_din_pa4", +						"dap2_dout_pa5"; +				nvidia,function = "i2s1"; +				nvidia,pull = <0>; +				nvidia,tristate = <0>; +			}; +		}; +	}; + +	serial@70006000 { +		status = "okay"; +		clock-frequency = <408000000>; +	}; + +	i2c@7000c000 { +		status = "okay"; +		clock-frequency = <100000>; +	}; + +	i2c@7000c400 { +		status = "okay"; +		clock-frequency = <100000>; +	}; + +	i2c@7000c500 { +		status = "okay"; +		clock-frequency = <100000>; + +		/* ALS and Proximity sensor */ +		isl29028@44 { +			compatible = "isil,isl29028"; +			reg = <0x44>; +			interrupt-parent = <&gpio>; +			interrupts = <88 0x04>; /*gpio PL0 */ +		}; +	}; + +	i2c@7000c700 { +		status = "okay"; +		clock-frequency = <100000>; +	}; + +	i2c@7000d000 { +		status = "okay"; +		clock-frequency = <100000>; + +		wm8903: wm8903@1a { +			compatible = "wlf,wm8903"; +			reg = <0x1a>; +			interrupt-parent = <&gpio>; +			interrupts = <179 0x04>; /* gpio PW3 */ + +			gpio-controller; +			#gpio-cells = <2>; + +			micdet-cfg = <0>; +			micdet-delay = <100>; +			gpio-cfg = <0xffffffff 0xffffffff 0 0xffffffff 0xffffffff>; +		}; + +		tps62361 { +			compatible = "ti,tps62361"; +			reg = <0x60>; + +			regulator-name = "tps62361-vout"; +			regulator-min-microvolt = <500000>; +			regulator-max-microvolt = <1500000>; +			regulator-boot-on; +			regulator-always-on; +			ti,vsel0-state-high; +			ti,vsel1-state-high; +		}; +	}; + +	ahub { +		i2s@70080400 { +			status = "okay"; +		}; +	}; + +	sdhci@78000000 { +		status = "okay"; +		cd-gpios = <&gpio 69 0>; /* gpio PI5 */ +		wp-gpios = <&gpio 155 0>; /* gpio PT3 */ +		power-gpios = <&gpio 31 0>; /* gpio PD7 */ +		bus-width = <4>; +	}; + +	sdhci@78000600 { +		status = "okay"; +		bus-width = <8>; +	}; + +	sound { +		compatible = "nvidia,tegra-audio-wm8903-cardhu", +			     "nvidia,tegra-audio-wm8903"; +		nvidia,model = "NVIDIA Tegra Cardhu"; + +		nvidia,audio-routing = +			"Headphone Jack", "HPOUTR", +			"Headphone Jack", "HPOUTL", +			"Int Spk", "ROP", +			"Int Spk", "RON", +			"Int Spk", "LOP", +			"Int Spk", "LON", +			"Mic Jack", "MICBIAS", +			"IN1L", "Mic Jack"; + +		nvidia,i2s-controller = <&tegra_i2s1>; +		nvidia,audio-codec = <&wm8903>; + +		nvidia,spkr-en-gpios = <&wm8903 2 0>; +		nvidia,hp-det-gpios = <&gpio 178 0>; /* gpio PW2 */ +	}; +};  |