10166a4
From 227cadff47a2b00e91deb5b54f1fd551808d42ae Mon Sep 17 00:00:00 2001
10166a4
From: Pantelis Antoniou <panto@antoniou-consulting.com>
10166a4
Date: Fri, 28 Jun 2013 14:18:08 +0300
10166a4
Subject: [PATCH 1/3] am335x: dts: Add beaglebone black DTS
10166a4
10166a4
Added the beaglebone black's DTS file. Note that at some point in
10166a4
time we'll switch to using a common black.dtsi file.
10166a4
10166a4
Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
10166a4
---
10166a4
 arch/arm/boot/dts/Makefile             |   3 +-
10166a4
 arch/arm/boot/dts/am335x-boneblack.dts | 196 +++++++++++++++++++++++++++++++++
10166a4
 2 files changed, 198 insertions(+), 1 deletion(-)
10166a4
 create mode 100644 arch/arm/boot/dts/am335x-boneblack.dts
10166a4
10166a4
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
10166a4
--- a/arch/arm/boot/dts/Makefile.orig	2013-07-17 11:51:55.510389342 +0100
10166a4
+++ b/arch/arm/boot/dts/Makefile	2013-07-17 11:55:09.492689175 +0100
10166a4
@@ -172,6 +172,7 @@
10166a4
 	am335x-evm.dtb \
10166a4
 	am335x-evmsk.dtb \
10166a4
 	am335x-bone.dtb \
Kyle McMartin e6dec52
+	am335x-boneblack.dtb \
10166a4
 	am3517-evm.dtb \
10166a4
 	am3517_mt_ventoux.dtb \
10166a4
 	am43x-epos-evm.dtb
