diff --git a/arch/arm/boot/dts/am571x-idk-lcd-osd.dts b/arch/arm/boot/dts/am571x-idk-lcd-osd.dts index 4aa66e1..36cc71b 100644 --- a/arch/arm/boot/dts/am571x-idk-lcd-osd.dts +++ b/arch/arm/boot/dts/am571x-idk-lcd-osd.dts @@ -17,4 +17,22 @@ interrupt-parent = <&gpio5>; interrupts = <6 IRQ_TYPE_EDGE_FALLING>; }; + +&dss { + status = "ok"; + vdda_video-supply = <&ldo5_reg>; + ports { + #address-cells = <1>; + #size-cells = <0>; + + port { + reg = <0>; + + dpi_out: endpoint { + remote-endpoint = <&tlc_in>; + data-lines = <24>; + }; + }; + }; +}; #include "am57xx-evm-cmem.dtsi" diff --git a/arch/arm/boot/dts/am571x-idk.dts b/arch/arm/boot/dts/am571x-idk.dts index f69c2ef..02f5a72 100644 --- a/arch/arm/boot/dts/am571x-idk.dts +++ b/arch/arm/boot/dts/am571x-idk.dts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/ + * Copyright (C) 2014 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 @@ -11,7 +11,6 @@ #include #include #include "am57xx-idk-common.dtsi" - / { model = "TI AM571x IDK"; compatible = "ti,am571x-idk", "ti,am5718", "ti,dra722", \ @@ -21,43 +20,126 @@ device_type = "memory"; reg = <0x0 0x80000000 0x0 0x40000000>; }; + + + aliases { + display0 = &tlc59108; + + }; + + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + ipu2_cma_pool: ipu2_cma@95800000 { + compatible = "shared-dma-pool"; + reg = <0x0 0x95800000 0x0 0x3800000>; + reusable; + status = "okay"; + }; + + dsp1_cma_pool: dsp1_cma@99000000 { + compatible = "shared-dma-pool"; + reg = <0x0 0x99000000 0x0 0x4000000>; + reusable; + status = "okay"; + }; + + ipu1_cma_pool: ipu1_cma@9d000000 { + compatible = "shared-dma-pool"; + reg = <0x0 0x9d000000 0x0 0x2000000>; + reusable; + status = "okay"; + }; + + dsp2_cma_pool: dsp2_cma@9f000000 { + compatible = "shared-dma-pool"; + reg = <0x0 0x9f000000 0x0 0x1000000>; + reusable; + status = "okay"; + }; + }; + + /*vdd_3v3: fixedregulator-vdd_3v3 { + compatible = "regulator-fixed"; + regulator-name = "vdd_3v3"; + //vin-supply = <®en1>; + vin-supply = <&ldo1_reg>; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + };*/ + evm_3v3_sd: fixedregulator-sd { + compatible = "regulator-fixed"; + regulator-name = "evm_3v3_sd"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + enable-active-high; + //gpio = <&pcf_gpio_21 5 GPIO_ACTIVE_HIGH>; + }; + + extcon_usb1: extcon_usb1 { + compatible = "linux,extcon-usb-gpio"; + //id-gpios = <&pcf_gpio_21 1 GPIO_ACTIVE_HIGH>; + }; + + extcon_usb2: extcon_usb2 { + compatible = "linux,extcon-usb-gpio"; + //id-gpios = <&pcf_gpio_21 2 GPIO_ACTIVE_LOW>; + }; + + vtt_fixed: fixedregulator-vtt { + /* TPS51200 */ + compatible = "regulator-fixed"; + regulator-name = "vtt_fixed"; + //vin-supply = <&sysen2>; + regulator-min-microvolt = <1350000>; + regulator-max-microvolt = <1350000>; + regulator-boot-on; + regulator-always-on; + enable-active-high; + gpio = <&gpio7 7 GPIO_ACTIVE_HIGH>; + }; }; &dpll_dsp_ck { - assigned-clock-rates = <700000000>; + assigned-clock-rates = <750000000>; }; &dpll_dsp_m2_ck { - assigned-clock-rates = <700000000>; + assigned-clock-rates = <750000000>; }; &dpll_dsp_m3x2_ck { - assigned-clock-rates = <466666667>; + assigned-clock-rates = <500000000>; }; &dpll_iva_ck { - assigned-clock-rates = <1064000000>; + assigned-clock-rates = <1064000000>; }; &dpll_iva_m2_ck { - assigned-clock-rates = <532000000>; + assigned-clock-rates = <532000000>; }; &dra7_pmx_core { - mmc1_pins_default: mmc1_pins_default { + + i2c1_pins_default: i2c1_pins_default { pinctrl-single,pins = < - 0x36c (PIN_INPUT | MUX_MODE14) /* mmc1sdcd.gpio219 */ - 0x354 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */ - 0x358 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */ - 0x35c (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */ - 0x360 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */ - 0x364 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */ - 0x368 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */ + 0x400 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda.sda */ + 0x404 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl.scl */ >; }; - mmc1_pins_hs: mmc1_pins_hs { + usb2_pins_default: usb2_pins_default { + pinctrl-single,pins = < + 0x284 (PIN_INPUT_PULLDOWN | MUX_MODE0) + >; + }; + + mmc1_pins_default: mmc1_pins_default { pinctrl-single,pins = < + 0x36c (PIN_INPUT | MUX_MODE14) /* mmc1sdcd.gpio219 */ 0x354 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */ 0x358 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */ 0x35c (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */ @@ -66,52 +148,492 @@ 0x368 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */ >; }; - - mmc2_pins_default: mmc2_pins_default { +#if 0 + mmc1_pins_hs: pinmux_mmc1_hs_pins { pinctrl-single,pins = < - 0x9c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */ - 0xb0 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */ - 0xa0 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */ - 0xa4 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */ - 0xa8 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */ - 0xac (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */ - 0x8c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */ - 0x90 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */ - 0x94 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */ - 0x98 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */ + 0x354 (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_clk.clk */ + 0x358 (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_cmd.cmd */ + 0x35c (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_dat0.dat0 */ + 0x360 (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_dat1.dat1 */ + 0x364 (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_dat2.dat2 */ + 0x368 (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_dat3.dat3 */ >; }; +#endif + uart1_pins: pinmux_uart1_pins { + pinctrl-single,pins = < + 0x3e0 (PIN_INPUT_SLEW | MUX_MODE0) /* uart1_rxd */ + 0x3e4 (PIN_INPUT_SLEW | MUX_MODE0) /* uart1_txd */ + >; + }; - mmc2_pins_hs: mmc2_pins_hs { - pinctrl-single,pins = < - 0x9c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */ - 0xb0 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */ - 0xa0 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */ - 0xa4 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */ - 0xa8 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */ - 0xac (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */ - 0x8c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */ - 0x90 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */ - 0x94 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */ - 0x98 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */ - >; +}; +#if 0 +&dra7_iodelay_core { + mmc2_iodelay_ddr_1_8v_conf: mmc2_iodelay_ddr_1_8v_conf { + pinctrl-single,pins = < + 0x18c (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A19_IN */ + 0x1a4 (A_DELAY(274) | G_DELAY(240)) /* CFG_GPMC_A20_IN */ + 0x1b0 (A_DELAY(0) | G_DELAY(60)) /* CFG_GPMC_A21_IN */ + 0x1bc (A_DELAY(0) | G_DELAY(60)) /* CFG_GPMC_A22_IN */ + 0x1c8 (A_DELAY(514) | G_DELAY(360)) /* CFG_GPMC_A23_IN */ + 0x1d4 (A_DELAY(187) | G_DELAY(120)) /* CFG_GPMC_A24_IN */ + 0x1e0 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A25_IN */ + 0x1ec (A_DELAY(0) | G_DELAY(60)) /* CFG_GPMC_A26_IN */ + 0x1f8 (A_DELAY(121) | G_DELAY(60)) /* CFG_GPMC_A27_IN */ + 0x360 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_CS1_IN */ + 0x190 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A19_OEN */ + 0x194 (A_DELAY(174) | G_DELAY(0)) /* CFG_GPMC_A19_OUT */ + 0x1a8 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A20_OEN */ + 0x1ac (A_DELAY(168) | G_DELAY(0)) /* CFG_GPMC_A20_OUT */ + 0x1b4 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A21_OEN */ + 0x1b8 (A_DELAY(136) | G_DELAY(0)) /* CFG_GPMC_A21_OUT */ + 0x1c0 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A22_OEN */ + 0x1c4 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A22_OUT */ + 0x1d0 (A_DELAY(879) | G_DELAY(0)) /* CFG_GPMC_A23_OUT */ + 0x1d8 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A24_OEN */ + 0x1dc (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A24_OUT */ + 0x1e4 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A25_OEN */ + 0x1e8 (A_DELAY(34) | G_DELAY(0)) /* CFG_GPMC_A25_OUT */ + 0x1f0 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A26_OEN */ + 0x1f4 (A_DELAY(120) | G_DELAY(0)) /* CFG_GPMC_A26_OUT */ + 0x1fc (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A27_OEN */ + 0x200 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A27_OUT */ + 0x364 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_CS1_OEN */ + 0x368 (A_DELAY(11) | G_DELAY(0)) /* CFG_GPMC_CS1_OUT */ + >; + }; +}; +#endif +&i2c1 { + status = "okay"; + clock-frequency = <400000>; + +tps65917: tps65917@58 { + compatible = "ti,tps65917"; + reg = <0x58>; + + interrupts = ; /* IRQ_SYS_1N */ + interrupt-controller; + #interrupt-cells = <2>; + + ti,system-power-controller; + + tps65917_pmic { + compatible = "ti,tps65917-pmic"; + + regulators { + smps1_reg: smps1 { + /* VDD_MPU */ + regulator-name = "smps1"; + regulator-min-microvolt = <850000>; + regulator-max-microvolt = <1150000>; + regulator-always-on; + regulator-boot-on; + }; + + smps2_reg: smps2 { + /* VDD_CORE */ + regulator-name = "smps2"; + regulator-min-microvolt = <850000>; + regulator-max-microvolt = <1150000>; + regulator-boot-on; + regulator-always-on; + }; + + smps3_reg: smps3 { + /* VDD_GPU IVA DSPEVE */ + regulator-name = "smps3"; + regulator-min-microvolt = <850000>; + regulator-max-microvolt = <1060000>; + regulator-boot-on; + regulator-always-on; + }; + + smps4_reg: smps4 { + /* VDDS1V8 */ + regulator-name = "smps4"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + regulator-boot-on; + }; + + smps5_reg: smps5 { + /* VDD_DDR */ + regulator-name = "smps5"; + regulator-min-microvolt = <1350000>; + regulator-max-microvolt = <1350000>; + regulator-boot-on; + regulator-always-on; + }; + + ldo1_reg: ldo1 { + /* LDO1_OUT --> SDIO */ + regulator-name = "ldo1"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + regulator-boot-on; + }; + + ldo2_reg: ldo2 { + /* LDO2_OUT --> TP1017 (UNUSED) */ + regulator-name = "ldo2"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + ldo3_reg: ldo3 { + /* VDDA_1V8_PHY */ + regulator-name = "ldo3"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + regulator-always-on; + }; + + ldo5_reg: ldo5 { + /* VDDA_1V8_PLL */ + regulator-name = "ldo5"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + regulator-boot-on; + }; + + ldo4_reg: ldo4 { + /* VDDA_3V_USB: VDDA_USBHS33 */ + regulator-name = "ldo4"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on; + }; + }; + }; + + tps65917_power_button { + compatible = "ti,palmas-pwrbutton"; + interrupt-parent = <&tps65917>; + interrupts = <1 IRQ_TYPE_NONE>; + wakeup-source; + ti,palmas-long-press-seconds = <6>; + }; + }; + + //}; + /* TLC chip for LCD panel power and backlight */ + tlc59108: tlc59108@40 { + compatible = "omapdss,ti,tlc59108-lp101"; + lable = "lcd" ; + reg = <0x40>; + //enable-gpios = <&gpio1 13 GPIO_ACTIVE_LOW>; /* P15, CON_LCD_PWR_DN */ + + port { + tlc_in: endpoint { + remote-endpoint = <&dpi_out>; + }; + }; + }; + +}; + +&uart1 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&uart1_pins>; +}; + +&dss { + status = "ok"; + vdda_video-supply = <&ldo5_reg>; + ports { + #address-cells = <1>; + #size-cells = <0>; + + port { + reg = <0>; + + dpi_out: endpoint { + remote-endpoint = <&tlc_in>; + data-lines = <24>; + }; + }; + }; +}; + +&gpio7 { + ti,no-reset-on-init; + ti,no-idle-on-init; +}; +/* +&gpio1 { + ti,no-idle-on-init; +}; + +&gpio6 { + ti,no-reset-on-init; + ti,no-idle-on-init; +}; +*/ +&voltdm_mpu { + vdd-supply = <&smps1_reg>; +}; + +&voltdm_dspeve { + vdd-supply = <&smps3_reg>; +}; + +&voltdm_gpu { + vdd-supply = <&smps3_reg>; +}; + +&voltdm_ivahd { + vdd-supply = <&smps3_reg>; +}; + +&voltdm_core { + vdd-supply = <&smps2_reg>; +}; + +&cpu0 { + //cpu0-voltdm = <&voltdm_mpu>; + cpu0-supply = <&smps1_reg>; + voltage-tolerance = <1>; +}; + +&mac { + status = "okay"; + //dual_emac; +}; + +&cpsw_emac0 { + phy_id = <&davinci_mdio>, <2>; + phy-mode = "rmii"; + //dual_emac_res_vlan = <1>; +}; + +//&cpsw_emac1 { +// phy_id = <&davinci_mdio>, <3>; +// phy-mode = "rgmii";// +// dual_emac_res_vlan = <2>; +//}; +&mmc1 { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&mmc1_pins_default>; + //pinctrl-1 = <&mmc1_pins_hs>; + //pbias-supply = <&pbias_mmc_reg>; + vmmc-supply = <&evm_3v3_sd>; + //vmmc_aux-supply = <&ldo1_reg>; + bus-width = <4>; + cd-gpios = <&gpio6 27 0>; /* gpio 219 */ +// max-frequency = <96000000>; +}; + +&sata { + status = "disabled"; +}; +&usb2_phy1 { + //phy-supply = <&ldousb_reg>; + phy-supply = <&ldo4_reg>; +}; + +&usb2_phy2 { + //phy-supply = <&ldousb_reg>; + phy-supply = <&ldo4_reg>; +}; + +&usb1 { + dr_mode = "peripheral"; +}; + + +&omap_dwc3_1 { + extcon = <&extcon_usb1>; +}; +&omap_dwc3_2 { + extcon = <&extcon_usb2>; +}; + +&usb2 { + /* + * Stand alone usage is peripheral only. + * However, with some resistor modifications + * this port can be used via expansion connectors + * as "host" or "dual-role". If so, provide + * the necessary dr_mode override in the expansion + * board's DT. + */ + dr_mode = "host"; + pinctrl-names = "default"; + pinctrl-0 = <&usb2_pins_default>; +}; +#if 0 +&cpu_trips { + cpu_alert1: cpu_alert1 { + temperature = <50000>; /* millicelsius */ + hysteresis = <2000>; /* millicelsius */ + type = "active"; + }; +}; + +&cpu_cooling_maps { + map1 { + trip = <&cpu_alert1>; +// cooling-device = <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; + }; +}; + +&thermal_zones { + board_thermal: board_thermal { + polling-delay-passive = <1250>; /* milliseconds */ + polling-delay = <1500>; /* milliseconds */ + + /* sensor ID */ + thermal-sensors = <&tmp102 0>; + + board_trips: trips { + board_alert0: board_alert { + temperature = <40000>; /* millicelsius */ + hysteresis = <2000>; /* millicelsius */ + type = "active"; + }; + + board_crit: board_crit { + temperature = <105000>; /* millicelsius */ + hysteresis = <0>; /* millicelsius */ + type = "critical"; + }; + }; + + board_cooling_maps: cooling-maps { + map0 { + trip = <&board_alert0>; + // cooling-device = + // <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; + }; + }; + }; +}; +#endif +&dss { + status = "ok"; + vdda_video-supply = <&ldo5_reg>; +}; + + +&mcasp3 { + #sound-dai-cells = <0>; + status = "disabled"; + + op-mode = <0>; /* MCASP_IIS_MODE */ + tdm-slots = <2>; + /* 4 serializers */ + serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */ + 1 2 0 0 + >; + tx-num-evt = <8>; + rx-num-evt = <8>; +}; + +&mailbox3 { + status = "okay"; + mbox_pru1_0: mbox_pru1_0 { + status = "okay"; + }; + mbox_pru1_1: mbox_pru1_1 { + status = "okay"; }; }; -&ov2659_1 { - remote-endpoint = <&vin1b>; +&mailbox4 { + status = "okay"; + mbox_pru2_0: mbox_pru2_0 { + status = "okay"; + }; + mbox_pru2_1: mbox_pru2_1 { + status = "okay"; + }; }; -&vin1b { +&mailbox5 { status = "okay"; + mbox_ipu1_ipc3x: mbox_ipu1_ipc3x { + status = "okay"; + }; + mbox_dsp1_ipc3x: mbox_dsp1_ipc3x { + status = "okay"; + }; +}; - endpoint@2 { - slave-mode; - remote-endpoint = <&ov2659_1>; +&mailbox6 { + status = "okay"; + mbox_ipu2_ipc3x: mbox_ipu2_ipc3x { + status = "okay"; + }; + mbox_dsp2_ipc3x: mbox_dsp2_ipc3x { + status = "okay"; }; }; +#if 1 +&mmu0_dsp1 { + status = "disbialed"; +}; + +&mmu1_dsp1 { + status = "okay"; +}; +/* +&mmu0_dsp2 { + status = "okay"; +}; + +&mmu1_dsp2 { + status = "okay"; +}; +*/ +&mmu_ipu1 { + status = "okay"; +}; -&vip1 { +&mmu_ipu2 { + status = "okay"; +}; +#endif +&ipu2 { status = "okay"; + memory-region = <&ipu2_cma_pool>; + mboxes = <&mailbox6 &mbox_ipu2_ipc3x>; + timers = <&timer3>; + watchdog-timers = <&timer4>, <&timer9>; }; + +&ipu1 { + status = "okay"; + memory-region = <&ipu1_cma_pool>; + mboxes = <&mailbox5 &mbox_ipu1_ipc3x>; + timers = <&timer11>; +}; + +&dsp1 { + status = "okay"; + memory-region = <&dsp1_cma_pool>; + mboxes = <&mailbox5 &mbox_dsp1_ipc3x>; + timers = <&timer5>; +}; +/* +&dsp2 { + status = "okay"; + memory-region = <&dsp2_cma_pool>; + mboxes = <&mailbox6 &mbox_dsp2_ipc3x>; + timers = <&timer6>; +}; + +&rtc { + status = "okay"; + ext-clk-src; +};*/ + #include "am57xx-evm-cmem.dtsi" diff --git a/arch/arm/boot/dts/am572x-idk-lcd-osd.dts b/arch/arm/boot/dts/am572x-idk-lcd-osd.dts index 5015a0c..53ca967 100644 --- a/arch/arm/boot/dts/am572x-idk-lcd-osd.dts +++ b/arch/arm/boot/dts/am572x-idk-lcd-osd.dts @@ -17,4 +17,22 @@ interrupt-parent = <&gpio3>; interrupts = <14 IRQ_TYPE_EDGE_FALLING>; }; + +&dss { + status = "ok"; + vdda_video-supply = <&ldo5_reg>; + ports { + #address-cells = <1>; + #size-cells = <0>; + + port { + reg = <0>; + + dpi_out: endpoint { + remote-endpoint = <&tlc_in>; + data-lines = <24>; + }; + }; + }; +}; #include "am57xx-evm-cmem.dtsi" diff --git a/arch/arm/boot/dts/am572x-idk.dts b/arch/arm/boot/dts/am572x-idk.dts index cae941c..f76ee13 100644 --- a/arch/arm/boot/dts/am572x-idk.dts +++ b/arch/arm/boot/dts/am572x-idk.dts @@ -87,7 +87,7 @@ &omap_dwc3_2 { extcon = <&extcon_usb2>; }; - +#if 0 &smps8_reg { /* 5728 - VDD_IVAHD */ regulator-min-microvolt = <850000>; @@ -95,7 +95,7 @@ regulator-always-on; regulator-boot-on; }; - +#endif &dpll_dsp_ck { assigned-clock-rates = <750000000>; }; @@ -115,7 +115,24 @@ &dpll_iva_m2_ck { assigned-clock-rates = <532000000>; }; - +&dss { + status = "ok"; + vdda_video-supply = <&ldo5_reg>; + ports { + #address-cells = <1>; + #size-cells = <0>; + + port { + reg = <0>; + + dpi_out: endpoint { + remote-endpoint = <&tlc_in>; + data-lines = <24>; + }; + }; + }; +}; +#if 0 &ov2659_1 { remote-endpoint = <&vin4b>; }; @@ -128,7 +145,7 @@ remote-endpoint = <&ov2659_1>; }; }; - +#endif &vip2 { status = "okay"; }; diff --git a/arch/arm/boot/dts/am57xx-beagle-x15.dts b/arch/arm/boot/dts/am57xx-beagle-x15.dts index ec7b9ef..01999f5 100644 --- a/arch/arm/boot/dts/am57xx-beagle-x15.dts +++ b/arch/arm/boot/dts/am57xx-beagle-x15.dts @@ -7,27 +7,51 @@ */ /dts-v1/; -#include "dra74x.dtsi" +#include "dra72x.dtsi" #include +#include #include / { - model = "TI AM5728 BeagleBoard-X15"; - compatible = "ti,am572x-beagle-x15", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7"; - - aliases { - rtc0 = &mcp_rtc; - rtc1 = &tps659038_rtc; - rtc2 = &rtc; - display0 = &hdmi0; - - sound0 = &sound0; - sound1 = &hdmi; - }; + model = "TI AM571x IDK"; + compatible = "ti,am571x-idk", "ti,am5718", "ti,dra722", \ + "ti,dra72", "ti,dra7"; memory { device_type = "memory"; - reg = <0x0 0x80000000 0x0 0x80000000>; + reg = <0x0 0x80000000 0x0 0x40000000>; + }; + + aliases { + display0 = &tlc59108; + sound0 = &sound0; + }; + + sound0: sound@0 { + compatible = "simple-audio-card"; + simple-audio-card,name = "BeagleBoard-X15"; + simple-audio-card,widgets = + "Line", "Line Out", + "Line", "Line In"; + simple-audio-card,routing = + "Line Out", "LLOUT", + "Line Out", "RLOUT", + "MIC2L", "Line In", + "MIC2R", "Line In"; + simple-audio-card,format = "dsp_b"; + simple-audio-card,bitclock-master = <&sound0_master>; + simple-audio-card,frame-master = <&sound0_master>; + simple-audio-card,bitclock-inversion; + + simple-audio-card,cpu { + sound-dai = <&mcasp3>; + }; + + + sound0_master: simple-audio-card,codec { + sound-dai = <&tlv320aic3104>; + clocks = <&mcasp3_ahclkx_mux>; + }; }; reserved-memory { @@ -55,23 +79,16 @@ reusable; status = "okay"; }; - - dsp2_cma_pool: dsp2_cma@9f000000 { - compatible = "shared-dma-pool"; - reg = <0x0 0x9f000000 0x0 0x800000>; - reusable; - status = "okay"; - }; }; vdd_3v3: fixedregulator-vdd_3v3 { compatible = "regulator-fixed"; regulator-name = "vdd_3v3"; - vin-supply = <®en1>; + //vin-supply = <®en1>; + vin-supply = <&ldo1_reg>; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; - aic_dvdd: fixedregulator-aic_dvdd { compatible = "regulator-fixed"; regulator-name = "aic_dvdd_fixed"; @@ -79,163 +96,61 @@ regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; }; + evm_3v3_sd: fixedregulator-sd { + compatible = "regulator-fixed"; + regulator-name = "evm_3v3_sd"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + enable-active-high; + //gpio = <&pcf_gpio_21 5 GPIO_ACTIVE_HIGH>; + }; + + extcon_usb1: extcon_usb1 { + compatible = "linux,extcon-usb-gpio"; + //id-gpios = <&pcf_gpio_21 1 GPIO_ACTIVE_HIGH>; + id-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>; + }; + + extcon_usb2: extcon_usb2 { + compatible = "linux,extcon-usb-gpio"; + id-gpios = <&gpio4 1 GPIO_ACTIVE_LOW>; + }; vtt_fixed: fixedregulator-vtt { /* TPS51200 */ compatible = "regulator-fixed"; regulator-name = "vtt_fixed"; - vin-supply = <&smps3_reg>; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - regulator-always-on; + //vin-supply = <&sysen2>; + regulator-min-microvolt = <1350000>; + regulator-max-microvolt = <1350000>; regulator-boot-on; + regulator-always-on; enable-active-high; - gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>; - }; - - leds { - compatible = "gpio-leds"; - led@0 { - label = "beagle-x15:usr0"; - gpios = <&gpio7 9 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "heartbeat"; - default-state = "off"; - }; - - led@1 { - label = "beagle-x15:usr1"; - gpios = <&gpio7 8 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "cpu0"; - default-state = "off"; - }; - - led@2 { - label = "beagle-x15:usr2"; - gpios = <&gpio7 14 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "mmc0"; - default-state = "off"; - }; - - led@3 { - label = "beagle-x15:usr3"; - gpios = <&gpio7 15 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "ide-disk"; - default-state = "off"; - }; - }; - - gpio_fan: gpio_fan { - /* Based on 5v 500mA AFB02505HHB */ - compatible = "gpio-fan"; - gpios = <&tps659038_gpio 2 GPIO_ACTIVE_HIGH>; - gpio-fan,speed-map = <0 0>, - <13000 1>; - #cooling-cells = <2>; - }; - - extcon_usb1: extcon_usb1 { - compatible = "linux,extcon-usb-gpio"; - id-gpio = <&gpio7 25 GPIO_ACTIVE_HIGH>; - }; - - hdmi0: connector { - compatible = "hdmi-connector"; - label = "hdmi"; - - type = "a"; - - port { - hdmi_connector_in: endpoint { - remote-endpoint = <&tpd12s015_out>; - }; - }; - }; - - tpd12s015: encoder { - compatible = "ti,tpd12s015"; - - gpios = <&gpio7 10 GPIO_ACTIVE_HIGH>, /* gpio7_10, CT CP HPD */ - <&gpio6 28 GPIO_ACTIVE_HIGH>, /* gpio6_28, LS OE */ - <&gpio7 12 GPIO_ACTIVE_HIGH>; /* gpio7_12/sp1_cs2, HPD */ - - ports { - #address-cells = <1>; - #size-cells = <0>; - - port@0 { - reg = <0>; - - tpd12s015_in: endpoint { - remote-endpoint = <&hdmi_out>; - }; - }; - - port@1 { - reg = <1>; - - tpd12s015_out: endpoint { - remote-endpoint = <&hdmi_connector_in>; - }; - }; - }; - }; - - sound0: sound@0 { - compatible = "simple-audio-card"; - simple-audio-card,name = "BeagleBoard-X15"; - simple-audio-card,widgets = - "Line", "Line Out", - "Line", "Line In"; - simple-audio-card,routing = - "Line Out", "LLOUT", - "Line Out", "RLOUT", - "MIC2L", "Line In", - "MIC2R", "Line In"; - simple-audio-card,format = "dsp_b"; - simple-audio-card,bitclock-master = <&sound0_master>; - simple-audio-card,frame-master = <&sound0_master>; - simple-audio-card,bitclock-inversion; - - simple-audio-card,cpu { - sound-dai = <&mcasp3>; - }; - - sound0_master: simple-audio-card,codec { - sound-dai = <&tlv320aic3104>; - clocks = <&clkout2_clk>; - }; + gpio = <&gpio7 7 GPIO_ACTIVE_HIGH>; }; }; &dpll_dsp_ck { - assigned-clock-rates = <750000000>; + assigned-clock-rates = <750000000>; }; &dpll_dsp_m2_ck { - assigned-clock-rates = <750000000>; + assigned-clock-rates = <750000000>; }; &dpll_dsp_m3x2_ck { - assigned-clock-rates = <500000000>; + assigned-clock-rates = <500000000>; }; &dpll_iva_ck { - assigned-clock-rates = <1064000000>; + assigned-clock-rates = <532000000>; }; &dpll_iva_m2_ck { - assigned-clock-rates = <532000000>; + assigned-clock-rates = <532000000>; }; &dra7_pmx_core { - leds_pins_default: leds_pins_default { - pinctrl-single,pins = < - 0x3a8 (PIN_OUTPUT | MUX_MODE14) /* spi1_d1.gpio7_8 */ - 0x3ac (PIN_OUTPUT | MUX_MODE14) /* spi1_d0.gpio7_9 */ - 0x3c0 (PIN_OUTPUT | MUX_MODE14) /* spi2_sclk.gpio7_14 */ - 0x3c4 (PIN_OUTPUT | MUX_MODE14) /* spi2_d1.gpio7_15 */ - >; - }; i2c1_pins_default: i2c1_pins_default { pinctrl-single,pins = < @@ -244,40 +159,46 @@ >; }; - hdmi_pins: pinmux_hdmi_pins { + usb2_pins_default: usb2_pins_default { pinctrl-single,pins = < - 0x408 (PIN_INPUT | MUX_MODE1) /* i2c2_sda.hdmi1_ddc_scl */ - 0x40c (PIN_INPUT | MUX_MODE1) /* i2c2_scl.hdmi1_ddc_sda */ + 0x284 (PIN_INPUT_PULLDOWN | MUX_MODE0) >; }; - i2c3_pins_default: i2c3_pins_default { + mmc1_pins_default: pinmux_mmc1_default_pins { pinctrl-single,pins = < - 0x2a4 (PIN_INPUT| MUX_MODE10) /* mcasp1_aclkx.i2c3_sda */ - 0x2a8 (PIN_INPUT| MUX_MODE10) /* mcasp1_fsx.i2c3_scl */ + 0x354 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */ + 0x358 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */ + 0x35c (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */ + 0x360 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */ + 0x364 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */ + 0x368 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */ >; }; - uart3_pins_default: uart3_pins_default { + mmc1_pins_sdr12: pinmux_mmc1_sdr12_pins { pinctrl-single,pins = < - 0x3f8 (PIN_INPUT_SLEW | MUX_MODE2) /* uart2_ctsn.uart3_rxd */ - 0x3fc (PIN_INPUT_SLEW | MUX_MODE1) /* uart2_rtsn.uart3_txd */ + 0x354 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */ + 0x358 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */ + 0x35c (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */ + 0x360 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */ + 0x364 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */ + 0x368 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */ >; }; - mmc1_pins_default: mmc1_pins_default { + mmc1_pins_hs: pinmux_mmc1_hs_pins { pinctrl-single,pins = < - 0x36c (PIN_INPUT | MUX_MODE14) /* mmc1sdcd.gpio219 */ - 0x354 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */ - 0x358 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */ - 0x35c (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */ - 0x360 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */ - 0x364 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */ - 0x368 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */ + 0x354 (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_clk.clk */ + 0x358 (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_cmd.cmd */ + 0x35c (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_dat0.dat0 */ + 0x360 (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_dat1.dat1 */ + 0x364 (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_dat2.dat2 */ + 0x368 (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_dat3.dat3 */ >; }; - mmc1_pins_hs: pinmux_mmc1_hs_pins { + mmc1_pins_sdr25: pinmux_mmc1_sdr25_pins { pinctrl-single,pins = < 0x354 (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_clk.clk */ 0x358 (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_cmd.cmd */ @@ -288,22 +209,52 @@ >; }; - mmc2_pins_default: mmc2_pins_default { + mmc1_pins_sdr50: pinmux_mmc1_sdr50_pins { pinctrl-single,pins = < - 0x9c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */ - 0xb0 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */ - 0xa0 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */ - 0xa4 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */ - 0xa8 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */ - 0xac (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */ - 0x8c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */ - 0x90 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */ - 0x94 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */ - 0x98 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */ + 0x354 (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE10 | MUX_MODE0) /* mmc1_clk.clk */ + 0x358 (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE10 | MUX_MODE0) /* mmc1_cmd.cmd */ + 0x35c (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE10 | MUX_MODE0) /* mmc1_dat0.dat0 */ + 0x360 (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE10 | MUX_MODE0) /* mmc1_dat1.dat1 */ + 0x364 (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE10 | MUX_MODE0) /* mmc1_dat2.dat2 */ + 0x368 (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE10 | MUX_MODE0) /* mmc1_dat3.dat3 */ >; }; - mmc2_pins_hs: mmc2_pins_hs { + mmc1_pins_ddr50: pinmux_mmc1_ddr50_pins { + pinctrl-single,pins = < + 0x354 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc1_clk.clk */ + 0x358 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc1_cmd.cmd */ + 0x35c (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc1_dat0.dat0 */ + 0x360 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc1_dat1.dat1 */ + 0x364 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc1_dat2.dat2 */ + 0x368 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc1_dat3.dat3 */ + >; + }; + + mmc1_pins_sdr104: pinmux_mmc1_sdr104_pins { + pinctrl-single,pins = < + 0x354 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc1_clk.clk */ + 0x358 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc1_cmd.cmd */ + 0x35c (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc1_dat0.dat0 */ + 0x360 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc1_dat1.dat1 */ + 0x364 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc1_dat2.dat2 */ + 0x368 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc1_dat3.dat3 */ + >; + }; +#if 0 + mmc1_pins_default: mmc1_pins_default { + pinctrl-single,pins = < + 0x36c (PIN_INPUT | MUX_MODE14) /* mmc1sdcd.gpio219 */ + 0x354 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */ + 0x358 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */ + 0x35c (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */ + 0x360 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */ + 0x364 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */ + 0x368 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */ + >; + }; +#endif + mmc2_pins_default: mmc2_pins_default { pinctrl-single,pins = < 0x9c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */ 0xb0 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */ @@ -317,263 +268,345 @@ 0x98 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */ >; }; - - mmc2_pins_ddr_1_8v: pinmux_mmc2_ddr_1_8v_pins { + mcasp3_pins_default: mcasp3_pins_default { pinctrl-single,pins = < - 0x9c (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1) /* gpmc_a23.mmc2_clk */ - 0xb0 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */ - 0xa0 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */ - 0xa4 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */ - 0xa8 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */ - 0xac (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */ - 0x8c (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */ - 0x90 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */ - 0x94 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */ - 0x98 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */ + 0x29c (PIN_OUTPUT_PULLUP | MUX_MODE3) /* clk2. */ >; }; -}; -&dra7_iodelay_core { - mmc2_iodelay_ddr_1_8v_conf: mmc2_iodelay_ddr_1_8v_conf { + + usb1_pins_default: usb1_pins_default { + pinctrl-single,pins = < + 0x280 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* clk2. */ + >; + }; + dcan1_pins_default: dcan1_pins_default { + pinctrl-single,pins = < + 0x3d0 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* dcan1_tx */ + 0x3d4 (PULL_UP | MUX_MODE0) /* dcan1_rx */ + >; + }; + dcan1_pins_sleep: dcan1_pins_sleep { + pinctrl-single,pins = < + 0x3d0 (MUX_MODE15 | PULL_UP) /* dcan1_tx */ + 0x3d4 (MUX_MODE15 | PULL_UP) /* dcan1_rx */ + >; + }; + dcan2_pins_default: dcan2_pins_default { + pinctrl-single,pins = < + 0x288 (PIN_OUTPUT_PULLUP | MUX_MODE2) /* gpio6_14.dcan2_tx */ + 0x3bc (PULL_UP | MUX_MODE4) /* spi1_cs3.dcan2_rx */ + >; + }; + dcan2_pins_sleep: dcan2_pins_sleep { + pinctrl-single,pins = < + 0x288 (MUX_MODE15 | PULL_UP) /* gpio6_14.dcan2_tx */ + 0x3bc (MUX_MODE15 | PULL_UP) /* spi1_cs3.dcan2_rx */ + >; + }; +#if 0 + mmc1_pins_hs: pinmux_mmc1_hs_pins { pinctrl-single,pins = < - 0x18c (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A19_IN */ - 0x1a4 (A_DELAY(274) | G_DELAY(240)) /* CFG_GPMC_A20_IN */ - 0x1b0 (A_DELAY(0) | G_DELAY(60)) /* CFG_GPMC_A21_IN */ - 0x1bc (A_DELAY(0) | G_DELAY(60)) /* CFG_GPMC_A22_IN */ - 0x1c8 (A_DELAY(514) | G_DELAY(360)) /* CFG_GPMC_A23_IN */ - 0x1d4 (A_DELAY(187) | G_DELAY(120)) /* CFG_GPMC_A24_IN */ - 0x1e0 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A25_IN */ - 0x1ec (A_DELAY(0) | G_DELAY(60)) /* CFG_GPMC_A26_IN */ - 0x1f8 (A_DELAY(121) | G_DELAY(60)) /* CFG_GPMC_A27_IN */ - 0x360 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_CS1_IN */ - 0x190 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A19_OEN */ - 0x194 (A_DELAY(174) | G_DELAY(0)) /* CFG_GPMC_A19_OUT */ - 0x1a8 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A20_OEN */ - 0x1ac (A_DELAY(168) | G_DELAY(0)) /* CFG_GPMC_A20_OUT */ - 0x1b4 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A21_OEN */ - 0x1b8 (A_DELAY(136) | G_DELAY(0)) /* CFG_GPMC_A21_OUT */ - 0x1c0 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A22_OEN */ - 0x1c4 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A22_OUT */ - 0x1d0 (A_DELAY(879) | G_DELAY(0)) /* CFG_GPMC_A23_OUT */ - 0x1d8 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A24_OEN */ - 0x1dc (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A24_OUT */ - 0x1e4 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A25_OEN */ - 0x1e8 (A_DELAY(34) | G_DELAY(0)) /* CFG_GPMC_A25_OUT */ - 0x1f0 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A26_OEN */ - 0x1f4 (A_DELAY(120) | G_DELAY(0)) /* CFG_GPMC_A26_OUT */ - 0x1fc (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A27_OEN */ - 0x200 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A27_OUT */ - 0x364 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_CS1_OEN */ - 0x368 (A_DELAY(11) | G_DELAY(0)) /* CFG_GPMC_CS1_OUT */ + 0x354 (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_clk.clk */ + 0x358 (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_cmd.cmd */ + 0x35c (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_dat0.dat0 */ + 0x360 (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_dat1.dat1 */ + 0x364 (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_dat2.dat2 */ + 0x368 (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_dat3.dat3 */ >; }; +#endif + uart1_pins: pinmux_uart1_pins { + pinctrl-single,pins = < + 0x3e0 (PIN_INPUT_SLEW | MUX_MODE0) /* uart1_rxd */ + 0x3e4 (PIN_INPUT_SLEW | MUX_MODE0) /* uart1_txd */ + >; + }; + uart7_pins: pinmux_uart7_pins { + pinctrl-single,pins = < + 0x448(PIN_INPUT_SLEW | MUX_MODE7) /* uart7_rxd */ + 0x44c(PIN_INPUT_SLEW | MUX_MODE7) /* uart7_txd */ + >; + }; + uart6_pins: pinmux_uart6_pins { + pinctrl-single,pins = < + 0x450(PIN_INPUT_SLEW | MUX_MODE8) /* uart6_rxd */ + 0x454(PIN_INPUT_SLEW | MUX_MODE8) /* uart6_txd */ + >; + }; + uart8_pins: pinmux_uart8_pins { + pinctrl-single,pins = < + 0x458(PIN_INPUT_SLEW | MUX_MODE7) /* uart8_rxd */ + 0x45c(PIN_INPUT_SLEW | MUX_MODE7) /* uart8_txd */ + >; + }; + + +}; +#if 0 +&dra7_iodelay_core { + mmc2_iodelay_ddr_1_8v_conf: mmc2_iodelay_ddr_1_8v_conf { + pinctrl-single,pins = < + 0x18c (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A19_IN */ + 0x1a4 (A_DELAY(274) | G_DELAY(240)) /* CFG_GPMC_A20_IN */ + 0x1b0 (A_DELAY(0) | G_DELAY(60)) /* CFG_GPMC_A21_IN */ + 0x1bc (A_DELAY(0) | G_DELAY(60)) /* CFG_GPMC_A22_IN */ + 0x1c8 (A_DELAY(514) | G_DELAY(360)) /* CFG_GPMC_A23_IN */ + 0x1d4 (A_DELAY(187) | G_DELAY(120)) /* CFG_GPMC_A24_IN */ + 0x1e0 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A25_IN */ + 0x1ec (A_DELAY(0) | G_DELAY(60)) /* CFG_GPMC_A26_IN */ + 0x1f8 (A_DELAY(121) | G_DELAY(60)) /* CFG_GPMC_A27_IN */ + 0x360 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_CS1_IN */ + 0x190 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A19_OEN */ + 0x194 (A_DELAY(174) | G_DELAY(0)) /* CFG_GPMC_A19_OUT */ + 0x1a8 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A20_OEN */ + 0x1ac (A_DELAY(168) | G_DELAY(0)) /* CFG_GPMC_A20_OUT */ + 0x1b4 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A21_OEN */ + 0x1b8 (A_DELAY(136) | G_DELAY(0)) /* CFG_GPMC_A21_OUT */ + 0x1c0 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A22_OEN */ + 0x1c4 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A22_OUT */ + 0x1d0 (A_DELAY(879) | G_DELAY(0)) /* CFG_GPMC_A23_OUT */ + 0x1d8 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A24_OEN */ + 0x1dc (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A24_OUT */ + 0x1e4 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A25_OEN */ + 0x1e8 (A_DELAY(34) | G_DELAY(0)) /* CFG_GPMC_A25_OUT */ + 0x1f0 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A26_OEN */ + 0x1f4 (A_DELAY(120) | G_DELAY(0)) /* CFG_GPMC_A26_OUT */ + 0x1fc (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A27_OEN */ + 0x200 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_A27_OUT */ + 0x364 (A_DELAY(0) | G_DELAY(0)) /* CFG_GPMC_CS1_OEN */ + 0x368 (A_DELAY(11) | G_DELAY(0)) /* CFG_GPMC_CS1_OUT */ + >; + }; }; - +#endif &i2c1 { status = "okay"; clock-frequency = <400000>; - tps659038: tps659038@58 { - compatible = "ti,tps659038"; - reg = <0x58>; - interrupt-parent = <&gpio1>; - interrupts = <0 IRQ_TYPE_LEVEL_LOW>; + tlc59108: tlc59108@40 + { + compatible = "omapdss,ti,tlc59108-lp101"; + lable = "lcd" ; + reg = <0x40>; + enable-gpios = <&gpio4 11 GPIO_ACTIVE_LOW>; /* P15, CON_LCD_PWR_DN */ + + port { + tlc_in: endpoint { + remote-endpoint = <&dpi_out>; + }; + }; + }; +//}; + tlv320aic3104: tlv320aic3104@18 { + #sound-dai-cells = <0>; + compatible = "ti,tlv320aic3104"; + reg = <0x18>; - #interrupt-cells = <2>; - interrupt-controller; + assigned-clocks = <&clkoutmux2_clk_mux>; + assigned-clock-parents = <&sys_clk2_dclk_div>; + + adc-settle-ms = <40>; + AVDD-supply = <&vdd_3v3>; + IOVDD-supply = <&vdd_3v3>; + DRVDD-supply = <&vdd_3v3>; + DVDD-supply = <&aic_dvdd>; + + status = "okay"; + }; +#if 0 + tlv320aic3106: tlv320aic3106@18 { + #sound-dai-cells = <0>; + compatible = "ti,tlv320aic3106"; + reg = <0x18>; + adc-settle-ms = <40>; + ai3x-micbias-vg = <1>; /* 2.0V */ + status = "okay"; + /* Regulators */ + AVDD-supply = <&vdd_3v3>; + IOVDD-supply = <&vdd_3v3>; + DRVDD-supply = <&vdd_3v3>; + DVDD-supply = <&aic_dvdd>; + }; +#endif + tmp102: tmp102@49 { + compatible = "ti,tmp102"; + reg = <0x49>; + interrupt-parent = <&gpio7>; + interrupts = <16 IRQ_TYPE_LEVEL_LOW>; + #thermal-sensor-cells = <1>; + }; +tps65917: tps65917@58 { + compatible = "ti,tps65917"; + reg = <0x58>; +#if 0 + interrupts = ; /* IRQ_SYS_1N */ + interrupt-controller; + #interrupt-cells = <2>; +#endif ti,system-power-controller; - tps659038_pmic { - compatible = "ti,tps659038-pmic"; + tps65917_pmic { + compatible = "ti,tps65917-pmic"; + + smps1-in-supply = <&evm_3v3_sd>; + smps2-in-supply = <&evm_3v3_sd>; + smps3-in-supply = <&evm_3v3_sd>; + smps4-in-supply = <&evm_3v3_sd>; + smps5-in-supply = <&evm_3v3_sd>; + ldo1-in-supply = <&evm_3v3_sd>; + ldo2-in-supply = <&evm_3v3_sd>; + ldo3-in-supply = <&evm_3v3_sd>; + ldo4-in-supply = <&evm_3v3_sd>; + ldo5-in-supply = <&evm_3v3_sd>; + + regulators { - smps12_reg: smps12 { + smps1_reg: smps1 { /* VDD_MPU */ - regulator-name = "smps12"; - regulator-min-microvolt = < 850000>; - regulator-max-microvolt = <1250000>; - regulator-always-on; - regulator-boot-on; - }; - - smps3_reg: smps3 { - /* VDD_DDR */ - regulator-name = "smps3"; - regulator-min-microvolt = <1350000>; - regulator-max-microvolt = <1350000>; + regulator-name = "smps1"; + regulator-min-microvolt = <850000>; + regulator-max-microvolt = <1150000>; regulator-always-on; regulator-boot-on; }; - smps45_reg: smps45 { - /* VDD_DSPEVE, VDD_IVA, VDD_GPU */ - regulator-name = "smps45"; - regulator-min-microvolt = < 850000>; + smps2_reg: smps2 { + /* VDD_CORE */ + regulator-name = "smps2"; + regulator-min-microvolt = <850000>; regulator-max-microvolt = <1150000>; - regulator-always-on; regulator-boot-on; + regulator-always-on; }; - smps6_reg: smps6 { - /* VDD_CORE */ - regulator-name = "smps6"; + smps3_reg: smps3 { + /* VDD_GPU IVA DSPEVE */ + regulator-name = "smps3"; regulator-min-microvolt = <850000>; - regulator-max-microvolt = <1030000>; - regulator-always-on; + regulator-max-microvolt = <1060000>; regulator-boot-on; + regulator-always-on; }; - /* SMPS7 unused */ - - smps8_reg: smps8 { - /* VDD_1V8 */ - regulator-name = "smps8"; + smps4_reg: smps4 { + /* VDDS1V8 */ + regulator-name = "smps4"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; regulator-boot-on; }; - /* SMPS9 unused */ - - ldo1_reg: ldo1 { - /* VDD_SD / VDDSHV8 */ - regulator-name = "ldo1"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <3300000>; + smps5_reg: smps5 { + /* VDD_DDR */ + regulator-name = "smps5"; + regulator-min-microvolt = <1350000>; + regulator-max-microvolt = <1350000>; regulator-boot-on; regulator-always-on; }; - ldo2_reg: ldo2 { - /* VDD_SHV5 */ - regulator-name = "ldo2"; + ldo1_reg: ldo1 { + /* LDO1_OUT --> SDIO */ + regulator-name = "ldo1"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; regulator-boot-on; }; - ldo3_reg: ldo3 { - /* VDDA_1V8_PHYA */ - regulator-name = "ldo3"; + ldo2_reg: ldo2 { + /* LDO2_OUT --> TP1017 (UNUSED) */ + regulator-name = "ldo2"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; - regulator-always-on; - regulator-boot-on; }; - ldo4_reg: ldo4 { - /* VDDA_1V8_PHYB */ - regulator-name = "ldo4"; + ldo3_reg: ldo3 { + /* VDDA_1V8_PHY */ + regulator-name = "ldo3"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; - regulator-always-on; regulator-boot-on; - }; - - ldo9_reg: ldo9 { - /* VDD_RTC */ - regulator-name = "ldo9"; - regulator-min-microvolt = <1050000>; - regulator-max-microvolt = <1050000>; regulator-always-on; - regulator-boot-on; }; - ldoln_reg: ldoln { + ldo5_reg: ldo5 { /* VDDA_1V8_PLL */ - regulator-name = "ldoln"; + regulator-name = "ldo5"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; regulator-boot-on; }; - ldousb_reg: ldousb { + ldo4_reg: ldo4 { /* VDDA_3V_USB: VDDA_USBHS33 */ - regulator-name = "ldousb"; + regulator-name = "ldo4"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-boot-on; }; - - regen1: regen1 { - /* VDD_3V3_ON */ - regulator-name = "regen1"; - regulator-boot-on; - regulator-always-on; - }; }; }; - tps659038_rtc: tps659038_rtc { - compatible = "ti,palmas-rtc"; - interrupt-parent = <&tps659038>; - interrupts = <8 IRQ_TYPE_EDGE_FALLING>; - wakeup-source; - }; - - tps659038_pwr_button: tps659038_pwr_button { +#if 0 + tps65917_power_button { compatible = "ti,palmas-pwrbutton"; - interrupt-parent = <&tps659038>; - interrupts = <1 IRQ_TYPE_EDGE_FALLING>; + interrupt-parent = <&tps65917>; + interrupts = <1 IRQ_TYPE_NONE>; wakeup-source; - ti,palmas-long-press-seconds = <12>; + ti,palmas-long-press-seconds = <6>; }; +#endif + }; - tps659038_gpio: tps659038_gpio { - compatible = "ti,palmas-gpio"; - gpio-controller; - #gpio-cells = <2>; - }; + //}; - extcon_usb2: tps659038_usb { - compatible = "ti,palmas-usb-vid"; - ti,enable-vbus-detection; - ti,enable-id-detection; - id-gpios = <&gpio7 24 GPIO_ACTIVE_HIGH>; - }; +}; - }; - tmp102: tmp102@48 { - compatible = "ti,tmp102"; - reg = <0x48>; - interrupt-parent = <&gpio7>; - interrupts = <16 IRQ_TYPE_LEVEL_LOW>; - #thermal-sensor-cells = <1>; - }; - tlv320aic3104: tlv320aic3104@18 { - #sound-dai-cells = <0>; - compatible = "ti,tlv320aic3104"; - reg = <0x18>; - status = "okay"; - adc-settle-ms = <40>; - AVDD-supply = <&vdd_3v3>; - IOVDD-supply = <&vdd_3v3>; - DRVDD-supply = <&vdd_3v3>; - DVDD-supply = <&aic_dvdd>; - }; +&uart1 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&uart1_pins>; }; +&uart7 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&uart7_pins>; +}; +&uart6 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&uart6_pins>; +}; +&uart8 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&uart8_pins>; +}; +&dss { + status = "ok"; + vdda_video-supply = <&ldo5_reg>; + ports { + #address-cells = <1>; + #size-cells = <0>; -&i2c3 { - status = "okay"; - clock-frequency = <400000>; - - mcp_rtc: rtc@6f { - compatible = "microchip,mcp7941x"; - reg = <0x6f>; - interrupts-extended = <&crossbar_mpu GIC_SPI 2 IRQ_TYPE_EDGE_RISING>, - <&dra7_pmx_core 0x424>; + port { + reg = <0>; - vcc-supply = <&vdd_3v3>; - wakeup-source; - }; + dpi_out: endpoint { + remote-endpoint = <&tlc_in>; + data-lines = <24>; + }; + }; + }; }; &gpio7 { @@ -581,108 +614,116 @@ ti,no-idle-on-init; }; +&gpio4 { + ti,no-idle-on-init; +}; + +&gpio6 { + ti,no-reset-on-init; + ti,no-idle-on-init; +}; + &voltdm_mpu { - vdd-supply = <&smps12_reg>; + vdd-supply = <&smps1_reg>; }; &voltdm_dspeve { - vdd-supply = <&smps45_reg>; + vdd-supply = <&smps3_reg>; }; &voltdm_gpu { - vdd-supply = <&smps45_reg>; + vdd-supply = <&smps3_reg>; }; &voltdm_ivahd { - vdd-supply = <&smps45_reg>; + vdd-supply = <&smps3_reg>; }; &voltdm_core { - vdd-supply = <&smps6_reg>; + vdd-supply = <&smps2_reg>; }; &cpu0 { - cpu0-voltdm = <&voltdm_mpu>; + //cpu0-voltdm = <&voltdm_mpu>; + cpu0-supply = <&smps1_reg>; voltage-tolerance = <1>; }; -&uart3 { - status = "okay"; - interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, - <&dra7_pmx_core 0x3f8>; -}; - &mac { status = "okay"; - dual_emac; + //dual_emac; }; - &cpsw_emac0 { - phy_id = <&davinci_mdio>, <1>; - phy-mode = "rgmii"; - dual_emac_res_vlan = <1>; -}; - -&cpsw_emac1 { - phy_id = <&davinci_mdio>, <2>; - phy-mode = "rgmii"; - dual_emac_res_vlan = <2>; + phy_id = <&davinci_mdio>, <9>; + phy-mode = "rmii"; + //dual_emac_res_vlan = <1>; }; +//&cpsw_emac1 { +// phy_id = <&davinci_mdio>, <3>; +// phy-mode = "rgmii";// +// dual_emac_res_vlan = <2>; +//}; &mmc1 { status = "okay"; - - pinctrl-names = "default", "hs"; +#if 0 + pinctrl-names = "default"; + pinctrl-0 = <&mmc1_pins_default>; +#endif + pinctrl-names = "default", "hs", "sdr12", "sdr25", "sdr50", "ddr50-rev11", "sdr104-rev11", "ddr50", "sdr104"; pinctrl-0 = <&mmc1_pins_default>; pinctrl-1 = <&mmc1_pins_hs>; - - vmmc-supply = <&ldo1_reg>; + pinctrl-2 = <&mmc1_pins_sdr12>; + pinctrl-3 = <&mmc1_pins_sdr25>; + pinctrl-4 = <&mmc1_pins_sdr50>; + pinctrl-5 = <&mmc1_pins_ddr50>; + pinctrl-6 = <&mmc1_pins_sdr104>; + pinctrl-7 = <&mmc1_pins_ddr50>; + pinctrl-8 = <&mmc1_pins_sdr104>; + + //pinctrl-1 = <&mmc1_pins_hs>; + //pbias-supply = <&pbias_mmc_reg>; + vmmc-supply = <&evm_3v3_sd>; + //vmmc_aux-supply = <&ldo1_reg>; bus-width = <4>; cd-gpios = <&gpio6 27 0>; /* gpio 219 */ - max-frequency = <96000000>; - /delete-property/ sd-uhs-sdr104; - /delete-property/ sd-uhs-sdr50; - /delete-property/ sd-uhs-ddr50; - /delete-property/ sd-uhs-sdr25; - /delete-property/ sd-uhs-sdr12; +// max-frequency = <96000000>; }; &mmc2 { status = "okay"; - - pinctrl-names = "default", "hs", "ddr_1_8v"; - pinctrl-0 = <&mmc2_pins_default>; - pinctrl-1 = <&mmc2_pins_hs>; - pinctrl-2 = <&mmc2_pins_ddr_1_8v &mmc2_iodelay_ddr_1_8v_conf>; - - vmmc-supply = <&vdd_3v3>; + vmmc-supply = <&evm_3v3_sd>; bus-width = <8>; - ti,non-removable; - cap-mmc-dual-data-rate; - max-frequency = <96000000>; - /delete-property/ mmc-hs200-1_8v; + pinctrl-names = "default"; + pinctrl-0 = <&mmc2_pins_default>; + //pinctrl-1 = <&mmc2_pins_hs>; + //pinctrl-2 = <&mmc2_pins_ddr_3_3v &mmc2_iodelay_ddr_3_3v_conf>; + //mmc-ddr-1_8v; }; &sata { - status = "okay"; + status = "disabled"; }; &usb2_phy1 { - phy-supply = <&ldousb_reg>; + //phy-supply = <&ldousb_reg>; + phy-supply = <&ldo4_reg>; }; &usb2_phy2 { - phy-supply = <&ldousb_reg>; + //phy-supply = <&ldousb_reg>; + phy-supply = <&ldo4_reg>; }; &usb1 { + pinctrl-0 = <&usb1_pins_default>; dr_mode = "host"; }; + &omap_dwc3_1 { extcon = <&extcon_usb1>; }; - &omap_dwc3_2 { extcon = <&extcon_usb2>; }; @@ -696,9 +737,22 @@ * the necessary dr_mode override in the expansion * board's DT. */ - dr_mode = "peripheral"; + dr_mode = "host"; + pinctrl-names = "default"; + pinctrl-0 = <&usb2_pins_default>; }; +&thermal_zones { + board_thermal: board_thermal { + polling-delay-passive = <1250>; /* milliseconds */ + polling-delay = <1500>; /* milliseconds */ + + /* sensor ID */ + thermal-sensors = <&tmp102 0>; + }; + +}; +#if 0 &cpu_trips { cpu_alert1: cpu_alert1 { temperature = <50000>; /* millicelsius */ @@ -710,7 +764,7 @@ &cpu_cooling_maps { map1 { trip = <&cpu_alert1>; - cooling-device = <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; +// cooling-device = <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; }; }; @@ -739,37 +793,34 @@ board_cooling_maps: cooling-maps { map0 { trip = <&board_alert0>; - cooling-device = - <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; + // cooling-device = + // <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; }; }; }; }; &dss { - status = "ok"; - - vdda_video-supply = <&ldoln_reg>; + status = "okay"; + vdda_video-supply = <&ldo5_reg>; }; - -&hdmi { - status = "ok"; - vdda-supply = <&ldo4_reg>; - - pinctrl-names = "default"; - pinctrl-0 = <&hdmi_pins>; - - port { - hdmi_out: endpoint { - remote-endpoint = <&tpd12s015_in>; - }; - }; +#endif +&dcan1 { + status = "okay"; + pinctrl-names = "default","sleep"; + pinctrl-0 = <&dcan1_pins_default>;pinctrl-1 = <&dcan1_pins_sleep>; +}; +&dcan2 { + status = "okay"; + pinctrl-names = "default","sleep"; + pinctrl-0 = <&dcan2_pins_default>; +pinctrl-1 = <&dcan2_pins_sleep>; }; - &mcasp3 { #sound-dai-cells = <0>; status = "okay"; - + pinctrl-0 = <&mcasp3_pins_default>; + assigned-clocks = <&mcasp3_ahclkx_mux>; op-mode = <0>; /* MCASP_IIS_MODE */ tdm-slots = <2>; /* 4 serializers */ @@ -780,11 +831,6 @@ rx-num-evt = <8>; }; -&rtc { - status = "okay"; - ext-clk-src; -}; - &mailbox3 { status = "okay"; mbox_pru1_0: mbox_pru1_0 { @@ -825,6 +871,7 @@ }; }; + &mmu0_dsp1 { status = "okay"; }; @@ -833,14 +880,6 @@ status = "okay"; }; -&mmu0_dsp2 { - status = "okay"; -}; - -&mmu1_dsp2 { - status = "okay"; -}; - &mmu_ipu1 { status = "okay"; }; @@ -870,37 +909,10 @@ mboxes = <&mailbox5 &mbox_dsp1_ipc3x>; timers = <&timer5>; }; +/* +&rtc { + status = "okay"; + ext-clk-src; +};*/ -&dsp2 { - status = "okay"; - memory-region = <&dsp2_cma_pool>; - mboxes = <&mailbox6 &mbox_dsp2_ipc3x>; - timers = <&timer6>; -}; - -&pruss1 { - status = "okay"; - pru1_0: pru@4b234000 { - mboxes = <&mailbox3 &mbox_pru1_0>; - status = "okay"; - }; - - pru1_1: pru@4b238000 { - mboxes = <&mailbox3 &mbox_pru1_1>; - status = "okay"; - }; -}; - -&pruss2 { - status = "okay"; - pru2_0: pru@4b2b4000 { - mboxes = <&mailbox4 &mbox_pru2_0>; - status = "okay"; - }; - - pru2_1: pru@4b2b8000 { - mboxes = <&mailbox4 &mbox_pru2_1>; - status = "okay"; - }; -}; -#include "am57xx-evm-cmem.dtsi" +#include "am57xx-evm-cmem-am571x.dtsi" diff --git a/arch/arm/boot/dts/am57xx-evm.dts b/arch/arm/boot/dts/am57xx-evm.dts index 9146afc..ed9790c 100644 --- a/arch/arm/boot/dts/am57xx-evm.dts +++ b/arch/arm/boot/dts/am57xx-evm.dts @@ -16,7 +16,7 @@ aliases { display0 = &lcd0; - display1 = &hdmi0; +// display1 = &hdmi0; }; gpio_keys { @@ -284,6 +284,83 @@ &uart8 { status = "okay"; }; +&gpmc { + status = "okay"; + ranges = <0 0 0 0x01000000>; /* minimum GPMC partition = 16MB */ + nand@0,0 { + reg = <0 0 4>; /* device IO registers */ + ti,nand-ecc-opt = "bch8"; + ti,elm-id = <&elm>; + nand-bus-width = <16>; + gpmc,device-width = <2>; + gpmc,sync-clk-ps = <0>; + gpmc,cs-on-ns = <0>; + gpmc,cs-rd-off-ns = <80>; + gpmc,cs-wr-off-ns = <80>; + gpmc,adv-on-ns = <0>; + gpmc,adv-rd-off-ns = <60>; + gpmc,adv-wr-off-ns = <60>; + gpmc,we-on-ns = <10>; + gpmc,we-off-ns = <50>; + gpmc,oe-on-ns = <4>; + gpmc,oe-off-ns = <40>; + gpmc,access-ns = <40>; + gpmc,wr-access-ns = <80>; + gpmc,rd-cycle-ns = <80>; + gpmc,wr-cycle-ns = <80>; + gpmc,bus-turnaround-ns = <0>; + gpmc,cycle2cycle-delay-ns = <0>; + gpmc,clk-activation-ns = <0>; + gpmc,wait-monitoring-ns = <0>; + gpmc,wr-data-mux-bus-ns = <0>; + /* MTD partition table */ + /* All SPL-* partitions are sized to minimal length + * which can be independently programmable. For + * NAND flash this is equal to size of erase-block */ + #address-cells = <1>; + #size-cells = <1>; + partition@0 { + label = "NAND.SPL"; + reg = <0x00000000 0x000020000>; + }; + partition@1 { + label = "NAND.SPL.backup1"; + reg = <0x00020000 0x00020000>; + }; + partition@2 { + label = "NAND.SPL.backup2"; + reg = <0x00040000 0x00020000>; + }; + partition@3 { + label = "NAND.SPL.backup3"; + reg = <0x00060000 0x00020000>; + }; + partition@4 { + label = "NAND.u-boot-spl-os"; + reg = <0x00080000 0x00040000>; + }; + partition@5 { + label = "NAND.u-boot"; + reg = <0x000c0000 0x00100000>; + }; + partition@6 { + label = "NAND.u-boot-env"; + reg = <0x001c0000 0x00020000>; + }; + partition@7 { + label = "NAND.u-boot-env.backup1"; + reg = <0x001e0000 0x00020000>; + }; + partition@8 { + label = "NAND.kernel"; + reg = <0x00200000 0x00800000>; + }; + partition@9 { + label = "NAND.file-system"; + reg = <0x00a00000 0x0f600000>; + }; + }; +}; &mmc3 { status = "okay"; diff --git a/arch/arm/boot/dts/am57xx-idk-common.dtsi b/arch/arm/boot/dts/am57xx-idk-common.dtsi index 15fc877..d48a582 100644 --- a/arch/arm/boot/dts/am57xx-idk-common.dtsi +++ b/arch/arm/boot/dts/am57xx-idk-common.dtsi @@ -1,5 +1,5 @@ /* - * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/ + * Copyright (C) 2015-2016 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 @@ -8,10 +8,8 @@ / { aliases { - rtc0 = &tps659038_rtc; - rtc1 = &rtc; - display0 = &hdmi0; - sound0 = &hdmi; + //rtc0 = &tps659038_rtc; + //rtc1 = &rtc; }; vmain: fixedregulator-vmain { @@ -26,7 +24,7 @@ v3_3d: fixedregulator-v3_3d { compatible = "regulator-fixed"; regulator-name = "V3_3D"; - vin-supply = <&smps9_reg>; + //vin-supply = <&smps9_reg>; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; @@ -37,337 +35,145 @@ /* TPS51200 */ compatible = "regulator-fixed"; regulator-name = "vtt_fixed"; - vin-supply = <&v3_3d>; + //vin-supply = <&v3_3d>; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; regulator-boot-on; }; - - hdmi0: connector@0 { - compatible = "hdmi-connector"; - label = "hdmi"; - - type = "a"; - - port { - hdmi_connector_in: endpoint { - remote-endpoint = <&tpd12s015_out>; - }; - }; - }; - - tpd12s015: encoder@0 { - compatible = "ti,tpd12s016", "ti,tpd12s015"; - - gpios = <0>, /* optional CT_CP_HPD */ - <0>, /* optional LS_OE */ - <&gpio7 12 GPIO_ACTIVE_HIGH>; /* HPD */ - - ports { - #address-cells = <1>; - #size-cells = <0>; - - port@0 { - reg = <0>; - - tpd12s015_in: endpoint@0 { - remote-endpoint = <&hdmi_out>; - }; - }; - - port@1 { - reg = <1>; - - tpd12s015_out: endpoint@0 { - remote-endpoint = <&hdmi_connector_in>; - }; - }; - }; - }; - - src_clk_x1: src_clk_x1 { - #clock-cells = <0>; - compatible = "fixed-clock"; - clock-frequency = <20000000>; - }; -}; - -&dra7_pmx_core { - dcan1_pins_default: dcan1_pins_default { - pinctrl-single,pins = < - 0x3d0 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* dcan1_tx */ - 0x3d4 (PIN_INPUT_PULLUP | MUX_MODE0) /* dcan1_rx */ - >; - }; - - dcan1_pins_sleep: dcan1_pins_sleep { - pinctrl-single,pins = < - 0x3d0 (MUX_MODE15 | PULL_UP) /* dcan1_tx.off */ - 0x3d4 (MUX_MODE15 | PULL_UP) /* dcan1_rx.off */ - >; - }; }; &i2c1 { status = "okay"; clock-frequency = <400000>; - tps659038: tps659038@58 { - compatible = "ti,tps659038"; +tps65917: tps65917@58 { + compatible = "ti,tps65917"; reg = <0x58>; - interrupts-extended = <&gpio6 16 IRQ_TYPE_LEVEL_HIGH - &dra7_pmx_core 0x418>; - #interrupt-cells = <2>; + + interrupts = ; /* IRQ_SYS_1N */ interrupt-controller; + #interrupt-cells = <2>; + ti,system-power-controller; - tps659038_pmic { - compatible = "ti,tps659038-pmic"; + tps65917_pmic { + compatible = "ti,tps65917-pmic"; + regulators { - smps12_reg: smps12 { + smps1_reg: smps1 { /* VDD_MPU */ - vin-supply = <&vmain>; - regulator-name = "smps12"; + regulator-name = "smps1"; regulator-min-microvolt = <850000>; - regulator-max-microvolt = <1250000>; - regulator-always-on; - regulator-boot-on; - }; - - smps3_reg: smps3 { - /* VDD_DDR EMIF1 EMIF2 */ - vin-supply = <&vmain>; - regulator-name = "smps3"; - regulator-min-microvolt = <1350000>; - regulator-max-microvolt = <1350000>; + regulator-max-microvolt = <1150000>; regulator-always-on; regulator-boot-on; }; - smps45_reg: smps45 { - /* VDD_DSPEVE on AM572 */ - /* VDD_IVA + VDD_DSP on AM571 */ - vin-supply = <&vmain>; - regulator-name = "smps45"; + smps2_reg: smps2 { + /* VDD_CORE */ + regulator-name = "smps2"; regulator-min-microvolt = <850000>; - regulator-max-microvolt = <1250000>; - regulator-always-on; + regulator-max-microvolt = <1150000>; regulator-boot-on; + regulator-always-on; }; - smps6_reg: smps6 { - /* VDD_GPU */ - vin-supply = <&vmain>; - regulator-name = "smps6"; + smps3_reg: smps3 { + /* VDD_GPU IVA DSPEVE */ + regulator-name = "smps3"; regulator-min-microvolt = <850000>; - regulator-max-microvolt = <1250000>; - regulator-always-on; + regulator-max-microvolt = <1060000>; regulator-boot-on; + regulator-always-on; }; - smps7_reg: smps7 { - /* VDD_CORE */ - vin-supply = <&vmain>; - regulator-name = "smps7"; - regulator-min-microvolt = <850000>; - regulator-max-microvolt = <1150000>; + smps4_reg: smps4 { + /* VDDS1V8 */ + regulator-name = "smps4"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; regulator-always-on; regulator-boot-on; }; - smps8_reg: smps8 { - /* 5728 - VDD_IVAHD */ - /* 5718 - N.C. test point */ - vin-supply = <&vmain>; - regulator-name = "smps8"; - }; - - smps9_reg: smps9 { - /* VDD_3_3D */ - vin-supply = <&vmain>; - regulator-name = "smps9"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - regulator-always-on; + smps5_reg: smps5 { + /* VDD_DDR */ + regulator-name = "smps5"; + regulator-min-microvolt = <1350000>; + regulator-max-microvolt = <1350000>; regulator-boot-on; + regulator-always-on; }; ldo1_reg: ldo1 { - /* VDDSHV8 - VSDMMC */ - /* NOTE: on rev 1.3a, data supply */ - vin-supply = <&vmain>; + /* LDO1_OUT --> SDIO */ regulator-name = "ldo1"; - regulator-min-microvolt = <3300000>; + regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; - regulator-boot-on; regulator-always-on; + regulator-boot-on; }; ldo2_reg: ldo2 { - /* VDDSH18V */ - vin-supply = <&vmain>; + /* LDO2_OUT --> TP1017 (UNUSED) */ regulator-name = "ldo2"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; - regulator-always-on; - regulator-boot-on; }; ldo3_reg: ldo3 { - /* R1.2a 572x V1_8PHY: USB1,2,3, SATA, PCIE, HDMI */ - /* R1.3a 572x V1_8PHY_LDO3: USB, SATA */ - /* R1.2a 571x V1_8PHY_LDO3: USB1,2, CSI; V1_8PHYA: SATA */ - vin-supply = <&vmain>; + /* VDDA_1V8_PHY */ regulator-name = "ldo3"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; - regulator-always-on; regulator-boot-on; - }; - - ldo4_reg: ldo4 { - /* R1.2a 572x - unused */ - /* R1.3a 572x V1_8PHY_LDO4: PCIE, HDMI */ - /* R1.2a 571x V1_8PHY_LDO4: V1_8PHYB: USB3, PCIE, HDMI */ - vin-supply = <&vmain>; - regulator-name = "ldo4"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; regulator-always-on; - regulator-boot-on; }; - /* LDO5-8 unused */ - - ldo9_reg: ldo9 { - /* VDD_RTC (unused in rev 1.3a am572x-idk) */ - vin-supply = <&vmain>; - regulator-name = "ldo9"; - regulator-min-microvolt = <840000>; - regulator-max-microvolt = <1160000>; - regulator-always-on; - regulator-boot-on; - }; - - ldoln_reg: ldoln { + ldo5_reg: ldo5 { /* VDDA_1V8_PLL */ - vin-supply = <&vmain>; - regulator-name = "ldoln"; + regulator-name = "ldo5"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; regulator-boot-on; }; - ldousb_reg: ldousb { + ldo4_reg: ldo4 { /* VDDA_3V_USB: VDDA_USBHS33 */ - vin-supply = <&vmain>; - regulator-name = "ldousb"; + regulator-name = "ldo4"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; - regulator-always-on; - regulator-boot-on; - }; - - ldortc_reg: ldortc { - /* VDDA_RTC (unused on rev am572x 1.3a) */ - vin-supply = <&vmain>; - regulator-name = "ldortc"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - regulator-always-on; - regulator-boot-on; - }; - - regen1: regen1 { - /* VDD_3V3_ON */ - regulator-name = "regen1"; regulator-boot-on; - regulator-always-on; - }; - - regen2: regen2 { - /* Needed for PMIC internal resource */ - regulator-name = "regen2"; - regulator-boot-on; - regulator-always-on; }; }; }; - tps659038_rtc: tps659038_rtc { - compatible = "ti,palmas-rtc"; - interrupt-parent = <&tps659038>; - interrupts = <8 IRQ_TYPE_EDGE_FALLING>; - wakeup-source; - }; - - tps659038_pwr_button: tps659038_pwr_button { + tps65917_power_button { compatible = "ti,palmas-pwrbutton"; - interrupt-parent = <&tps659038>; - interrupts = <1 IRQ_TYPE_EDGE_FALLING>; + interrupt-parent = <&tps65917>; + interrupts = <1 IRQ_TYPE_NONE>; wakeup-source; - ti,palmas-long-press-seconds = <12>; - }; - - tps659038_gpio: tps659038_gpio { - compatible = "ti,palmas-gpio"; - gpio-controller; - #gpio-cells = <2>; + ti,palmas-long-press-seconds = <6>; }; }; - tc358778: tc358778@0e { - compatible = "toshiba,tc358778", "toshiba,tc358768"; - reg = <0x0e>; - status = "disabled"; - - clocks = <&src_clk_x1>; - clock-names = "refclk"; + //}; + /* TLC chip for LCD panel power and backlight */ + tlc59108: tlc59108@40 { + compatible = "omapdss,ti,tlc59108-lp101"; + lable = "lcd" ; + reg = <0x40>; + //enable-gpios = <&gpio1 13 GPIO_ACTIVE_LOW>; /* P15, CON_LCD_PWR_DN */ + + port { + tlc_in: endpoint { + remote-endpoint = <&dpi_out>; + }; + }; + }; - ports { - #address-cells = <1>; - #size-cells = <0>; - - port@0 { - reg = <0>; - tc358778_in: endpoint { - remote-endpoint = <&dpi_out>; - data-lines = <24>; - }; - }; - - port@1 { - reg = <1>; - tc358778_out: endpoint { - /* - * lanes and remote-endpoint defined per - * panel. - */ - }; - }; - }; - }; - - ov2659: ov2659@30 { - compatible = "ovti,ov2659"; - reg = <0x30>; - - clocks = <&src_clk_x1>; - clock-names = "xvclk"; - - pwrdn-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>; - - port { - ov2659_1: endpoint { - hsync-active = <1>; - vsync-active = <1>; - pclk-sample = <1>; - link-frequencies = /bits/ 64 <70000000>; - }; - }; - }; }; &uart3 { @@ -376,31 +182,6 @@ &dra7_pmx_core 0x248>; }; -&voltdm_mpu { - vdd-supply = <&smps12_reg>; -}; - -&voltdm_dspeve { - vdd-supply = <&smps45_reg>; -}; - -&voltdm_gpu { - vdd-supply = <&smps45_reg>; -}; - -&voltdm_ivahd { - vdd-supply = <&smps45_reg>; -}; - -&voltdm_core { - vdd-supply = <&smps6_reg>; -}; - -&cpu0 { - cpu0-voltdm = <&voltdm_mpu>; - voltage-tolerance = <1>; -}; - &rtc { status = "okay"; ext-clk-src; @@ -424,11 +205,11 @@ }; &usb2_phy1 { - phy-supply = <&ldousb_reg>; + phy-supply = <&ldo4_reg>; }; &usb2_phy2 { - phy-supply = <&ldousb_reg>; + phy-supply = <&ldo4_reg>; }; &usb1 { @@ -439,120 +220,73 @@ dr_mode = "otg"; }; -&dcan1 { - status = "okay"; - pinctrl-names = "default", "sleep", "active"; - pinctrl-0 = <&dcan1_pins_sleep>; - pinctrl-1 = <&dcan1_pins_sleep>; - pinctrl-2 = <&dcan1_pins_default>; -}; - &mmc1 { status = "okay"; - pinctrl-names = "default", "hs"; - pinctrl-0 = <&mmc1_pins_default>; - pinctrl-1 = <&mmc1_pins_hs>; - vmmc-supply = <&ldo1_reg>; + //vmmc-supply = <&v3_3d>; + //vmmc_aux-supply = <&ldo1_reg>; bus-width = <4>; - cd-gpios = <&gpio6 27 0>; /* gpio 219 */ - max-frequency = <96000000>; - /delete-property/ sd-uhs-sdr104; - /delete-property/ sd-uhs-sdr50; - /delete-property/ sd-uhs-ddr50; - /delete-property/ sd-uhs-sdr25; - /delete-property/ sd-uhs-sdr12; + cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */ + max-frequency = <192000000>; }; &mmc2 { status = "okay"; - pinctrl-names = "default", "hs"; - pinctrl-0 = <&mmc2_pins_default>; - pinctrl-1 = <&mmc2_pins_hs>; vmmc-supply = <&v3_3d>; bus-width = <8>; ti,non-removable; max-frequency = <96000000>; -}; - -&mailbox3 { - status = "okay"; - mbox_pru1_0: mbox_pru1_0 { - status = "okay"; - }; - mbox_pru1_1: mbox_pru1_1 { - status = "okay"; - }; -}; - -&mailbox4 { - status = "okay"; - mbox_pru2_0: mbox_pru2_0 { - status = "okay"; - }; - mbox_pru2_1: mbox_pru2_1 { - status = "okay"; - }; -}; - -&pruss1 { - status = "okay"; - pru1_0: pru@4b234000 { - mboxes = <&mailbox3 &mbox_pru1_0>; - status = "okay"; - }; - - pru1_1: pru@4b238000 { - mboxes = <&mailbox3 &mbox_pru1_1>; - status = "okay"; - }; -}; - -&pruss2 { - status = "okay"; - pru2_0: pru@4b2b4000 { - mboxes = <&mailbox4 &mbox_pru2_0>; - status = "okay"; - }; - - pru2_1: pru@4b2b8000 { - mboxes = <&mailbox4 &mbox_pru2_1>; - status = "okay"; - }; -}; - -&hdmi { - status = "okay"; /* - * XXX: Support AM572x-Rev 1.2a. this is wrong for AM571x-rev 1.3a, - * AM572x-Rev1.3a - but thanks to always-on, they work. - * TODO: SWITCH TO LDO4 once rev 1.2a is deprecated - * (on rev 1.3a availability) + * eMMC on AM57xx IDK boards cannot support HS200 mode because + * the IO voltage is tied to 3.3V */ - vdda-supply = <&ldo3_reg>; - - port { - hdmi_out: endpoint { - remote-endpoint = <&tpd12s015_in>; - }; - }; + /delete-property/ mmc-hs200-1_8v; }; -&dss { +&qspi { status = "okay"; - vdda_video-supply = <&ldoln_reg>; - - ports { + spi-max-frequency = <76800000>; + m25p80@0 { + compatible = "s25fl256s1","spi-flash"; + spi-max-frequency = <76800000>; + reg = <0>; + spi-tx-bus-width = <1>; + spi-rx-bus-width = <4>; #address-cells = <1>; - #size-cells = <0>; - - port@0 { - reg = <0>; - - dpi_out: endpoint { - remote-endpoint = <&tc358778_in>; - data-lines = <24>; - }; + #size-cells = <1>; + + /* MTD partition table. + * The ROM checks the first four physical blocks + * for a valid file to boot and the flash here is + * 64KiB block size. + */ + partition@0 { + label = "QSPI.SPL"; + reg = <0x00000000 0x000040000>; + }; + partition@1 { + label = "QSPI.u-boot"; + reg = <0x00040000 0x00100000>; + }; + partition@2 { + label = "QSPI.u-boot-spl-os"; + reg = <0x00140000 0x00080000>; + }; + partition@3 { + label = "QSPI.u-boot-env"; + reg = <0x001c0000 0x00010000>; + }; + partition@4 { + label = "QSPI.u-boot-env.backup1"; + reg = <0x001d0000 0x0010000>; + }; + partition@5 { + label = "QSPI.kernel"; + reg = <0x001e0000 0x0800000>; + }; + partition@6 { + label = "QSPI.file-system"; + reg = <0x009e0000 0x01620000>; }; }; }; diff --git a/arch/arm/boot/dts/am57xx-idk-lcd-osd.dtsi b/arch/arm/boot/dts/am57xx-idk-lcd-osd.dtsi index 70550e9..a050606 100644 --- a/arch/arm/boot/dts/am57xx-idk-lcd-osd.dtsi +++ b/arch/arm/boot/dts/am57xx-idk-lcd-osd.dtsi @@ -49,12 +49,12 @@ port { lcd_in: endpoint { - remote-endpoint = <&tc358778_out>; + //remote-endpoint = <&tc358778_out>; }; }; }; }; - +#if 0 &tc358778 { status = "okay"; }; @@ -63,7 +63,7 @@ remote-endpoint = <&lcd_in>; lanes = <0 1 2 3 4 5 6 7 8 9>; }; - +#endif &epwmss0 { status = "okay"; diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi index bf77d61..57fbc10 100644 --- a/arch/arm/boot/dts/dra7.dtsi +++ b/arch/arm/boot/dts/dra7.dtsi @@ -1572,8 +1572,8 @@ phys = <&usb2_phy1>, <&usb3_phy1>; phy-names = "usb2-phy", "usb3-phy"; tx-fifo-resize; - maximum-speed = "super-speed"; - dr_mode = "otg"; + maximum-speed = "high-speed"; + dr_mode = "host"; snps,dis_u3_susphy_quirk; snps,dis_u2_susphy_quirk; }; diff --git a/arch/arm/boot/dts/dra74x.dtsi b/arch/arm/boot/dts/dra74x.dtsi index a2ea85b..4384553 100644 --- a/arch/arm/boot/dts/dra74x.dtsi +++ b/arch/arm/boot/dts/dra74x.dtsi @@ -36,13 +36,14 @@ cooling-max-level = <2>; #cooling-cells = <2>; /* min followed by max */ }; + cpu@1 { device_type = "cpu"; compatible = "arm,cortex-a15"; reg = <1>; }; }; - + aliases { rproc0 = &ipu1; rproc1 = &ipu2; diff --git a/arch/arm/configs/tisdk_am57xx-evm_defconfig b/arch/arm/configs/tisdk_am57xx-evm_defconfig index e373769..b2477ea 100644 --- a/arch/arm/configs/tisdk_am57xx-evm_defconfig +++ b/arch/arm/configs/tisdk_am57xx-evm_defconfig @@ -99,18 +99,18 @@ CONFIG_BSD_PROCESS_ACCT=y # # RCU Subsystem # -CONFIG_PREEMPT_RCU=y -CONFIG_SRCU=y +# CONFIG_PREEMPT_RCU is not set +# CONFIG_SRCU is not set # CONFIG_TASKS_RCU is not set -CONFIG_RCU_STALL_COMMON=y +# CONFIG_RCU_STALL_COMMON is not set # CONFIG_RCU_USER_QS is not set -CONFIG_RCU_FANOUT=32 -CONFIG_RCU_FANOUT_LEAF=16 +# CONFIG_RCU_FANOUT is not set +# CONFIG_RCU_FANOUT_LEAF is not set # CONFIG_RCU_FANOUT_EXACT is not set # CONFIG_RCU_FAST_NO_HZ is not set # CONFIG_TREE_RCU_TRACE is not set # CONFIG_RCU_BOOST is not set -CONFIG_RCU_KTHREAD_PRIO=0 +# CONFIG_RCU_KTHREAD_PRIO is not set # CONFIG_RCU_NOCB_CPU is not set # CONFIG_RCU_EXPEDITE_BOOT is not set CONFIG_BUILD_BIN2C=y @@ -216,7 +216,7 @@ CONFIG_HAVE_OPTPROBES=y CONFIG_HAVE_ARCH_TRACEHOOK=y CONFIG_HAVE_DMA_ATTRS=y CONFIG_HAVE_DMA_CONTIGUOUS=y -CONFIG_GENERIC_SMP_IDLE_THREAD=y +# CONFIG_GENERIC_SMP_IDLE_THREAD is not set CONFIG_GENERIC_IDLE_POLL_SETUP=y CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y CONFIG_HAVE_CLK=y @@ -514,7 +514,7 @@ CONFIG_SMP_ON_UP=y CONFIG_ARM_CPU_TOPOLOGY=y # CONFIG_SCHED_MC is not set # CONFIG_SCHED_SMT is not set -CONFIG_HAVE_ARM_SCU=y +# CONFIG_HAVE_ARM_SCU is not set CONFIG_HAVE_ARM_ARCH_TIMER=y # CONFIG_MCPM is not set # CONFIG_BIG_LITTLE is not set @@ -522,8 +522,8 @@ CONFIG_VMSPLIT_3G=y # CONFIG_VMSPLIT_2G is not set # CONFIG_VMSPLIT_1G is not set CONFIG_PAGE_OFFSET=0xC0000000 -CONFIG_NR_CPUS=2 -CONFIG_HOTPLUG_CPU=y +# CONFIG_NR_CPUS is not set +# CONFIG_HOTPLUG_CPU is not set # CONFIG_ARM_PSCI is not set CONFIG_ARCH_NR_GPIO=512 # CONFIG_PREEMPT_NONE is not set @@ -597,7 +597,7 @@ CONFIG_ARM_APPENDED_DTB=y CONFIG_ARM_ATAG_DTB_COMPAT=y CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER=y # CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND is not set -CONFIG_CMDLINE="root=/dev/mmcblk0p2 rootwait console=ttyO2,115200" +CONFIG_CMDLINE="root=/dev/mmcblk0p2 rootwait console=ttyO0,115200 cma=64M mem=512M" CONFIG_CMDLINE_FROM_BOOTLOADER=y # CONFIG_CMDLINE_EXTEND is not set # CONFIG_CMDLINE_FORCE is not set @@ -613,7 +613,7 @@ CONFIG_AUTO_ZRELADDR=y # # CPU Frequency scaling # -CONFIG_CPU_FREQ=y +# CONFIG_CPU_FREQ is not set CONFIG_CPU_FREQ_GOV_COMMON=y CONFIG_CPU_FREQ_STAT=y CONFIG_CPU_FREQ_STAT_DETAILS=y @@ -631,8 +631,8 @@ CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y # # CPU frequency scaling drivers # -CONFIG_CPUFREQ_DT=m -CONFIG_CPUFREQ_VOLTDM=y +# CONFIG_CPUFREQ_DT is not set +# CONFIG_CPUFREQ_VOLTDM is not set # CONFIG_ARM_KIRKWOOD_CPUFREQ is not set # CONFIG_ARM_OMAP2PLUS_CPUFREQ is not set # CONFIG_QORIQ_CPUFREQ is not set @@ -640,9 +640,9 @@ CONFIG_CPUFREQ_VOLTDM=y # # CPU Idle # -CONFIG_CPU_IDLE=y -CONFIG_CPU_IDLE_GOV_LADDER=y -CONFIG_CPU_IDLE_GOV_MENU=y +# CONFIG_CPU_IDLE is not set +# CONFIG_CPU_IDLE_GOV_LADDER is not set +# CONFIG_CPU_IDLE_GOV_MENU is not set # # ARM CPU Idle Drivers @@ -679,7 +679,7 @@ CONFIG_SUSPEND=y CONFIG_SUSPEND_FREEZER=y # CONFIG_HIBERNATION is not set CONFIG_PM_SLEEP=y -CONFIG_PM_SLEEP_SMP=y +# CONFIG_PM_SLEEP_SMP is not set # CONFIG_PM_AUTOSLEEP is not set # CONFIG_PM_WAKELOCKS is not set CONFIG_PM=y @@ -1116,17 +1116,17 @@ CONFIG_CAN_C_CAN_PLATFORM=m # CONFIG_CAN_SOFTING is not set # CONFIG_CAN_DEBUG_DEVICES is not set # CONFIG_IRDA is not set -CONFIG_BT=m -CONFIG_BT_BREDR=y -CONFIG_BT_RFCOMM=m -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=m -CONFIG_BT_BNEP_MC_FILTER=y -CONFIG_BT_BNEP_PROTO_FILTER=y -CONFIG_BT_HIDP=m -CONFIG_BT_LE=y +# CONFIG_BT is not set +# CONFIG_BT_BREDR is not set +# CONFIG_BT_RFCOMM is not set +# CONFIG_BT_RFCOMM_TTY is not set +# CONFIG_BT_BNEP is not set +# CONFIG_BT_BNEP_MC_FILTER is not set +# CONFIG_BT_BNEP_PROTO_FILTER is not set +# CONFIG_BT_HIDP is not set +# CONFIG_BT_LE is not set # CONFIG_BT_SELFTEST is not set -CONFIG_BT_DEBUGFS=y +# CONFIG_BT_DEBUGFS is not set # # Bluetooth device drivers @@ -1151,11 +1151,11 @@ CONFIG_BT_HCIVHCI=m CONFIG_BT_MRVL=m CONFIG_BT_MRVL_SDIO=m # CONFIG_BT_ATH3K is not set -CONFIG_BT_WILINK=m +# CONFIG_BT_WILINK is not set CONFIG_AF_RXRPC=m # CONFIG_AF_RXRPC_DEBUG is not set CONFIG_RXKAD=m -CONFIG_WIRELESS=y +# CONFIG_WIRELESS is not set CONFIG_WIRELESS_EXT=y CONFIG_WEXT_CORE=y CONFIG_WEXT_PROC=y @@ -1564,8 +1564,8 @@ CONFIG_SATA_PMP=y # # Controllers with non-SFF native interface # -CONFIG_SATA_AHCI=m -CONFIG_SATA_AHCI_PLATFORM=m +# CONFIG_SATA_AHCI is not set +# CONFIG_SATA_AHCI_PLATFORM is not set # CONFIG_SATA_INIC162X is not set # CONFIG_SATA_ACARD_AHCI is not set # CONFIG_SATA_SIL24 is not set @@ -1850,8 +1850,10 @@ CONFIG_SMSC_PHY=y # CONFIG_STE10XP is not set # CONFIG_LSI_ET1011C_PHY is not set CONFIG_MICREL_PHY=y -# CONFIG_DP83867_PHY is not set -# CONFIG_FIXED_PHY is not set +CONFIG_DP83848_PHY=y +CONFIG_DP83867_PHY=y +# CONFIG_MICROCHIP_PHY is not set +CONFIG_FIXED_PHY=y # CONFIG_MDIO_BITBANG is not set # CONFIG_MDIO_BUS_MUX_GPIO is not set # CONFIG_MDIO_BUS_MUX_MMIOREG is not set @@ -2067,7 +2069,7 @@ CONFIG_TOUCHSCREEN_EDT_FT5X06=m # CONFIG_TOUCHSCREEN_TOUCHWIN is not set CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m CONFIG_TOUCHSCREEN_PIXCIR=m -# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set +CONFIG_TOUCHSCREEN_USB_COMPOSITE = y # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set # CONFIG_TOUCHSCREEN_TSC_SERIO is not set CONFIG_TOUCHSCREEN_TSC2005=m @@ -2099,7 +2101,7 @@ CONFIG_INPUT_TWL4030_PWRBUTTON=m # CONFIG_INPUT_TWL6040_VIBRA is not set # CONFIG_INPUT_UINPUT is not set CONFIG_INPUT_PALMAS_PWRBUTTON=m -# CONFIG_INPUT_PCF8574 is not set +CONFIG_INPUT_PCF8574=y # CONFIG_INPUT_PWM_BEEPER is not set # CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set # CONFIG_INPUT_ADXL34X is not set @@ -3474,7 +3476,7 @@ CONFIG_HID=y # CONFIG_HID_BATTERY_STRENGTH is not set # CONFIG_HIDRAW is not set # CONFIG_UHID is not set -CONFIG_HID_GENERIC=m +CONFIG_HID_GENERIC=y # # Special HID drivers @@ -3512,7 +3514,7 @@ CONFIG_HID_GENERIC=m # CONFIG_HID_MAGICMOUSE is not set # CONFIG_HID_MICROSOFT is not set # CONFIG_HID_MONTEREY is not set -# CONFIG_HID_MULTITOUCH is not set +CONFIG_HID_MULTITOUCH=y # CONFIG_HID_NTRIG is not set # CONFIG_HID_ORTEK is not set # CONFIG_HID_PANTHERLORD is not set @@ -3545,7 +3547,7 @@ CONFIG_HID_GENERIC=m # # USB HID support # -CONFIG_USB_HID=m +CONFIG_USB_HID=y # CONFIG_HID_PID is not set CONFIG_USB_HIDDEV=y @@ -3564,7 +3566,7 @@ CONFIG_USB_SUPPORT=y CONFIG_USB_COMMON=y CONFIG_USB_ARCH_HAS_HCD=y CONFIG_USB=m -CONFIG_USB_ANNOUNCE_NEW_DEVICES=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set # # Miscellaneous USB options @@ -3581,9 +3583,9 @@ CONFIG_USB_MON=m # USB Host Controller Drivers # # CONFIG_USB_C67X00_HCD is not set -CONFIG_USB_XHCI_HCD=m -CONFIG_USB_XHCI_PCI=m -CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PCI=y +CONFIG_USB_XHCI_PLATFORM=y CONFIG_USB_EHCI_HCD=m # CONFIG_USB_EHCI_ROOT_HUB_TT is not set CONFIG_USB_EHCI_TT_NEWSCHED=y @@ -3658,6 +3660,7 @@ CONFIG_USB_MUSB_AM335X_CHILD=m CONFIG_USB_TI_CPPI41_DMA=y # CONFIG_MUSB_PIO_ONLY is not set CONFIG_USB_DWC3=m +CONFIG_USB_ANNOUNCE_NEW_DEVICES=m # CONFIG_USB_DWC3_HOST is not set # CONFIG_USB_DWC3_GADGET is not set CONFIG_USB_DWC3_DUAL_ROLE=y @@ -3665,7 +3668,7 @@ CONFIG_USB_DWC3_DUAL_ROLE=y # # Platform Glue Driver Support # -CONFIG_USB_DWC3_OMAP=m +CONFIG_USB_DWC3_OMAP=y CONFIG_USB_DWC3_PCI=m # @@ -3747,9 +3750,9 @@ CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=32 # CONFIG_USB_EG20T is not set # CONFIG_USB_GADGET_XILINX is not set # CONFIG_USB_DUMMY_HCD is not set -CONFIG_USB_LIBCOMPOSITE=m -CONFIG_USB_F_ACM=m -CONFIG_USB_F_SS_LB=m +CONFIG_USB_LIBCOMPOSITE=y +CONFIG_USB_F_ACM=y +CONFIG_USB_F_SS_LB=y CONFIG_USB_U_SERIAL=m CONFIG_USB_U_ETHER=m CONFIG_USB_F_SERIAL=m @@ -3761,7 +3764,7 @@ CONFIG_USB_F_EEM=m CONFIG_USB_F_SUBSET=m CONFIG_USB_F_RNDIS=m CONFIG_USB_F_MASS_STORAGE=m -CONFIG_USB_F_FS=m +CONFIG_USB_F_FS=y CONFIG_USB_F_UAC1=m CONFIG_USB_F_UAC2=m CONFIG_USB_F_UVC=m @@ -4100,9 +4103,9 @@ CONFIG_OMAP_IOMMU_DEBUG=y # # Remoteproc drivers # -CONFIG_REMOTEPROC=m -CONFIG_OMAP_REMOTEPROC=m -CONFIG_OMAP_REMOTEPROC_WATCHDOG=y +# CONFIG_REMOTEPROC is not set +# CONFIG_OMAP_REMOTEPROC is not set +# CONFIG_OMAP_REMOTEPROC_WATCHDOG is not set # CONFIG_STE_MODEM_RPROC is not set # CONFIG_PRUSS_REMOTEPROC is not set @@ -4696,7 +4699,7 @@ CONFIG_HAVE_ARCH_KGDB=y # CONFIG_STRICT_DEVMEM is not set # CONFIG_ARM_UNWIND is not set # CONFIG_DEBUG_USER is not set -# CONFIG_DEBUG_LL is not set +CONFIG_DEBUG_LL=y CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" # CONFIG_DEBUG_UART_8250 is not set # CONFIG_DEBUG_UART_BCM63XX is not set @@ -4729,7 +4732,7 @@ CONFIG_INTEGRITY_AUDIT=y # CONFIG_EVM is not set CONFIG_DEFAULT_SECURITY_DAC=y CONFIG_DEFAULT_SECURITY="" -CONFIG_CRYPTO=y +# CONFIG_CRYPTO is not set # # Crypto core or helper @@ -4742,11 +4745,11 @@ CONFIG_CRYPTO_BLKCIPHER=y CONFIG_CRYPTO_BLKCIPHER2=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH2=y -CONFIG_CRYPTO_RNG=m -CONFIG_CRYPTO_RNG2=y +# CONFIG_CRYPTO_RNG is not set +# CONFIG_CRYPTO_RNG2 is not set CONFIG_CRYPTO_PCOMP2=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_MANAGER is not set +# CONFIG_CRYPTO_MANAGER2 is not set # CONFIG_CRYPTO_USER is not set CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y CONFIG_CRYPTO_GF128MUL=m diff --git a/drivers/mfd/palmas.c b/drivers/mfd/palmas.c index 28cb048..68e7db6 100644 --- a/drivers/mfd/palmas.c +++ b/drivers/mfd/palmas.c @@ -555,12 +555,12 @@ static int palmas_i2c_probe(struct i2c_client *i2c, goto err_i2c; } } - +//printk(KERN_INFO "palmas client attach successful\n"); if (!palmas->irq) { dev_warn(palmas->dev, "IRQ missing: skipping irq request\n"); goto no_irq; } - +//printk(KERN_INFO "Change interrupt line output polarity\n"); /* Change interrupt line output polarity */ if (pdata->irq_flags & IRQ_TYPE_LEVEL_HIGH) reg = PALMAS_POLARITY_CTRL_INT_POLARITY; @@ -569,16 +569,16 @@ static int palmas_i2c_probe(struct i2c_client *i2c, ret = palmas_update_bits(palmas, PALMAS_PU_PD_OD_BASE, PALMAS_POLARITY_CTRL, PALMAS_POLARITY_CTRL_INT_POLARITY, reg); - if (ret < 0) { + /*if (ret < 0) { dev_err(palmas->dev, "POLARITY_CTRL updat failed: %d\n", ret); goto err_i2c; - } + }*/ /* Change IRQ into clear on read mode for efficiency */ slave = PALMAS_BASE_TO_SLAVE(PALMAS_INTERRUPT_BASE); addr = PALMAS_BASE_TO_REG(PALMAS_INTERRUPT_BASE, PALMAS_INT_CTRL); reg = PALMAS_INT_CTRL_INT_CLEAR; - +//printk(KERN_INFO "slave = %d,addr = %d, reg = %d\n",slave,addr,reg); regmap_write(palmas->regmap[slave], addr, reg); ret = regmap_add_irq_chip(palmas->regmap[slave], palmas->irq, diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index 8a28116..6e47a89 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c @@ -122,6 +122,9 @@ static const char *rdev_get_name(struct regulator_dev *rdev) static bool have_full_constraints(void) { + //printk(KERN_INFO "has_full_constraints = %d \n",has_full_constraints); +//printk(KERN_INFO "of_have_populated_dt() = %d \n",of_have_populated_dt()); + return has_full_constraints || of_have_populated_dt(); } @@ -140,13 +143,15 @@ static struct device_node *of_get_regulator(struct device *dev, const char *supp char prop_name[32]; /* 32 is max size of property name */ dev_dbg(dev, "Looking up %s-supply from device tree\n", supply); - + //printk(KERN_INFO " Looking up %s-supply from device tree \n",supply); snprintf(prop_name, 32, "%s-supply", supply); + //printk(KERN_INFO " Looking up %s-prop_name from device tree \n",prop_name); regnode = of_parse_phandle(dev->of_node, prop_name, 0); if (!regnode) { dev_dbg(dev, "Looking up %s property in node %s failed", prop_name, dev->of_node->full_name); + //printk(KERN_INFO "Looking up %s property in node %s failed", prop_name, dev->of_node->full_name); return NULL; } return regnode; @@ -1389,7 +1394,7 @@ static struct regulator *_regulator_get(struct device *dev, const char *id, if (dev) devname = dev_name(dev); - + //printk(KERN_INFO " Device Name is %s \n",devname); if (have_full_constraints()) ret = -ENODEV; else @@ -3613,6 +3618,7 @@ regulator_register(const struct regulator_desc *regulator_desc, dev = cfg->dev; WARN_ON(!dev); +//printk(KERN_INFO "Regulator Name : %s\n",regulator_desc->name); if (regulator_desc->name == NULL || regulator_desc->ops == NULL) return ERR_PTR(-EINVAL); @@ -3733,7 +3739,7 @@ regulator_register(const struct regulator_desc *regulator_desc, } list_add(&rdev->list, ®ulator_list); - +//printk(KERN_INFO "Regulator Name : %s added\n",regulator_desc->name); rdev_init_debugfs(rdev); out: mutex_unlock(®ulator_list_mutex); diff --git a/drivers/regulator/palmas-regulator.c b/drivers/regulator/palmas-regulator.c index 8217613..4cb5ad5 100644 --- a/drivers/regulator/palmas-regulator.c +++ b/drivers/regulator/palmas-regulator.c @@ -867,7 +867,7 @@ static int palmas_ldo_registration(struct palmas_pmic *pmic, struct palmas_reg_init *reg_init; struct palmas_regs_info *rinfo; struct regulator_desc *desc; - + //printk(KERN_INFO "*********PALMAS LDO Registration******\n"); for (id = ddata->ldo_begin; id < ddata->max_reg; id++) { if (pdata && pdata->reg_init[id]) reg_init = pdata->reg_init[id]; @@ -979,7 +979,7 @@ static int tps65917_ldo_registration(struct palmas_pmic *pmic, struct palmas_reg_init *reg_init; struct palmas_regs_info *rinfo; struct regulator_desc *desc; - + //printk(KERN_INFO "*********LDO Registration******\n"); for (id = ddata->ldo_begin; id < ddata->max_reg; id++) { if (pdata && pdata->reg_init[id]) reg_init = pdata->reg_init[id]; @@ -1038,7 +1038,7 @@ static int tps65917_ldo_registration(struct palmas_pmic *pmic, desc->supply_name = rinfo->sname; config.of_node = ddata->palmas_matches[id].of_node; - + //printk(KERN_INFO "*********PMIC Regulator register******\n"); rdev = devm_regulator_register(pmic->dev, desc, &config); if (IS_ERR(rdev)) { dev_err(pmic->dev, @@ -1253,7 +1253,7 @@ static int tps65917_smps_registration(struct palmas_pmic *pmic, struct palmas_reg_init *reg_init; struct palmas_regs_info *rinfo; struct regulator_desc *desc; - + //printk(KERN_INFO "****SMPS Registration ****\n"); for (id = ddata->smps_start; id <= ddata->smps_end; id++) { /* * Miss out regulators which are not available due @@ -1541,7 +1541,7 @@ static const struct of_device_id of_palmas_match_tbl[] = { }, { .compatible = "ti,tps659038-pmic", - .data = &palmas_ddata, + .data = &tps65917_ddata,//&palmas_ddata, }, { .compatible = "ti,tps65917-pmic", @@ -1562,12 +1562,12 @@ static int palmas_regulators_probe(struct platform_device *pdev) const struct of_device_id *match; int ret = 0; unsigned int reg; - + //printk(KERN_INFO "*******palmas match table******\n"); match = of_match_device(of_match_ptr(of_palmas_match_tbl), &pdev->dev); if (!match) return -ENODATA; - + //printk(KERN_INFO "******palmas matched********** %d\n",match); driver_data = (struct palmas_pmic_driver_data *)match->data; pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL); if (!pdata) diff --git a/drivers/video/fbdev/omap2/displays-new/panel-tlc59108.c b/drivers/video/fbdev/omap2/displays-new/panel-tlc59108.c index aa57662..a0db794 100644 --- a/drivers/video/fbdev/omap2/displays-new/panel-tlc59108.c +++ b/drivers/video/fbdev/omap2/displays-new/panel-tlc59108.c @@ -62,18 +62,18 @@ static const unsigned int tlc_10_inch_init_seq[] = { static const struct tlc_board_data tlc_10_inch_data = { .timings = { - .x_res = 1280, - .y_res = 800, + .x_res = 800, + .y_res = 600, - .pixelclock = 69300404, + .pixelclock = 40000000, .hfp = 48, - .hsw = 32, - .hbp = 44, + .hsw = 128, + .hbp = 88, - .vfp = 4, - .vsw = 7, - .vbp = 12, + .vfp = 1, + .vsw = 4, + .vbp = 23, .vsync_level = OMAPDSS_SIG_ACTIVE_LOW, .hsync_level = OMAPDSS_SIG_ACTIVE_LOW, @@ -303,11 +303,11 @@ static int tlc59108_i2c_probe(struct i2c_client *client, /* Try to read a TLC register to verify if i2c works */ r = regmap_read(ddata->regmap, TLC59108_MODE1, &val); - if (r < 0) { +/* if (r < 0) { dev_err(dev, "Failed to set MODE1: %d\n", r); goto err_read; } - +*/ dssdev = &ddata->dssdev; dssdev->dev = dev; dssdev->driver = &panel_dpi_ops; diff --git a/drivers/video/fbdev/omap2/dss/dss.c b/drivers/video/fbdev/omap2/dss/dss.c index 09d937b..405f95e 100644 --- a/drivers/video/fbdev/omap2/dss/dss.c +++ b/drivers/video/fbdev/omap2/dss/dss.c @@ -1025,15 +1025,17 @@ static int dss_video_pll_probe(struct platform_device *pdev) struct regulator *pll_regulator; int r; + if (!np) return 0; - + //printk(KERN_INFO "dss_video_pll_probe : started\n"); if (of_property_read_bool(np, "syscon-pll-ctrl")) { dss.syscon_pll_ctrl = syscon_regmap_lookup_by_phandle(np, "syscon-pll-ctrl"); if (IS_ERR(dss.syscon_pll_ctrl)) { dev_err(&pdev->dev, "failed to get syscon-pll-ctrl regmap\n"); + //printk(KERN_INFO " No dss.syscon_pll_ctrl\n"); return PTR_ERR(dss.syscon_pll_ctrl); } @@ -1041,6 +1043,7 @@ static int dss_video_pll_probe(struct platform_device *pdev) &dss.syscon_pll_ctrl_offset)) { dev_err(&pdev->dev, "failed to get syscon-pll-ctrl offset\n"); + //printk(KERN_INFO " No dss.syscon_pll_ctrl\n"); return -EINVAL; } } @@ -1052,19 +1055,23 @@ static int dss_video_pll_probe(struct platform_device *pdev) switch (r) { case -ENOENT: pll_regulator = NULL; + //printk(KERN_INFO " pll_regulator = NULL\n"); break; case -EPROBE_DEFER: + //printk(KERN_INFO " -EPROBE_DEFER\n"); return -EPROBE_DEFER; default: + //printk(KERN_INFO "can't get DPLL VDDA regulator\n"); DSSERR("can't get DPLL VDDA regulator\n"); return r; } } - + //printk(KERN_INFO " pll_regulator is ok \n"); if (of_property_match_string(np, "reg-names", "pll1") >= 0) { dss.video1_pll = dss_video_pll_init(pdev, 0, pll_regulator); + //printk(KERN_INFO " dss_video_pll_init(pdev, 0 ; not ok \n"); if (IS_ERR(dss.video1_pll)) return PTR_ERR(dss.video1_pll); } @@ -1072,6 +1079,7 @@ static int dss_video_pll_probe(struct platform_device *pdev) if (of_property_match_string(np, "reg-names", "pll2") >= 0) { dss.video2_pll = dss_video_pll_init(pdev, 1, pll_regulator); if (IS_ERR(dss.video2_pll)) { + //printk(KERN_INFO " dss_video_pll_init(pdev, 1 ; not ok \n"); dss_video_pll_uninit(dss.video1_pll); return PTR_ERR(dss.video2_pll); } @@ -1089,46 +1097,46 @@ static int dss_bind(struct device *dev) int r; dss.pdev = pdev; - + //printk(KERN_INFO "Entered DSS Bind\n"); r = dss_init_features(dss.pdev); if (r) return r; - + //printk(KERN_INFO "dss_init_features : Successful\n"); dss_mem = platform_get_resource(dss.pdev, IORESOURCE_MEM, 0); if (!dss_mem) { DSSERR("can't get IORESOURCE_MEM DSS\n"); return -EINVAL; } - + //printk(KERN_INFO "IORESOURCE_MEM DSS : Successful\n"); dss.base = devm_ioremap(&pdev->dev, dss_mem->start, resource_size(dss_mem)); if (!dss.base) { DSSERR("can't ioremap DSS\n"); return -ENOMEM; } - + //printk(KERN_INFO "ioremap DSS : Successful\n"); r = dss_get_clocks(); if (r) return r; - + //printk(KERN_INFO "dss_get_clocks : Successful\n"); r = dss_setup_default_clock(); if (r) goto err_setup_clocks; - + //printk(KERN_INFO "dss_setup_default_clock : Successful\n"); r = dss_video_pll_probe(pdev); if (r) goto err_pll_init; - + //printk(KERN_INFO "dss_video_pll_probe : Successful\n"); r = dss_init_ports(pdev); if (r) goto err_init_ports; - + //printk(KERN_INFO "dss_init_ports : Successful\n"); pm_runtime_enable(&pdev->dev); r = dss_runtime_get(); if (r) goto err_runtime_get; - + //printk(KERN_INFO " dss_runtime_get : Successful\n"); dss.dss_clk_rate = clk_get_rate(dss.dss_clk); /* Select DPLL */ diff --git a/sound/soc/davinci/davinci-mcasp.c b/sound/soc/davinci/davinci-mcasp.c index 839842a..c2d9ecb 100644 --- a/sound/soc/davinci/davinci-mcasp.c +++ b/sound/soc/davinci/davinci-mcasp.c @@ -592,16 +592,22 @@ static int davinci_mcasp_set_sysclk(struct snd_soc_dai *dai, int clk_id, struct davinci_mcasp *mcasp = snd_soc_dai_get_drvdata(dai); pm_runtime_get_sync(mcasp->dev); + mcasp_set_bits(mcasp, DAVINCI_MCASP_AHCLKXCTL_REG, AHCLKXE); + mcasp_set_bits(mcasp, DAVINCI_MCASP_AHCLKRCTL_REG, AHCLKRE); + mcasp_set_bits(mcasp, DAVINCI_MCASP_PDIR_REG, AHCLKX); +#if 0 if (dir == SND_SOC_CLOCK_OUT) { mcasp_set_bits(mcasp, DAVINCI_MCASP_AHCLKXCTL_REG, AHCLKXE); mcasp_set_bits(mcasp, DAVINCI_MCASP_AHCLKRCTL_REG, AHCLKRE); mcasp_set_bits(mcasp, DAVINCI_MCASP_PDIR_REG, AHCLKX); + printk(KERN_INFO "AHCLKX = %x,Direction is SET\n",AHCLKX); } else { mcasp_clr_bits(mcasp, DAVINCI_MCASP_AHCLKXCTL_REG, AHCLKXE); mcasp_clr_bits(mcasp, DAVINCI_MCASP_AHCLKRCTL_REG, AHCLKRE); mcasp_clr_bits(mcasp, DAVINCI_MCASP_PDIR_REG, AHCLKX); + printk(KERN_INFO "AHCLKX = %x,Direction is CLEAR\n",AHCLKX); } - +#endif mcasp->sysclk_freq = freq; pm_runtime_put(mcasp->dev);