diff options
Diffstat (limited to 'arch/arm/boot/dts/omap3-beagle.dts')
| -rw-r--r-- | arch/arm/boot/dts/omap3-beagle.dts | 222 | 
1 files changed, 196 insertions, 26 deletions
diff --git a/arch/arm/boot/dts/omap3-beagle.dts b/arch/arm/boot/dts/omap3-beagle.dts index dfd83103657..3c3e6da1dea 100644 --- a/arch/arm/boot/dts/omap3-beagle.dts +++ b/arch/arm/boot/dts/omap3-beagle.dts @@ -24,6 +24,11 @@  		reg = <0x80000000 0x10000000>; /* 256 MB */  	}; +	aliases { +		display0 = &dvi0; +		display1 = &tv0; +	}; +  	leds {  		compatible = "gpio-leds";  		pmu_stat { @@ -44,17 +49,6 @@  		};  	}; -	/* HS USB Port 2 RESET */ -	hsusb2_reset: hsusb2_reset_reg { -		compatible = "regulator-fixed"; -		regulator-name = "hsusb2_reset"; -		regulator-min-microvolt = <3300000>; -		regulator-max-microvolt = <3300000>; -		gpio = <&gpio5 19 0>;	/* gpio_147 */ -		startup-delay-us = <70000>; -		enable-active-high; -	}; -  	/* HS USB Port 2 Power */  	hsusb2_power: hsusb2_power_reg {  		compatible = "regulator-fixed"; @@ -68,10 +62,18 @@  	/* HS USB Host PHY on PORT 2 */  	hsusb2_phy: hsusb2_phy {  		compatible = "usb-nop-xceiv"; -		reset-supply = <&hsusb2_reset>; +		reset-gpios = <&gpio5 19 GPIO_ACTIVE_LOW>;	/* gpio_147 */  		vcc-supply = <&hsusb2_power>;  	}; +	sound { +		compatible = "ti,omap-twl4030"; +		ti,model = "omap3beagle"; + +		ti,mcbsp = <&mcbsp2>; +		ti,codec = <&twl_audio>; +	}; +  	gpio_keys {  		compatible = "gpio-keys"; @@ -83,6 +85,61 @@  		};  	}; + +	tfp410: encoder@0 { +		compatible = "ti,tfp410"; +		powerdown-gpios = <&gpio6 10 GPIO_ACTIVE_LOW>;	/* gpio_170 */ + +		pinctrl-names = "default"; +		pinctrl-0 = <&tfp410_pins>; + +		ports { +			#address-cells = <1>; +			#size-cells = <0>; + +			port@0 { +				reg = <0>; + +				tfp410_in: endpoint@0 { +					remote-endpoint = <&dpi_out>; +				}; +			}; + +			port@1 { +				reg = <1>; + +				tfp410_out: endpoint@0 { +					remote-endpoint = <&dvi_connector_in>; +				}; +			}; +		}; +	}; + +	dvi0: connector@0 { +		compatible = "dvi-connector"; +		label = "dvi"; + +		digital; + +		ddc-i2c-bus = <&i2c3>; + +		port { +			dvi_connector_in: endpoint { +				remote-endpoint = <&tfp410_out>; +			}; +		}; +	}; + +	tv0: connector@1 { +		compatible = "svideo-connector"; +		label = "tv"; + +		port { +			tv_connector_in: endpoint { +				remote-endpoint = <&venc_out>; +			}; +		}; +	};  };  &omap3_pmx_wkup { @@ -96,23 +153,17 @@  &omap3_pmx_core {  	pinctrl-names = "default";  	pinctrl-0 = < -			&hsusbb2_pins +			&hsusb2_pins  	>; -	hsusbb2_pins: pinmux_hsusbb2_pins { +	hsusb2_pins: pinmux_hsusb2_pins {  		pinctrl-single,pins = < -			0x5c0 (PIN_OUTPUT | MUX_MODE3)		/* usbb2_ulpitll_clk.usbb1_ulpiphy_clk */ -			0x5c2 (PIN_OUTPUT | MUX_MODE3)		/* usbb2_ulpitll_clk.usbb1_ulpiphy_stp */ -			0x5c4 (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* usbb2_ulpitll_clk.usbb1_ulpiphy_dir */ -			0x5c6 (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* usbb2_ulpitll_clk.usbb1_ulpiphy_nxt */ -			0x5c8 (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* usbb2_ulpitll_clk.usbb1_ulpiphy_dat0 */ -			0x5cA (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* usbb2_ulpitll_clk.usbb1_ulpiphy_dat1 */ -			0x1a4 (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* usbb2_ulpitll_clk.usbb1_ulpiphy_dat2 */ -			0x1a6 (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* usbb2_ulpitll_clk.usbb1_ulpiphy_dat3 */ -			0x1a8 (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* usbb2_ulpitll_clk.usbb1_ulpiphy_dat4 */ -			0x1aa (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* usbb2_ulpitll_clk.usbb1_ulpiphy_dat5 */ -			0x1ac (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* usbb2_ulpitll_clk.usbb1_ulpiphy_dat6 */ -			0x1ae (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* usbb2_ulpitll_clk.usbb1_ulpiphy_dat7 */ +			OMAP3_CORE1_IOPAD(0x21d4, PIN_INPUT_PULLDOWN | MUX_MODE3)	/* mcspi1_cs3.hsusb2_data2 */ +			OMAP3_CORE1_IOPAD(0x21d6, PIN_INPUT_PULLDOWN | MUX_MODE3)	/* mcspi2_clk.hsusb2_data7 */ +			OMAP3_CORE1_IOPAD(0x21d8, PIN_INPUT_PULLDOWN | MUX_MODE3)	/* mcspi2_simo.hsusb2_data4 */ +			OMAP3_CORE1_IOPAD(0x21da, PIN_INPUT_PULLDOWN | MUX_MODE3)	/* mcspi2_somi.hsusb2_data5 */ +			OMAP3_CORE1_IOPAD(0x21dc, PIN_INPUT_PULLDOWN | MUX_MODE3)	/* mcspi2_cs0.hsusb2_data6 */ +			OMAP3_CORE1_IOPAD(0x21de, PIN_INPUT_PULLDOWN | MUX_MODE3)	/* mcspi2_cs1.hsusb2_data3 */  		>;  	}; @@ -122,6 +173,63 @@  			0x170 (PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */  		>;  	}; + +	tfp410_pins: pinmux_tfp410_pins { +		pinctrl-single,pins = < +			0x194 (PIN_OUTPUT | MUX_MODE4)	/* hdq_sio.gpio_170 */ +		>; +	}; + +	dss_dpi_pins: pinmux_dss_dpi_pins { +		pinctrl-single,pins = < +			0x0a4 (PIN_OUTPUT | MUX_MODE0)   /* dss_pclk.dss_pclk */ +			0x0a6 (PIN_OUTPUT | MUX_MODE0)   /* dss_hsync.dss_hsync */ +			0x0a8 (PIN_OUTPUT | MUX_MODE0)   /* dss_vsync.dss_vsync */ +			0x0aa (PIN_OUTPUT | MUX_MODE0)   /* dss_acbias.dss_acbias */ +			0x0ac (PIN_OUTPUT | MUX_MODE0)   /* dss_data0.dss_data0 */ +			0x0ae (PIN_OUTPUT | MUX_MODE0)   /* dss_data1.dss_data1 */ +			0x0b0 (PIN_OUTPUT | MUX_MODE0)   /* dss_data2.dss_data2 */ +			0x0b2 (PIN_OUTPUT | MUX_MODE0)   /* dss_data3.dss_data3 */ +			0x0b4 (PIN_OUTPUT | MUX_MODE0)   /* dss_data4.dss_data4 */ +			0x0b6 (PIN_OUTPUT | MUX_MODE0)   /* dss_data5.dss_data5 */ +			0x0b8 (PIN_OUTPUT | MUX_MODE0)   /* dss_data6.dss_data6 */ +			0x0ba (PIN_OUTPUT | MUX_MODE0)   /* dss_data7.dss_data7 */ +			0x0bc (PIN_OUTPUT | MUX_MODE0)   /* dss_data8.dss_data8 */ +			0x0be (PIN_OUTPUT | MUX_MODE0)   /* dss_data9.dss_data9 */ +			0x0c0 (PIN_OUTPUT | MUX_MODE0)   /* dss_data10.dss_data10 */ +			0x0c2 (PIN_OUTPUT | MUX_MODE0)   /* dss_data11.dss_data11 */ +			0x0c4 (PIN_OUTPUT | MUX_MODE0)   /* dss_data12.dss_data12 */ +			0x0c6 (PIN_OUTPUT | MUX_MODE0)   /* dss_data13.dss_data13 */ +			0x0c8 (PIN_OUTPUT | MUX_MODE0)   /* dss_data14.dss_data14 */ +			0x0ca (PIN_OUTPUT | MUX_MODE0)   /* dss_data15.dss_data15 */ +			0x0cc (PIN_OUTPUT | MUX_MODE0)   /* dss_data16.dss_data16 */ +			0x0ce (PIN_OUTPUT | MUX_MODE0)   /* dss_data17.dss_data17 */ +			0x0d0 (PIN_OUTPUT | MUX_MODE0)   /* dss_data18.dss_data18 */ +			0x0d2 (PIN_OUTPUT | MUX_MODE0)   /* dss_data19.dss_data19 */ +			0x0d4 (PIN_OUTPUT | MUX_MODE0)   /* dss_data20.dss_data20 */ +			0x0d6 (PIN_OUTPUT | MUX_MODE0)   /* dss_data21.dss_data21 */ +			0x0d8 (PIN_OUTPUT | MUX_MODE0)   /* dss_data22.dss_data22 */ +			0x0da (PIN_OUTPUT | MUX_MODE0)   /* dss_data23.dss_data23 */ +		>; +	}; +}; + +&omap3_pmx_core2 { +	pinctrl-names = "default"; +	pinctrl-0 = < +			&hsusb2_2_pins +	>; + +	hsusb2_2_pins: pinmux_hsusb2_2_pins { +		pinctrl-single,pins = < +			OMAP3430_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3)		/* etk_d10.hsusb2_clk */ +			OMAP3430_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3)		/* etk_d11.hsusb2_stp */ +			OMAP3430_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3)	/* etk_d12.hsusb2_dir */ +			OMAP3430_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3)	/* etk_d13.hsusb2_nxt */ +			OMAP3430_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3)	/* etk_d14.hsusb2_data0 */ +			OMAP3430_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3)	/* etk_d15.hsusb2_data1 */ +		>; +	};  };  &i2c1 { @@ -131,12 +239,22 @@  		reg = <0x48>;  		interrupts = <7>; /* SYS_NIRQ cascaded to intc */  		interrupt-parent = <&intc>; + +		twl_audio: audio { +			compatible = "ti,twl4030-audio"; +			codec { +			}; +		};  	};  };  #include "twl4030.dtsi"  #include "twl4030_omap3.dtsi" +&i2c3 { +	clock-frequency = <100000>; +}; +  &mmc1 {  	vmmc-supply = <&vmmc1>;  	vmmc_aux-supply = <&vsim>; @@ -180,3 +298,55 @@  	pinctrl-names = "default";  	pinctrl-0 = <&gpio1_pins>;  }; + +&usb_otg_hs { +	interface-type = <0>; +	usb-phy = <&usb2_phy>; +	phys = <&usb2_phy>; +	phy-names = "usb2-phy"; +	mode = <3>; +	power = <50>; +}; + +&vaux2 { +	regulator-name = "vdd_ehci"; +	regulator-min-microvolt = <1800000>; +	regulator-max-microvolt = <1800000>; +	regulator-always-on; +}; + +&mcbsp2 { +	status = "okay"; +}; + +/* Needed to power the DPI pins */ +&vpll2 { +	regulator-always-on; +}; + +&dss { +	status = "ok"; + +	pinctrl-names = "default"; +	pinctrl-0 = <&dss_dpi_pins>; + +	port { +		dpi_out: endpoint { +			remote-endpoint = <&tfp410_in>; +			data-lines = <24>; +		}; +	}; +}; + +&venc { +	status = "ok"; + +	vdda-supply = <&vdac>; + +	port { +		venc_out: endpoint { +			remote-endpoint = <&tv_connector_in>; +			ti,channels = <2>; +		}; +	}; +};  | 