10166a4
diff --git a/arch/arm/boot/dts/am335x-boneblack.dts b/arch/arm/boot/dts/am335x-boneblack.dts
10166a4
new file mode 100644
10166a4
index 0000000..d21e223
10166a4
--- /dev/null
10166a4
+++ b/arch/arm/boot/dts/am335x-boneblack.dts
10166a4
@@ -0,0 +1,196 @@
10166a4
+/*
10166a4
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
10166a4
+ *
10166a4
+ * This program is free software; you can redistribute it and/or modify
10166a4
+ * it under the terms of the GNU General Public License version 2 as
10166a4
+ * published by the Free Software Foundation.
10166a4
+ */
10166a4
+/dts-v1/;
10166a4
+
10166a4
+/include/ "am33xx.dtsi"
10166a4
+
10166a4
+/ {
10166a4
+	model = "TI AM335x BeagleBone";
10166a4
+	compatible = "ti,am335x-bone", "ti,am33xx";
10166a4
+
10166a4
+	cpus {
10166a4
+		cpu@0 {
10166a4
+			cpu0-supply = <&dcdc2_reg>;
10166a4
+
10166a4
+			/*
10166a4
+			 * To consider voltage drop between PMIC and SoC,
10166a4
+			 * tolerance value is reduced to 2% from 4% and
10166a4
+			 * voltage value is increased as a precaution.
10166a4
+			 */
10166a4
+			operating-points = <
10166a4
+				/* kHz    uV */
10166a4
+				1000000	1350000
10166a4
+				800000	1300000
10166a4
+				600000  1112000
10166a4
+				300000   969000
10166a4
+			>;
10166a4
+		};
10166a4
+	};
10166a4
+
10166a4
+	memory {
10166a4
+		device_type = "memory";
10166a4
+		reg = <0x80000000 0x10000000>; /* 256 MB */
10166a4
+	};
10166a4
+
10166a4
+	am33xx_pinmux: pinmux@44e10800 {
10166a4
+		pinctrl-names = "default";
10166a4
+		pinctrl-0 = <&user_leds_s0>;
10166a4
+
10166a4
+		user_leds_s0: user_leds_s0 {
10166a4
+			pinctrl-single,pins = <
10166a4
+				0x54 0x7	/* gpmc_a5.gpio1_21, OUTPUT | MODE7 */
10166a4
+				0x58 0x17	/* gpmc_a6.gpio1_22, OUTPUT_PULLUP | MODE7 */
10166a4
+				0x5c 0x7	/* gpmc_a7.gpio1_23, OUTPUT | MODE7 */
10166a4
+				0x60 0x17	/* gpmc_a8.gpio1_24, OUTPUT_PULLUP | MODE7 */
10166a4
+			>;
10166a4
+		};
10166a4
+
10166a4
+		emmc2_pins: pinmux_emmc2_pins {
10166a4
+			pinctrl-single,pins = <
10166a4
+				0x80 0x32	/* gpmc_csn1.mmc1_clk, INPUT_PULLUP | MODE2 */
10166a4
+				0x84 0x32	/* gpmc_csn2.mmc1_cmd, INPUT_PULLUP | MODE2 */
10166a4
+				0x00 0x31	/* gpmc_ad0.mmc1_dat0, INPUT_PULLUP | MODE1 */
10166a4
+				0x04 0x31	/* gpmc_ad1.mmc1_dat1, INPUT_PULLUP | MODE1 */
10166a4
+				0x08 0x31	/* gpmc_ad2.mmc1_dat2, INPUT_PULLUP | MODE1 */
10166a4
+				0x0c 0x31	/* gpmc_ad3.mmc1_dat3, INPUT_PULLUP | MODE1 */
10166a4
+				0x10 0x31	/* gpmc_ad4.mmc1_dat4, INPUT_PULLUP | MODE1 */
10166a4
+				0x14 0x31	/* gpmc_ad5.mmc1_dat5, INPUT_PULLUP | MODE1 */
10166a4
+				0x18 0x31	/* gpmc_ad6.mmc1_dat6, INPUT_PULLUP | MODE1 */
10166a4
+				0x1c 0x31	/* gpmc_ad7.mmc1_dat7, INPUT_PULLUP | MODE1 */
10166a4
+				/* eMMC_RSTn */
10166a4
+				0x50 0x17	/* gpmc_a4.gpio1_20, OUTPUT | MODE7 | PULLUP */
10166a4
+			>;
10166a4
+		};
10166a4
+	};
10166a4
+
10166a4
+	ocp {
10166a4
+		uart1: serial@44e09000 {
10166a4
+			status = "okay";
10166a4
+		};
10166a4
+
10166a4
+		i2c0: i2c@44e0b000 {
10166a4
+			status = "okay";
10166a4
+			clock-frequency = <400000>;
10166a4
+
10166a4
+			tps: tps@24 {
10166a4
+				reg = <0x24>;
10166a4
+			};
10166a4
+
10166a4
+		};
10166a4
+	};
10166a4
+
10166a4
+	leds {
10166a4
+		compatible = "gpio-leds";
10166a4
+
10166a4
+		led@2 {
10166a4
+			label = "beaglebone:green:heartbeat";
10166a4
+			gpios = <&gpio1 21 0>;
10166a4
+			linux,default-trigger = "heartbeat";
10166a4
+			default-state = "off";
10166a4
+		};
10166a4
+
10166a4
+		led@3 {
10166a4
+			label = "beaglebone:green:mmc0";
10166a4
+			gpios = <&gpio1 22 0>;
10166a4
+			linux,default-trigger = "mmc0";
10166a4
+			default-state = "off";
10166a4
+		};
10166a4
+
10166a4
+		led@4 {
10166a4
+			label = "beaglebone:green:usr2";
10166a4
+			gpios = <&gpio1 23 0>;
10166a4
+			default-state = "off";
10166a4
+		};
10166a4
+
10166a4
+		led@5 {
10166a4
+			label = "beaglebone:green:usr3";
10166a4
+			gpios = <&gpio1 24 0>;
10166a4
+			default-state = "off";
10166a4
+		};
10166a4
+	};
10166a4
+
10166a4
+	vmmcsd_fixed: fixedregulator@0 {
10166a4
+		compatible = "regulator-fixed";
10166a4
+		regulator-name = "vmmcsd_fixed";
10166a4
+		regulator-min-microvolt = <3300000>;
10166a4
+		regulator-max-microvolt = <3300000>;
10166a4
+	};
10166a4
+
10166a4
+};
10166a4
+
10166a4
+/include/ "tps65217.dtsi"
10166a4
+
10166a4
+&tps {
10166a4
+	regulators {
10166a4
+		dcdc1_reg: regulator@0 {
10166a4
+			regulator-always-on;
10166a4
+		};
10166a4
+
10166a4
+		dcdc2_reg: regulator@1 {
10166a4
+			/* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
10166a4
+			regulator-name = "vdd_mpu";
10166a4
+			regulator-min-microvolt = <925000>;
10166a4
+			regulator-max-microvolt = <1325000>;
10166a4
+			regulator-boot-on;
10166a4
+			regulator-always-on;
10166a4
+		};
10166a4
+
10166a4
+		dcdc3_reg: regulator@2 {
10166a4
+			/* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
10166a4
+			regulator-name = "vdd_core";
10166a4
+			regulator-min-microvolt = <925000>;
10166a4
+			regulator-max-microvolt = <1150000>;
10166a4
+			regulator-boot-on;
10166a4
+			regulator-always-on;
10166a4
+		};
10166a4
+
10166a4
+		ldo1_reg: regulator@3 {
10166a4
+			regulator-always-on;
10166a4
+		};
10166a4
+
10166a4
+		ldo2_reg: regulator@4 {
10166a4
+			regulator-always-on;
10166a4
+		};
10166a4
+
10166a4
+		ldo3_reg: regulator@5 {
10166a4
+			regulator-min-microvolt = <1800000>;
10166a4
+			regulator-max-microvolt = <1800000>;	/* orig 3.3V*/
10166a4
+			regulator-always-on;
10166a4
+		};
10166a4
+
10166a4
+		ldo4_reg: regulator@6 {
10166a4
+			regulator-always-on;
10166a4
+		};
10166a4
+	};
10166a4
+};
10166a4
+
10166a4
+&cpsw_emac0 {
10166a4
+	phy_id = <&davinci_mdio>, <0>;
10166a4
+};
10166a4
+
10166a4
+&cpsw_emac1 {
10166a4
+	phy_id = <&davinci_mdio>, <1>;
10166a4
+};
10166a4
+
10166a4
+&mmc1 {
10166a4
+	status = "okay";
10166a4
+	vmmc-supply = <&vmmcsd_fixed>;
10166a4
+	ti,vcc-aux-disable-is-sleep;
10166a4
+};
10166a4
+
10166a4
+&mmc2 {
10166a4
+	pinctrl-names = "default";
10166a4
+	pinctrl-0 = <&emmc2_pins>;	/* wrong numbering */
10166a4
+	vmmc-supply = <&ldo3_reg>;
10166a4
+	bus-width = <8>;
10166a4
+	ti,non-removable;
10166a4
+	status = "okay";
10166a4
+	ti,vcc-aux-disable-is-sleep;
10166a4
+
10166a4
+	reset-gpio = <&gpio1 20 0x00>;
10166a4
+};
10166a4
-- 
10166a4
1.8.2.1