/* * Copyright 2012 * based on imx53-qsb.dts * 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 at the following locations: * * http://www.opensource.org/licenses/gpl-license.html * http://www.gnu.org/copyleft/gpl.html */ /dts-v1/; /include/ ARCH_CPU_DTS / { model = "Ka-Ro electronics TX53 module"; compatible = "karo,tx53", "fsl,imx53"; chosen { bootargs = "init=/linuxrc console=ttymxc0,115200 root=/dev/mtdblock4 rootfstype=jffs2 ro debug panic=1"; }; aliases { usbh1 = &usbh1; usbotg = &usbotg; usbphy = &usbphy; }; clocks { ckih1 { clock-frequency = <0>; }; }; soc { extmc: extmc@00000000 { sata: sata@10000000 { status = "okay"; }; ipu: ipu@1e000000 { status = "okay"; }; }; aips1: aips@50000000 { /* AIPS1 */ spba@50000000 { mmc0: esdhc@50004000 { /* ESDHC1 */ status = "okay"; cd-gpios = <&gpio3 24 0>; fsl,wp-controller; pinctrl-names = "default"; pinctrl-0 = < &pinctrl_esdhc1_1 &pinctrl_esdhc1_cd >; }; mmc1: esdhc@50008000 { /* ESDHC2 */ status = "okay"; cd-gpios = <&gpio3 25 0>; fsl,wp-controller; pinctrl-names = "default"; pinctrl-0 = < &pinctrl_esdhc2_1 &pinctrl_esdhc2_cd >; }; serial@5000c000 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart3_1>; fsl,uart-has-rtscts; }; spi0: ecspi@50010000 { /* ECSPI1 */ status = "okay"; pinctrl-names = "default"; pinctrl-0 = < &pinctrl_ecspi1_1 &pinctrl_cspi1_cs >; fsl,spi-num-chipselects = <2>; cs-gpios = <&gpio2 30 0 &gpio3 19 0>; spidev0: spi@0 { compatible = "spidev"; reg = <0>; spi-max-frequency = <54000000>; }; }; }; usbotg: imxotg@53f80000 { status = "okay"; ignore-overcurrent; enable-wakeup; vbus-gpio = <&usbotg_vbus>; }; usbh1: imxotg@53f80200 { status = "okay"; ignore-overcurrent; enable-wakeup; vbus-gpio = <&usbh1_vbus>; }; usbphy: imx-usb-phy@53f80800 { status = "okay"; device-ports = <&usbotg>; host-ports = <&usbotg &usbh1>; }; keypad@53f94000 { status = "okay"; /* sample keymap */ /* row/col 0,1 are mapped to KPP row/col 6,7 */ linux,keymap = < 0x06060074 /* row 6, col 6, KEY_POWER */ 0x06070052 /* row 6, col 7, KEY_KP0 */ 0x0602004f /* row 6, col 2, KEY_KP1 */ 0x06030050 /* row 6, col 3, KEY_KP2 */ 0x07060051 /* row 7, col 6, KEY_KP3 */ 0x0707004b /* row 7, col 7, KEY_KP4 */ 0x0702004c /* row 7, col 2, KEY_KP5 */ 0x0703004d /* row 7, col 3, KEY_KP6 */ 0x02060047 /* row 2, col 6, KEY_KP7 */ 0x02070048 /* row 2, col 7, KEY_KP8 */ 0x02020049 /* row 2, col 2, KEY_KP9 */ >; }; wdog@53f98000 { /* WDOG1 */ status = "okay"; }; iomuxc@53fa8000 { pinctrl-names = "default"; pincontroller { pinctrl_stk5_led: stk5-led-gpios { fsl,pins = < 589 0xc0 /* MX53_PAD_EIM_A18__GPIO2_20 */ >; }; pinctrl_ds1339_int: ds1339-gpios { fsl,pins = < 104 0xe0 /* MX53_PAD_DI0_PIN4__GPIO4_20 */ >; }; pinctrl_cspi1_cs: cspi1-cs-gpios { fsl,pins = < 424 0xe0 /* MX53_PAD_EIM_EB2__GPIO2_30 */ 449 0xe0 /* MX53_PAD_EIM_D19__GPIO3_19 */ >; }; pinctrl_esdhc1_cd: esdhc1-cd-gpios { fsl,pins = < 501 0x1f0 /* MX53_PAD_EIM_D25__GPIO3_25 */ >; }; pinctrl_esdhc2_cd: esdhc2-cd-gpios { fsl,pins = < 517 0x1f0 /* MX53_PAD_EIM_D27__GPIO3_27 */ >; }; }; }; pwm2: pwm@53fb8000 { status = "okay"; }; serial@53fbc000 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart1_2>; fsl,uart-has-rtscts; }; serial@53fc0000 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart2_1>; fsl,uart-has-rtscts; }; can@53fc8000 { status = "okay"; transceiver-switch = <&flexcan_transceiver>; }; can@53fcc000 { status = "okay"; transceiver-switch = <&flexcan_transceiver>; }; i2c@53fec000 { /* I2C3 */ status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c3_1>; sgtl5000: sgtl5000@0a { compatible = "fsl,sgtl5000"; reg = <0x0a>; VDDA-supply = <®_2p5v>; VDDIO-supply = <®_3p3v>; clock-frequency = <26000000>; }; touchscreen: tsc2007@48 { compatible = "ti,tsc2007"; reg = <0x48>; interrupt-parent = <&gpio3>; interrupts = <26 0>; pendown-gpio = <&gpio3 26 1>; model = "2007"; x-plate-ohms = <660>; }; polytouch: edt-ft5x06@ { compatible = "edt,edt-ft5x06"; reg = <0x38>; interrupt-parent = <&gpio6>; interrupts = <15 0>; reset-switch = <&edt_ft5x06_reset>; wake-switch = <&edt_ft5x06_wake>; }; }; }; aips2: aips@60000000 { /* AIPS2 */ sdma@63fb0000 { fsl,sdma-ram-script-name = "sdma-imx53.bin"; }; i2c@63fc8000 { /* I2C1 */ status = "okay"; pinctrl-names = "default"; pinctrl-0 = < &pinctrl_i2c1_2 &pinctrl_ds1339_int >; rtc1: ds1339@68 { compatible = "dallas,ds1339"; reg = <0x68>; trickle-charge = <0xa5>; interrupt-parent = <&gpio4>; interrupts = <20 0>; }; pmic: lt3589@48 { compatible = "lt,lt3589"; reg = <0x48>; }; }; ssi@63fcc000 { status = "okay"; fsl,mode = "i2s-slave"; codec-handle = <&sgtl5000>; }; ssi@50014000 { status = "okay"; }; audmux@63fd0000 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_audmux_1>; }; nand@63fdb000 { status = "okay"; nand-bus-width = <8>; nand-ecc-mode = "hw"; nand-on-flash-bbt; }; ethernet@63fec000 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_fec_1>; phy-mode = "rmii"; phy-reset-gpios = <&gpio7 6 0>; phy-handle = <&phy0>; mac-address = [000000000000]; phy0: ethernet-phy@0 { interrupt-parent = <&gpio2>; interrupts = <4>; device_type = "ethernet-phy"; }; }; }; }; sound { compatible = "karo,tx53x-audio-sgtl5000", "fsl,imx-audio-sgtl5000"; status = "okay"; model = "tx53x-audio-sgtl5000"; ssi-controller = <&ssi1>; audio-codec = <&sgtl5000>; audio-routing = "MIC_IN", "Mic Jack", "Mic Jack", "Mic Bias", "Headphone Jack", "HP_OUT"; /* '1' based port numbers according to datasheet names */ mux-int-port = <1>; mux-ext-port = <5>; }; gpio-switch { compatible = "gpio-switches", "simple-bus"; #address-cells = <1>; #size-cells = <0>; flexcan_transceiver: gpio-switch@0 { compatible = "linux,gpio-switch"; gpio = <&gpio4 21 1>; label = "Flexcan Transceiver Enable"; gpio-shared; init-state = <0>; }; lcd_power: gpio-switch@1 { compatible = "linux,gpio-switch"; gpio = <&gpio2 31 0>; label = "LCD Power Enable"; init-state = <0>; }; lcd_reset: gpio-switch@2 { compatible = "linux,gpio-switch"; gpio = <&gpio3 29 1>; label = "LCD Reset"; init-state = <1>; }; edt_ft5x06_reset: gpio-switch@3 { compatible = "linux,gpio-switch"; gpio = <&gpio2 22 1>; label = "EDT-FT5x06 RESET"; }; edt_ft5x06_wake: gpio-switch@4 { compatible = "linux,gpio-switch"; gpio = <&gpio2 21 0>; label = "EDT-FT5x06 WAKE"; init-state = <1>; }; usbotg_vbus: gpio-switch@5 { compatible = "linux,gpio-switch"; gpio = <&gpio1 7 0>; label = "USBOTG VBUS"; }; usbh1_vbus: gpio-switch@6 { compatible = "linux,gpio-switch"; gpio = <&gpio3 31 0>; label = "USBH1 VBUS"; }; }; leds { compatible = "gpio-leds"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_stk5_led>; user { label = "Heartbeat"; gpios = <&gpio2 20 0>; linux,default-trigger = "heartbeat"; }; }; lcd { compatible = "of-gpio-lcd"; power-switch = <&lcd_power>; /* reset-switch = <&lcd_reset>; reset-delay-us = <300>; */ }; backlight: pwm-backlight { compatible = "pwm-backlight"; pwm = <&pwm2>; inverted; max-brightness = <100>; dft-brightness = <50>; pwm-period-ns = <1000000>; }; regulators { compatible = "simple-bus"; reg_2p5v: 2p5v { compatible = "regulator-fixed"; regulator-name = "2P5V"; regulator-min-microvolt = <2500000>; regulator-max-microvolt = <2500000>; regulator-always-on; }; reg_3p3v: 3p3v { compatible = "regulator-fixed"; regulator-name = "3P3V"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; }; };