forked from Minki/linux
de10e04e8c
This patch connects IPU and and parallel display device tree nodes using the OF graph bindings described in Documentation/devicetree/bindings/media/video-interfaces.txt The IPU ports correspond to the two display interfaces. The order of endpoints in the ports is arbitrary. Since the imx-drm node now only needs to contain links to the display interfaces, it can be moved to the SoC dtsi level. At the board level, only connections between the display interface ports and panels have to be added. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
365 lines
7.3 KiB
Plaintext
365 lines
7.3 KiB
Plaintext
/*
|
|
* Copyright 2011 Freescale Semiconductor, Inc.
|
|
* Copyright 2011 Linaro Ltd.
|
|
*
|
|
* The code contained herein is licensed under the GNU General Public
|
|
* License. You may obtain a copy of the GNU General Public License
|
|
* Version 2 or later at the following locations:
|
|
*
|
|
* http://www.opensource.org/licenses/gpl-license.html
|
|
* http://www.gnu.org/copyleft/gpl.html
|
|
*/
|
|
|
|
/dts-v1/;
|
|
#include "imx51.dtsi"
|
|
|
|
/ {
|
|
model = "Freescale i.MX51 Babbage Board";
|
|
compatible = "fsl,imx51-babbage", "fsl,imx51";
|
|
|
|
memory {
|
|
reg = <0x90000000 0x20000000>;
|
|
};
|
|
|
|
display0: display@di0 {
|
|
compatible = "fsl,imx-parallel-display";
|
|
interface-pix-fmt = "rgb24";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_ipu_disp1_1>;
|
|
display-timings {
|
|
native-mode = <&timing0>;
|
|
timing0: dvi {
|
|
clock-frequency = <65000000>;
|
|
hactive = <1024>;
|
|
vactive = <768>;
|
|
hback-porch = <220>;
|
|
hfront-porch = <40>;
|
|
vback-porch = <21>;
|
|
vfront-porch = <7>;
|
|
hsync-len = <60>;
|
|
vsync-len = <10>;
|
|
};
|
|
};
|
|
|
|
port {
|
|
display0_in: endpoint {
|
|
remote-endpoint = <&ipu_di0_disp0>;
|
|
};
|
|
};
|
|
};
|
|
|
|
display1: display@di1 {
|
|
compatible = "fsl,imx-parallel-display";
|
|
interface-pix-fmt = "rgb565";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_ipu_disp2_1>;
|
|
status = "disabled";
|
|
display-timings {
|
|
native-mode = <&timing1>;
|
|
timing1: claawvga {
|
|
clock-frequency = <27000000>;
|
|
hactive = <800>;
|
|
vactive = <480>;
|
|
hback-porch = <40>;
|
|
hfront-porch = <60>;
|
|
vback-porch = <10>;
|
|
vfront-porch = <10>;
|
|
hsync-len = <20>;
|
|
vsync-len = <10>;
|
|
hsync-active = <0>;
|
|
vsync-active = <0>;
|
|
de-active = <1>;
|
|
pixelclk-active = <0>;
|
|
};
|
|
};
|
|
|
|
port {
|
|
display1_in: endpoint {
|
|
remote-endpoint = <&ipu_di1_disp1>;
|
|
};
|
|
};
|
|
};
|
|
|
|
gpio-keys {
|
|
compatible = "gpio-keys";
|
|
|
|
power {
|
|
label = "Power Button";
|
|
gpios = <&gpio2 21 0>;
|
|
linux,code = <116>; /* KEY_POWER */
|
|
gpio-key,wakeup;
|
|
};
|
|
};
|
|
|
|
sound {
|
|
compatible = "fsl,imx51-babbage-sgtl5000",
|
|
"fsl,imx-audio-sgtl5000";
|
|
model = "imx51-babbage-sgtl5000";
|
|
ssi-controller = <&ssi2>;
|
|
audio-codec = <&sgtl5000>;
|
|
audio-routing =
|
|
"MIC_IN", "Mic Jack",
|
|
"Mic Jack", "Mic Bias",
|
|
"Headphone Jack", "HP_OUT";
|
|
mux-int-port = <2>;
|
|
mux-ext-port = <3>;
|
|
};
|
|
|
|
clocks {
|
|
ckih1 {
|
|
clock-frequency = <22579200>;
|
|
};
|
|
|
|
clk_26M: codec_clock {
|
|
compatible = "fixed-clock";
|
|
reg=<0>;
|
|
#clock-cells = <0>;
|
|
clock-frequency = <26000000>;
|
|
gpios = <&gpio4 26 1>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&esdhc1 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_esdhc1_1>;
|
|
fsl,cd-controller;
|
|
fsl,wp-controller;
|
|
status = "okay";
|
|
};
|
|
|
|
&esdhc2 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_esdhc2_1>;
|
|
cd-gpios = <&gpio1 6 0>;
|
|
wp-gpios = <&gpio1 5 0>;
|
|
status = "okay";
|
|
};
|
|
|
|
&uart3 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_uart3_1 &pinctrl_uart3_rtscts_1>;
|
|
fsl,uart-has-rtscts;
|
|
status = "okay";
|
|
};
|
|
|
|
&ecspi1 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_ecspi1_1>;
|
|
fsl,spi-num-chipselects = <2>;
|
|
cs-gpios = <&gpio4 24 0>, <&gpio4 25 0>;
|
|
status = "okay";
|
|
|
|
pmic: mc13892@0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
compatible = "fsl,mc13892";
|
|
spi-max-frequency = <6000000>;
|
|
spi-cs-high;
|
|
reg = <0>;
|
|
interrupt-parent = <&gpio1>;
|
|
interrupts = <8 0x4>;
|
|
|
|
regulators {
|
|
sw1_reg: sw1 {
|
|
regulator-min-microvolt = <600000>;
|
|
regulator-max-microvolt = <1375000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
sw2_reg: sw2 {
|
|
regulator-min-microvolt = <900000>;
|
|
regulator-max-microvolt = <1850000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
sw3_reg: sw3 {
|
|
regulator-min-microvolt = <1100000>;
|
|
regulator-max-microvolt = <1850000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
sw4_reg: sw4 {
|
|
regulator-min-microvolt = <1100000>;
|
|
regulator-max-microvolt = <1850000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vpll_reg: vpll {
|
|
regulator-min-microvolt = <1050000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vdig_reg: vdig {
|
|
regulator-min-microvolt = <1650000>;
|
|
regulator-max-microvolt = <1650000>;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
vsd_reg: vsd {
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3150000>;
|
|
};
|
|
|
|
vusb2_reg: vusb2 {
|
|
regulator-min-microvolt = <2400000>;
|
|
regulator-max-microvolt = <2775000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vvideo_reg: vvideo {
|
|
regulator-min-microvolt = <2775000>;
|
|
regulator-max-microvolt = <2775000>;
|
|
};
|
|
|
|
vaudio_reg: vaudio {
|
|
regulator-min-microvolt = <2300000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
};
|
|
|
|
vcam_reg: vcam {
|
|
regulator-min-microvolt = <2500000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
};
|
|
|
|
vgen1_reg: vgen1 {
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
};
|
|
|
|
vgen2_reg: vgen2 {
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <3150000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vgen3_reg: vgen3 {
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <2900000>;
|
|
regulator-always-on;
|
|
};
|
|
};
|
|
};
|
|
|
|
flash: at45db321d@1 {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "atmel,at45db321d", "atmel,at45", "atmel,dataflash";
|
|
spi-max-frequency = <25000000>;
|
|
reg = <1>;
|
|
|
|
partition@0 {
|
|
label = "U-Boot";
|
|
reg = <0x0 0x40000>;
|
|
read-only;
|
|
};
|
|
|
|
partition@40000 {
|
|
label = "Kernel";
|
|
reg = <0x40000 0x3c0000>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&ipu_di0_disp0 {
|
|
remote-endpoint = <&display0_in>;
|
|
};
|
|
|
|
&ipu_di1_disp1 {
|
|
remote-endpoint = <&display1_in>;
|
|
};
|
|
|
|
&ssi2 {
|
|
fsl,mode = "i2s-slave";
|
|
status = "okay";
|
|
};
|
|
|
|
&iomuxc {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_hog>;
|
|
|
|
hog {
|
|
pinctrl_hog: hoggrp {
|
|
fsl,pins = <
|
|
MX51_PAD_GPIO1_0__SD1_CD 0x20d5
|
|
MX51_PAD_GPIO1_1__SD1_WP 0x20d5
|
|
MX51_PAD_GPIO1_5__GPIO1_5 0x100
|
|
MX51_PAD_GPIO1_6__GPIO1_6 0x100
|
|
MX51_PAD_EIM_A27__GPIO2_21 0x5
|
|
MX51_PAD_CSPI1_SS0__GPIO4_24 0x85
|
|
MX51_PAD_CSPI1_SS1__GPIO4_25 0x85
|
|
MX51_PAD_CSPI1_RDY__GPIO4_26 0x80000000
|
|
>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&uart1 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_uart1_1 &pinctrl_uart1_rtscts_1>;
|
|
fsl,uart-has-rtscts;
|
|
status = "okay";
|
|
};
|
|
|
|
&uart2 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_uart2_1>;
|
|
status = "okay";
|
|
};
|
|
|
|
&i2c2 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_i2c2_1>;
|
|
status = "okay";
|
|
|
|
sgtl5000: codec@0a {
|
|
compatible = "fsl,sgtl5000";
|
|
reg = <0x0a>;
|
|
clocks = <&clk_26M>;
|
|
VDDA-supply = <&vdig_reg>;
|
|
VDDIO-supply = <&vvideo_reg>;
|
|
};
|
|
};
|
|
|
|
&audmux {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_audmux_1>;
|
|
status = "okay";
|
|
};
|
|
|
|
&fec {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_fec_1>;
|
|
phy-mode = "mii";
|
|
status = "okay";
|
|
};
|
|
|
|
&kpp {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_kpp_1>;
|
|
linux,keymap = <0x00000067 /* KEY_UP */
|
|
0x0001006c /* KEY_DOWN */
|
|
0x00020072 /* KEY_VOLUMEDOWN */
|
|
0x00030066 /* KEY_HOME */
|
|
0x0100006a /* KEY_RIGHT */
|
|
0x01010069 /* KEY_LEFT */
|
|
0x0102001c /* KEY_ENTER */
|
|
0x01030073 /* KEY_VOLUMEUP */
|
|
0x02000040 /* KEY_F6 */
|
|
0x02010042 /* KEY_F8 */
|
|
0x02020043 /* KEY_F9 */
|
|
0x02030044 /* KEY_F10 */
|
|
0x0300003b /* KEY_F1 */
|
|
0x0301003c /* KEY_F2 */
|
|
0x0302003d /* KEY_F3 */
|
|
0x03030074>; /* KEY_POWER */
|
|
status = "okay";
|
|
};
|