From bc8a5fb374336247146df055a32406d375c80d78 Mon Sep 17 00:00:00 2001
From: Torben Hohn <torbenh@linutronix.de>
Date: Tue, 4 Jun 2013 13:12:01 +0200
Subject: [PATCH 31/51] dts: add DT for PHYTEC pcm051

---
 arch/arm/boot/dts/Makefile          |    1 
 arch/arm/boot/dts/am335x-pcm051.dts |  206 ++++++++++++++++++++++++++++++++++++
 2 files changed, 207 insertions(+)
 create mode 100644 arch/arm/boot/dts/am335x-pcm051.dts

Index: linux-3.12.13-rt21-r7s5/arch/arm/boot/dts/Makefile
===================================================================
--- linux-3.12.13-rt21-r7s5.orig/arch/arm/boot/dts/Makefile
+++ linux-3.12.13-rt21-r7s5/arch/arm/boot/dts/Makefile
@@ -184,6 +184,7 @@ dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420
        omap5-uevm.dtb \
        am335x-evm.dtb \
        am335x-evmsk.dtb \
+       am335x-pcm051.dtb \
        am335x-bone.dtb \
        am335x-boneblack.dtb \
        am3517-evm.dtb \
Index: linux-3.12.13-rt21-r7s5/arch/arm/boot/dts/am335x-pcm051.dts
===================================================================
--- /dev/null
+++ linux-3.12.13-rt21-r7s5/arch/arm/boot/dts/am335x-pcm051.dts
@@ -0,0 +1,206 @@
+/*
+ * 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/;
+
+/include/ "am33xx.dtsi"
+
+/ {
+       model = "TI AM335x PHYTEC pcm051";
+       compatible = "ti,am335x-pcm051", "ti,am33xx";
+
+       cpus {
+               cpu@0 {
+                       cpu0-supply = <&dcdc2_reg>;
+               };
+       };
+
+       memory {
+               device_type = "memory";
+               reg = <0x80000000 0x20000000>; /* 512 MB */
+       };
+
+       am33xx_pinmux: pinmux@44e10800 {
+               pinctrl-names = "default";
+               pinctrl-0 = <&lcd_pins_s0>;
+
+               lcd_pins_s0: lcd_pins_s0 {
+                       pinctrl-single,pins = <
+                               0x20 0x01       /* gpmc_ad8.lcd_data16, OUTPUT | MODE1 */
+                               0x24 0x01       /* gpmc_ad9.lcd_data17, OUTPUT | MODE1 */
+                               0x28 0x01       /* gpmc_ad10.lcd_data18, OUTPUT | MODE1 */
+                               0x2c 0x01       /* gpmc_ad11.lcd_data19, OUTPUT | MODE1 */
+                               0x30 0x01       /* gpmc_ad12.lcd_data20, OUTPUT | MODE1 */
+                               0x34 0x01       /* gpmc_ad13.lcd_data21, OUTPUT | MODE1 */
+                               0x38 0x01       /* gpmc_ad14.lcd_data22, OUTPUT | MODE1 */
+                               0x3c 0x01       /* gpmc_ad15.lcd_data23, OUTPUT | MODE1 */
+                               0xa0 0x00       /* lcd_data0.lcd_data0, OUTPUT | MODE0 */
+                               0xa4 0x00       /* lcd_data1.lcd_data1, OUTPUT | MODE0 */
+                               0xa8 0x00       /* lcd_data2.lcd_data2, OUTPUT | MODE0 */
+                               0xac 0x00       /* lcd_data3.lcd_data3, OUTPUT | MODE0 */
+                               0xb0 0x00       /* lcd_data4.lcd_data4, OUTPUT | MODE0 */
+                               0xb4 0x00       /* lcd_data5.lcd_data5, OUTPUT | MODE0 */
+                               0xb8 0x00       /* lcd_data6.lcd_data6, OUTPUT | MODE0 */
+                               0xbc 0x00       /* lcd_data7.lcd_data7, OUTPUT | MODE0 */
+                               0xc0 0x00       /* lcd_data8.lcd_data8, OUTPUT | MODE0 */
+                               0xc4 0x00       /* lcd_data9.lcd_data9, OUTPUT | MODE0 */
+                               0xc8 0x00       /* lcd_data10.lcd_data10, OUTPUT | MODE0 */
+                               0xcc 0x00       /* lcd_data11.lcd_data11, OUTPUT | MODE0 */
+                               0xd0 0x00       /* lcd_data12.lcd_data12, OUTPUT | MODE0 */
+                               0xd4 0x00       /* lcd_data13.lcd_data13, OUTPUT | MODE0 */
+                               0xd8 0x00       /* lcd_data14.lcd_data14, OUTPUT | MODE0 */
+                               0xdc 0x00       /* lcd_data15.lcd_data15, OUTPUT | MODE0 */
+                               0xe0 0x00       /* lcd_vsync.lcd_vsync, OUTPUT | MODE0 */
+                               0xe4 0x00       /* lcd_hsync.lcd_hsync, OUTPUT | MODE0 */
+                               0xe8 0x00       /* lcd_pclk.lcd_pclk, OUTPUT | MODE0 */
+                               0xec 0x00       /* lcd_ac_bias_en.lcd_ac_bias_en, OUTPUT | MODE0 */
+                       >;
+               };
+
+               ecap0_pins: backlight_pins {
+                       pinctrl-single,pins = <
+                               0x164 0x0       /* eCAP0_in_PWM0_out.eCAP0_in_PWM0_out MODE0 */
+                       >;
+               };
+
+               i2c0_pins: pinmux_i2c0_pins {
+                       pinctrl-single,pins = <
+                               0x188 0x30      /* i2c0_sda.i2c0_sda PULLUP | INPUTENABLE | MODE0 */
+                               0x18c 0x30      /* i2c0_scl.i2c0_scl PULLUP | INPUTENABLE | MODE0 */
+                       >;
+               };
+       };
+
+       ocp {
+               uart1: serial@44e09000 {
+                       status = "okay";
+               };
+
+               i2c1: i2c@44e0b000 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c0_pins>;
+
+                       status = "okay";
+                       clock-frequency = <400000>;
+
+                       tps: tps@2D {
+                               reg = <0x2D>;
+                       };
+
+               };
+
+               epwmss0: epwmss@48300000 {
+                       status = "okay";
+
+                       ecap0: ecap@48300100 {
+                               status = "okay";
+                               pinctrl-names = "default";
+                               pinctrl-0 = <&ecap0_pins>;
+                       };
+               };
+       };
+
+       backlight {
+               compatible = "pwm-backlight";
+               pwms = <&ecap0 0 50000 0>;
+               brightness-levels = <0 51 53 56 62 75 101 152 255>;
+               default-brightness-level = <8>;
+       };
+};
+
+/include/ "tps65217.dtsi"
+
+&tps {
+       regulators {
+               dcdc1_reg: regulator@0 {
+                       regulator-always-on;
+               };
+
+               dcdc2_reg: regulator@1 {
+                       /* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
+                       regulator-name = "vdd_mpu";
+                       regulator-min-microvolt = <925000>;
+                       regulator-max-microvolt = <1325000>;
+                       regulator-boot-on;
+                       regulator-always-on;
+               };
+
+               dcdc3_reg: regulator@2 {
+                       /* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
+                       regulator-name = "vdd_core";
+                       regulator-min-microvolt = <925000>;
+                       regulator-max-microvolt = <1150000>;
+                       regulator-boot-on;
+                       regulator-always-on;
+               };
+
+               ldo1_reg: regulator@3 {
+                       regulator-always-on;
+               };
+
+               ldo2_reg: regulator@4 {
+                       regulator-always-on;
+               };
+
+               ldo3_reg: regulator@5 {
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-always-on;
+               };
+
+               ldo4_reg: regulator@6 {
+                       regulator-always-on;
+               };
+       };
+};
+
+&cpsw_emac0 {
+       phy_id = <&davinci_mdio>, <0>;
+};
+
+&cpsw_emac1 {
+       phy_id = <&davinci_mdio>, <1>;
+};
+
+&mmc1 {
+       status = "okay";
+       vmmc-supply = <&ldo3_reg>;
+};
+
+&lcdc {
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&lcd_pins_s0>;
+
+       bpp = <32>;
+
+       display-timings {
+               800x480p62 {
+                       clock-frequency = <32000000>;
+                       hactive = <800>;
+                       vactive = <480>;
+                       hfront-porch = <42>;
+                       hback-porch = <86>;
+                       hsync-len = <128>;
+                       vback-porch = <33>;
+                       vfront-porch = <10>;
+                       vsync-len = <2>;
+                       hsync-active = <1>;
+                       vsync-active = <1>;
+                       pixelclk-active = <1>;
+               };
+       };
+};
+
+&tscadc {
+       tsc {
+               ti,wires = <4>;
+               ti,x-plate-resistance = <200>;
+               ti,steps-to-configure = <5>;
+               ti,wire-config = <0x00 0x11 0x22 0x33>;
+       };
+};