/* * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ /dts-v1/; /plugin/; / { compatible = "ti,beaglebone"; /* identification */ part-number = "BB-BONE-DVID-02"; version = "00A0"; /* state the resources this cape uses */ exclusive-use = /* the pin header uses */ "P9.14", /* led: gpio1_18 */ "P9.16", /* led: gpio1_19 */ "P9.31", /* mcasp0: mcasp0_aclkx */ "P9.29", /* mcasp0: mcasp0_fsx */ "P9.28", /* mcasp0: mcasp0_axr2 */ "P9.25", /* mcasp0: mcasp0_ahclkx */ "P8.4", /* lcd: gpio1_7 */ "P8.45", /* lcd: lcd_data0 */ "P8.46", /* lcd: lcd_data1 */ "P8.43", /* lcd: lcd_data2 */ "P8.44", /* lcd: lcd_data3 */ "P8.41", /* lcd: lcd_data4 */ "P8.42", /* lcd: lcd_data5 */ "P8.39", /* lcd: lcd_data6 */ "P8.40", /* lcd: lcd_data7 */ "P8.37", /* lcd: lcd_data8 */ "P8.38", /* lcd: lcd_data9 */ "P8.36", /* lcd: lcd_data10 */ "P8.34", /* lcd: lcd_data11 */ "P8.35", /* lcd: lcd_data12 */ "P8.33", /* lcd: lcd_data13 */ "P8.31", /* lcd: lcd_data14 */ "P8.32", /* lcd: lcd_data15 */ "P8.27", /* lcd: lcd_vsync */ "P8.29", /* lcd: lcd_hsync */ "P8.28", /* lcd: lcd_pclk */ "P8.30", /* lcd: lcd_ac_bias_en */ /* the hardware IP uses */ "gpio1_18", "gpio1_19", "mcasp0", "gpio1_7", "lcd"; fragment@0 { target = <&am33xx_pinmux>; __overlay__ { bone_dvid_audio_cape_led_pins: pinmux_bone_dvid_audio_cape_led_pins { pinctrl-single,pins = < 0x48 0x07 /* gpmc_a2.gpio1_18, OUTPUT | MODE7 */ 0x4c 0x07 /* gpmc_a3.gpio1_19, OUTPUT | MODE7 */ >; }; bone_dvid_audio_cape_audio_pins: pinmux_bone_dvid_audio_cape_audio_pins { pinctrl-single,pins = < 0x190 0x20 /* mcasp0_aclkx.mcasp0_aclkx, INPUT | MODE0 */ 0x194 0x20 /* mcasp0_fsx.mcasp0_fsx, INPUT | MODE0 */ 0x19c 0x22 /* mcasp0_ahclkr.mcasp0_axr2, INPUT | MODE2 */ 0x1ac 0x22 /* mcasp0_ahclkx.mcasp0_axr3, INPUT | MODE2 */ >; }; bone_dvid_audio_cape_dvi_00A2_pins: pinmux_bone_dvid_audio_cape_dvi_00A2_pins { pinctrl-single,pins = < 0x1c 0x07 /* gpmc_ad7.gpio1_7, OUTPUT | MODE7 - DVIPDn */ 0xa0 0x08 /* lcd_data0.lcd_data0, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ 0xa4 0x08 /* lcd_data1.lcd_data1, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ 0xa8 0x08 /* lcd_data2.lcd_data2, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ 0xac 0x08 /* lcd_data3.lcd_data3, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ 0xb0 0x08 /* lcd_data4.lcd_data4, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ 0xb4 0x08 /* lcd_data5.lcd_data5, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ 0xb8 0x08 /* lcd_data6.lcd_data6, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ 0xbc 0x08 /* lcd_data7.lcd_data7, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ 0xc0 0x08 /* lcd_data8.lcd_data8, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ 0xc4 0x08 /* lcd_data9.lcd_data9, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ 0xc8 0x08 /* lcd_data10.lcd_data10, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ 0xcc 0x08 /* lcd_data11.lcd_data11, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ 0xd0 0x08 /* lcd_data12.lcd_data12, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ 0xd4 0x08 /* lcd_data13.lcd_data13, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ 0xd8 0x08 /* lcd_data14.lcd_data14, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ 0xdc 0x08 /* lcd_data15.lcd_data15, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ 0xe0 0x00 /* lcd_vsync.lcd_vsync, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */ 0xe4 0x00 /* lcd_hsync.lcd_hsync, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */ 0xe8 0x00 /* lcd_pclk.lcd_pclk, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */ 0xec 0x00 /* lcd_ac_bias_en.lcd_ac_bias_en, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */ >; }; }; }; fragment@1 { target = <&ocp>; __overlay__ { /* avoid stupid warning */ #address-cells = <1>; #size-cells = <1>; gpio-leds-cape-dvid-audio { compatible = "gpio-leds"; pinctrl-names = "default"; pinctrl-0 = <&bone_dvid_audio_cape_led_pins>; dvi-led0 { label = "dvi:green:usr0"; gpios = <&gpio2 18 0>; linux,default-trigger = "heartbeat"; default-state = "off"; }; dvi-led1 { label = "dvi:green:usr1"; gpios = <&gpio2 19 0>; linux,default-trigger = "mmc0"; default-state = "off"; }; }; /* use the DVI panel now */ panel { compatible = "tilcdc,tfp410"; pinctrl-names = "default"; pinctrl-0 = <&bone_dvid_audio_cape_dvi_00A2_pins>; ti,power-gpio = <&gpio1 31 0x0>; i2c = <&i2c2>; }; fb { compatible = "ti,am33xx-tilcdc"; reg = <0x4830e000 0x1000>; interrupt-parent = <&intc>; interrupts = <36>; ti,hwmods = "lcdc"; }; }; }; fragment@2 { target = <&i2c2>; __overlay__ { #address-cells = <1>; #size-cells = <0>; tlv320aic3x: tlv320aic3x@1b { compatible = "ti,tlv320aic3x"; reg = <0x1b>; status = "okay"; }; }; }; fragment@3 { target = <&mcasp0>; __overlay__ { pinctrl-names = "default"; pinctrl-0 = <&bone_dvid_audio_cape_audio_pins>; status = "okay"; op-mode = <0>; /* MCASP_IIS_MODE */ tdm-slots = <2>; num-serializer = <16>; serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */ 0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 >; tx-num-evt = <1>; rx-num-evt = <1>; }; }; fragment@4 { target = <&ocp>; __overlay__ { sound { compatible = "ti,da830-evm-audio"; ti,model = "DA830 EVM"; ti,audio-codec = <&tlv320aic3x>; ti,mcasp-controller = <&mcasp0>; ti,codec-clock-rate = <12000000>; ti,audio-routing = "Headphone Jack", "HPLOUT", "Headphone Jack", "HPROUT", "LINE1L", "Line In", "LINE1R", "Line In"; }; }; }; };