linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/2] arm: dts: add support for am437x sk
@ 2014-06-23 18:20 Felipe Balbi
  2014-06-23 18:20 ` [PATCH v3 1/2] arm: dts: am4372: let boards access all nodes through phandles Felipe Balbi
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Felipe Balbi @ 2014-06-23 18:20 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

here's v3 of am437x sk support. Patches tested on top of next-20140617.

Note that this series was tested with the following extra patches:

http://marc.info/?l=linux-omap&m=140299431732700&w=2
http://marc.info/?l=linux-omap&m=140300146503126&w=2
http://marc.info/?l=linux-omap&m=140299231232123
http://marc.info/?l=linux-omap&m=140310472709968&w=2
http://marc.info/?l=linux-omap&m=140310471409959&w=2

A branch is also available with all these patches at [1].

[1] http://git.kernel.org/cgit/linux/kernel/git/balbi/usb.git/log/?h=am437x-starterkit

Felipe Balbi (2):
  arm: dts: am4372: let boards access all nodes through phandles
  arm: dts: add support for AM437x StarterKit

 .../devicetree/bindings/arm/omap/omap.txt          |   3 +
 arch/arm/boot/dts/Makefile                         |   1 +
 arch/arm/boot/dts/am4372.dtsi                      |   8 +-
 arch/arm/boot/dts/am437x-sk-evm.dts                | 613 +++++++++++++++++++++
 4 files changed, 621 insertions(+), 4 deletions(-)
 create mode 100644 arch/arm/boot/dts/am437x-sk-evm.dts

-- 
2.0.0.390.gcb682f8

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH v3 1/2] arm: dts: am4372: let boards access all nodes through phandles
  2014-06-23 18:20 [PATCH v3 0/2] arm: dts: add support for am437x sk Felipe Balbi
@ 2014-06-23 18:20 ` Felipe Balbi
  2014-06-24 18:39   ` Cooper Jr., Franklin
                     ` (2 more replies)
  2014-06-23 18:20 ` [PATCH v3 2/2] arm: dts: add support for AM437x StarterKit Felipe Balbi
  2014-06-30 16:45 ` [PATCH v3 0/2] arm: dts: add support for am437x sk Felipe Balbi
  2 siblings, 3 replies; 13+ messages in thread
From: Felipe Balbi @ 2014-06-23 18:20 UTC (permalink / raw)
  To: linux-arm-kernel

by providing phandles to rtc, wdt, cpu and dispc nodes,
boards can access them to add board-specific data.

Signed-off-by: Felipe Balbi <balbi@ti.com>
---

Changes since v1:
	- added phandles to cpu and dispc

 arch/arm/boot/dts/am4372.dtsi | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi
index 49fa596..8d3c163 100644
--- a/arch/arm/boot/dts/am4372.dtsi
+++ b/arch/arm/boot/dts/am4372.dtsi
@@ -30,7 +30,7 @@
 	cpus {
 		#address-cells = <1>;
 		#size-cells = <0>;
-		cpu at 0 {
+		cpu: cpu at 0 {
 			compatible = "arm,cortex-a9";
 			device_type = "cpu";
 			reg = <0>;
@@ -270,7 +270,7 @@
 			ti,hwmods = "counter_32k";
 		};
 
-		rtc at 44e3e000 {
+		rtc: rtc at 44e3e000 {
 			compatible = "ti,am4372-rtc","ti,da830-rtc";
 			reg = <0x44e3e000 0x1000>;
 			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH
@@ -279,7 +279,7 @@
 			status = "disabled";
 		};
 
-		wdt at 44e35000 {
+		wdt: wdt@44e35000 {
 			compatible = "ti,am4372-wdt","ti,omap3-wdt";
 			reg = <0x44e35000 0x1000>;
 			interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
@@ -871,7 +871,7 @@
 			#size-cells = <1>;
 			ranges;
 
-			dispc at 4832a400 {
+			dispc: dispc at 4832a400 {
 				compatible = "ti,omap3-dispc";
 				reg = <0x4832a400 0x400>;
 				interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
-- 
2.0.0.390.gcb682f8

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v3 2/2] arm: dts: add support for AM437x StarterKit
  2014-06-23 18:20 [PATCH v3 0/2] arm: dts: add support for am437x sk Felipe Balbi
  2014-06-23 18:20 ` [PATCH v3 1/2] arm: dts: am4372: let boards access all nodes through phandles Felipe Balbi
@ 2014-06-23 18:20 ` Felipe Balbi
  2014-06-24 18:36   ` Cooper Jr., Franklin
                     ` (2 more replies)
  2014-06-30 16:45 ` [PATCH v3 0/2] arm: dts: add support for am437x sk Felipe Balbi
  2 siblings, 3 replies; 13+ messages in thread
From: Felipe Balbi @ 2014-06-23 18:20 UTC (permalink / raw)
  To: linux-arm-kernel

Add support for TI's AM437x StarterKit Evaluation
Module.

Cc: Josh Elliot <jelliott@ti.com>
Cc: Darren Etheridge <detheridge@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
---

changes since v1:
	- add pinctrl for leds and matrix keypad
	- added i2c1 and i2c0 speeds of 400k
	- added voltage for vdds_ddr
	- reordered mmc1 node

left the USB supply thing out because a) the driver doesn't use it and b) the
regulator will be automatically sitched off iff DRVVBUS signal goes low (that's
done automatically by the HW). Not to mention that there's really no benefit
from the kernel or userland point of view.

(I do have a patch for that locally though, so if people really want it, I can
easily fold the patch into this).

All patches are available at [1]

[1] https://git.kernel.org/cgit/linux/kernel/git/balbi/usb.git/log/?h=am437x-starterkit

 .../devicetree/bindings/arm/omap/omap.txt          |   3 +
 arch/arm/boot/dts/Makefile                         |   1 +
 arch/arm/boot/dts/am437x-sk-evm.dts                | 613 +++++++++++++++++++++
 3 files changed, 617 insertions(+)
 create mode 100644 arch/arm/boot/dts/am437x-sk-evm.dts

diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt b/Documentation/devicetree/bindings/arm/omap/omap.txt
index d22b216..0edc903 100644
--- a/Documentation/devicetree/bindings/arm/omap/omap.txt
+++ b/Documentation/devicetree/bindings/arm/omap/omap.txt
@@ -129,6 +129,9 @@ Boards:
 - AM437x GP EVM
   compatible = "ti,am437x-gp-evm", "ti,am4372", "ti,am43"
 
+- AM437x SK EVM: AM437x StarterKit Evaluation Module
+  compatible = "ti,am437x-sk-evm", "ti,am4372", "ti,am43"
+
 - DRA742 EVM:  Software Development Board for DRA742
   compatible = "ti,dra7-evm", "ti,dra742", "ti,dra74", "ti,dra7"
 
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 621c6c5..a85a4b8 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -306,6 +306,7 @@ dtb-$(CONFIG_ARCH_OMAP4) += omap4-duovero-parlor.dtb \
 	omap4-var-dvk-om44.dtb \
 	omap4-var-stk-om44.dtb
 dtb-$(CONFIG_SOC_AM43XX) += am43x-epos-evm.dtb \
+	am437x-sk-evm.dtb \
 	am437x-gp-evm.dtb
 dtb-$(CONFIG_SOC_OMAP5) += omap5-cm-t54.dtb \
 	omap5-sbc-t54.dtb \
diff --git a/arch/arm/boot/dts/am437x-sk-evm.dts b/arch/arm/boot/dts/am437x-sk-evm.dts
new file mode 100644
index 0000000..859ff3d
--- /dev/null
+++ b/arch/arm/boot/dts/am437x-sk-evm.dts
@@ -0,0 +1,613 @@
+/*
+ * 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
+ * published by the Free Software Foundation.
+ */
+
+/* AM437x SK EVM */
+
+/dts-v1/;
+
+#include "am4372.dtsi"
+#include <dt-bindings/pinctrl/am43xx.h>
+#include <dt-bindings/pwm/pwm.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+	model = "TI AM437x SK EVM";
+	compatible = "ti,am437x-sk-evm","ti,am4372","ti,am43";
+
+	aliases {
+		display0 = &lcd0;
+	};
+
+	backlight {
+		compatible = "pwm-backlight";
+		pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>;
+		brightness-levels = <0 51 53 56 62 75 101 152 255>;
+		default-brightness-level = <8>;
+	};
+
+	sound {
+		compatible = "ti,da830-evm-audio";
+		ti,model = "AM437x-SK-EVM";
+		ti,audio-codec = <&tlv320aic3106>;
+		ti,mcasp-controller = <&mcasp1>;
+		ti,codec-clock-rate = <24000000>;
+		ti,audio-routing =
+			"Headphone Jack",       "HPLOUT",
+			"Headphone Jack",       "HPROUT";
+	};
+
+	matrix_keypad: matrix_keypad at 0 {
+		compatible = "gpio-matrix-keypad";
+
+		pinctrl-names = "default";
+		pinctrl-0 = <&matrix_keypad_pins>;
+
+		debounce-delay-ms = <5>;
+		col-scan-delay-us = <1500>;
+
+		row-gpios = <&gpio5 5 GPIO_ACTIVE_HIGH		/* Bank5, pin5 */
+				&gpio5 6 GPIO_ACTIVE_HIGH>;	/* Bank5, pin6 */
+
+		col-gpios = <&gpio5 13 GPIO_ACTIVE_HIGH		/* Bank5, pin13 */
+				&gpio5 4 GPIO_ACTIVE_HIGH>;	/* Bank5, pin4 */
+
+		linux,keymap = <
+				MATRIX_KEY(0, 0, KEY_DOWN)
+				MATRIX_KEY(0, 1, KEY_RIGHT)
+				MATRIX_KEY(1, 0, KEY_LEFT)
+				MATRIX_KEY(1, 1, KEY_UP)
+			>;
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		pinctrl-names = "default";
+		pinctrl-0 = <&leds_pins>;
+
+		led at 0 {
+			label = "am437x-sk:red:heartbeat";
+			gpios = <&gpio5 0 GPIO_ACTIVE_HIGH>;	/* Bank 5, pin 0 */
+			linux,default-trigger = "heartbeat";
+			default-state = "off";
+		};
+
+		led at 1 {
+			label = "am437x-sk:green:mmc1";
+			gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;	/* Bank 5, pin 1 */
+			linux,default-trigger = "mmc0";
+			default-state = "off";
+		};
+
+		led at 2 {
+			label = "am437x-sk:blue:cpu0";
+			gpios = <&gpio5 2 GPIO_ACTIVE_HIGH>;	/* Bank 5, pin 2 */
+			linux,default-trigger = "cpu0";
+			default-state = "off";
+		};
+
+		led at 3 {
+			label = "am437x-sk:blue:usr3";
+			gpios = <&gpio5 3 GPIO_ACTIVE_HIGH>;	/* Bank 5, pin 3 */
+			default-state = "off";
+		};
+	};
+
+	lcd0: display {
+		compatible = "osddisplays,osd057T0559-34ts", "panel-dpi";
+		label = "lcd";
+
+		pinctrl-names = "default";
+		pinctrl-0 = <&lcd_pins>;
+
+		enable-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
+
+		panel-timing {
+			clock-frequency = <9000000>;
+			hactive = <480>;
+			vactive = <272>;
+			hfront-porch = <8>;
+			hback-porch = <43>;
+			hsync-len = <4>;
+			vback-porch = <12>;
+			vfront-porch = <4>;
+			vsync-len = <10>;
+			hsync-active = <0>;
+			vsync-active = <0>;
+			de-active = <1>;
+			pixelclk-active = <1>;
+		};
+
+		port {
+			lcd_in: endpoint {
+				remote-endpoint = <&dpi_out>;
+			};
+		};
+	};
+};
+
+&am43xx_pinmux {
+	matrix_keypad_pins: matrix_keypad_pins {
+		pinctrl-single,pins = <
+			0x24c (PIN_OUTPUT | MUX_MODE7)	/* gpio5_13.gpio5_13 */
+			0x250 (PIN_OUTPUT | MUX_MODE7)	/* spi4_sclk.gpio5_4 */
+			0x254 (PIN_INPUT | MUX_MODE7)	/* spi4_d0.gpio5_5 */
+			0x258 (PIN_INPUT | MUX_MODE7)	/* spi4_d1.gpio5_5 */
+		>;
+	};
+
+	leds_pins: leds_pins {
+		pinctrl-single,pins = <
+			0x228 (PIN_OUTPUT | MUX_MODE7)	/* uart3_rxd.gpio5_2 */
+			0x22c (PIN_OUTPUT | MUX_MODE7)	/* uart3_txd.gpio5_3 */
+			0x230 (PIN_OUTPUT | MUX_MODE7)	/* uart3_ctsn.gpio5_0 */
+			0x234 (PIN_OUTPUT | MUX_MODE7)	/* uart3_rtsn.gpio5_1 */
+		>;
+	};
+
+	i2c0_pins: i2c0_pins {
+		pinctrl-single,pins = <
+			0x188 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)  /* i2c0_sda.i2c0_sda */
+			0x18c (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)  /* i2c0_scl.i2c0_scl */
+		>;
+	};
+
+	i2c1_pins: i2c1_pins {
+		pinctrl-single,pins = <
+			0x15c (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE2)  /* spi0_cs0.i2c1_scl */
+			0x158 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE2)  /* spi0_d1.i2c1_sda  */
+		>;
+	};
+
+	mmc1_pins: pinmux_mmc1_pins {
+		pinctrl-single,pins = <
+			0x160 (PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6 */
+		>;
+	};
+
+	ecap0_pins: backlight_pins {
+		pinctrl-single,pins = <
+			0x164 (PIN_OUTPUT | MUX_MODE0) /* eCAP0_in_PWM0_out.eCAP0_in_PWM0_out */
+		>;
+	};
+
+	edt_ft5306_ts_pins: edt_ft5306_ts_pins {
+		pinctrl-single,pins = <
+			0x74 (PIN_INPUT | MUX_MODE7)	/* gpmc_wpn.gpio0_31 */
+			0x78 (PIN_OUTPUT | MUX_MODE7)	/* gpmc_be1n.gpio1_28 */
+		>;
+	};
+
+	cpsw_default: cpsw_default {
+		pinctrl-single,pins = <
+			/* Slave 1 */
+			0x12c (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txclk.rmii1_tclk */
+			0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txen.rgmii1_tctl */
+			0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd0.rgmii1_td0 */
+			0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd1.rgmii1_td1 */
+			0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd0.rgmii1_td2 */
+			0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd1.rgmii1_td3 */
+			0x130 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxclk.rmii1_rclk */
+			0x118 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxdv.rgmii1_rctl */
+			0x140 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd0.rgmii1_rd0 */
+			0x13c (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd1.rgmii1_rd1 */
+			0x138 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd0.rgmii1_rd2 */
+			0x134 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd1.rgmii1_rd3 */
+
+			/* Slave 2 */
+			0x58 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a6.rgmii2_tclk */
+			0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a0.rgmii2_tctl */
+			0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a5.rgmii2_td0 */
+			0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a4.rgmii2_td1 */
+			0x4c (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a3.rgmii2_td2 */
+			0x48 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a2.rgmii2_td3 */
+			0x5c (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a7.rgmii2_rclk */
+			0x44 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a1.rgmii2_rtcl */
+			0x6c (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a11.rgmii2_rd0 */
+			0x68 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a10.rgmii2_rd1 */
+			0x64 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a9.rgmii2_rd2 */
+			0x60 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* gpmc_a8.rgmii2_rd3 */
+		>;
+	};
+
+	cpsw_sleep: cpsw_sleep {
+		pinctrl-single,pins = <
+			/* Slave 1 reset value */
+			0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)
+			0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+			0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+			0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+			0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+			0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)
+			0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+			0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+			0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+			0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
+			0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+			0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+
+			/* Slave 2 reset value */
+			0x58 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+			0x40 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+			0x54 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+			0x50 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+			0x4c (PIN_INPUT_PULLDOWN | MUX_MODE7)
+			0x48 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+			0x5c (PIN_INPUT_PULLDOWN | MUX_MODE7)
+			0x44 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+			0x6c (PIN_INPUT_PULLDOWN | MUX_MODE7)
+			0x68 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+			0x64 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+			0x60 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+		>;
+	};
+
+	davinci_mdio_default: davinci_mdio_default {
+		pinctrl-single,pins = <
+			/* MDIO */
+			0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)	/* mdio_data.mdio_data */
+			0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0)			/* mdio_clk.mdio_clk */
+		>;
+	};
+
+	davinci_mdio_sleep: davinci_mdio_sleep {
+		pinctrl-single,pins = <
+			/* MDIO reset value */
+			0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+			0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
+		>;
+	};
+
+	dss_pins: dss_pins {
+		pinctrl-single,pins = <
+			0x020 (PIN_OUTPUT_PULLUP | MUX_MODE1)	/* gpmc ad 8 -> DSS DATA 23 */
+			0x024 (PIN_OUTPUT_PULLUP | MUX_MODE1)
+			0x028 (PIN_OUTPUT_PULLUP | MUX_MODE1)
+			0x02c (PIN_OUTPUT_PULLUP | MUX_MODE1)
+			0x030 (PIN_OUTPUT_PULLUP | MUX_MODE1)
+			0x034 (PIN_OUTPUT_PULLUP | MUX_MODE1)
+			0x038 (PIN_OUTPUT_PULLUP | MUX_MODE1)
+			0x03c (PIN_OUTPUT_PULLUP | MUX_MODE1)	/* gpmc ad 15 -> DSS DATA 16 */
+			0x0a0 (PIN_OUTPUT_PULLUP | MUX_MODE0)	/* DSS DATA 0 */
+			0x0a4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+			0x0a8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+			0x0ac (PIN_OUTPUT_PULLUP | MUX_MODE0)
+			0x0b0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+			0x0b4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+			0x0b8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+			0x0bc (PIN_OUTPUT_PULLUP | MUX_MODE0)
+			0x0c0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+			0x0c4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+			0x0c8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+			0x0cc (PIN_OUTPUT_PULLUP | MUX_MODE0)
+			0x0d0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+			0x0d4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+			0x0d8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+			0x0dc (PIN_OUTPUT_PULLUP | MUX_MODE0)	/* DSS DATA 15 */
+			0x0e0 (PIN_OUTPUT_PULLUP | MUX_MODE0)	/* DSS VSYNC */
+			0x0e4 (PIN_OUTPUT_PULLUP | MUX_MODE0)	/* DSS HSYNC */
+			0x0e8 (PIN_OUTPUT_PULLUP | MUX_MODE0)	/* DSS PCLK */
+			0x0ec (PIN_OUTPUT_PULLUP | MUX_MODE0)	/* DSS AC BIAS EN */
+
+		>;
+	};
+
+	qspi_pins: qspi_pins {
+		pinctrl-single,pins = <
+			0x7c (PIN_OUTPUT_PULLUP | MUX_MODE3)	/* gpmc_csn0.qspi_csn */
+			0x88 (PIN_OUTPUT | MUX_MODE2)		/* gpmc_csn3.qspi_clk */
+			0x90 (PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_advn_ale.qspi_d0 */
+			0x94 (PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_oen_ren.qspi_d1 */
+			0x98 (PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_wen.qspi_d2 */
+			0x9c (PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_be0n_cle.qspi_d3 */
+		>;
+	};
+
+	mcasp1_pins: mcasp1_pins {
+		pinctrl-single,pins = <
+			0x10c (PIN_INPUT_PULLDOWN | MUX_MODE4)	/* mii1_crs.mcasp1_aclkx */
+			0x110 (PIN_INPUT_PULLDOWN | MUX_MODE4)	/* mii1_rxerr.mcasp1_fsx */
+			0x108 (PIN_OUTPUT_PULLDOWN | MUX_MODE4)	/* mii1_col.mcasp1_axr2 */
+			0x144 (PIN_INPUT_PULLDOWN | MUX_MODE4)	/* rmii1_ref_clk.mcasp1_axr3 */
+		>;
+	};
+
+	lcd_pins: lcd_pins {
+		pinctrl-single,pins = <
+			/* GPIO 5_8 to select LCD / HDMI */
+			0x238 (PIN_OUTPUT_PULLUP | MUX_MODE7)
+		>;
+	};
+};
+
+&i2c0 {
+	status = "okay";
+	pinctrl-names = "default";
+	pinctrl-0 = <&i2c0_pins>;
+	clock-frequency = <400000>;
+
+	tps at 24 {
+		compatible = "ti,tps65218";
+		reg = <0x24>;
+		interrupt-parent = <&gic>;
+		interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+
+		dcdc1: regulator-dcdc1 {
+			compatible = "ti,tps65218-dcdc1";
+			/* VDD_CORE limits min of OPP50 and max of OPP100 */
+			regulator-name = "vdd_core";
+			regulator-min-microvolt = <912000>;
+			regulator-max-microvolt = <1144000>;
+			regulator-boot-on;
+			regulator-always-on;
+		};
+
+		dcdc2: regulator-dcdc2 {
+			compatible = "ti,tps65218-dcdc2";
+			/* VDD_MPU limits min of OPP50 and max of OPP_NITRO */
+			regulator-name = "vdd_mpu";
+			regulator-min-microvolt = <912000>;
+			regulator-max-microvolt = <1378000>;
+			regulator-boot-on;
+			regulator-always-on;
+		};
+
+		dcdc3: regulator-dcdc3 {
+			compatible = "ti,tps65218-dcdc3";
+			regulator-name = "vdds_ddr";
+			regulator-min-microvolt = <1350000>;
+			regulator-max-microvolt = <1350000>;
+			regulator-boot-on;
+			regulator-always-on;
+		};
+
+		dcdc4: regulator-dcdc4 {
+			compatible = "ti,tps65218-dcdc4";
+			regulator-name = "v3_3d";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			regulator-boot-on;
+			regulator-always-on;
+		};
+
+		ldo1: regulator-ldo1 {
+			compatible = "ti,tps65218-ldo1";
+			regulator-name = "v1_8d";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-boot-on;
+			regulator-always-on;
+		};
+
+	};
+
+	at24 at 50 {
+		compatible = "at24,24c256";
+		pagesize = <64>;
+		reg = <0x50>;
+	};
+};
+
+&i2c1 {
+	status = "okay";
+	pinctrl-names = "default";
+	pinctrl-0 = <&i2c1_pins>;
+	clock-frequency = <400000>;
+
+	edt-ft5306 at 38 {
+		status = "okay";
+		compatible = "edt,edt-ft5306", "edt,edt-ft5x06";
+		pinctrl-names = "default";
+		pinctrl-0 = <&edt_ft5306_ts_pins>;
+
+		reg = <0x38>;
+		interrupt-parent = <&gpio0>;
+		interrupts = <31 0>;
+
+		wake-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
+
+		touchscreen-size-x = <480>;
+		touchscreen-size-y = <272>;
+	};
+
+	tlv320aic3106: tlv320aic3106 at 1b {
+		compatible = "ti,tlv320aic3106";
+		reg = <0x1b>;
+		status = "okay";
+
+		/* Regulators */
+		AVDD-supply = <&dcdc4>;
+		IOVDD-supply = <&dcdc4>;
+		DRVDD-supply = <&dcdc4>;
+		DVDD-supply = <&ldo1>;
+	};
+
+	lis331dlh at 18 {
+		compatible = "st,lis331dlh";
+		reg = <0x18>;
+		status = "okay";
+
+		Vdd-supply = <&dcdc4>;
+		Vdd_IO-supply = <&dcdc4>;
+		interrupts-extended = <&gpio1 6 0>, <&gpio2 1 0>;
+	};
+};
+
+&epwmss0 {
+	status = "okay";
+};
+
+&ecap0 {
+	status = "okay";
+	pinctrl-names = "default";
+	pinctrl-0 = <&ecap0_pins>;
+};
+
+&gpio0 {
+	status = "okay";
+};
+
+&gpio1 {
+	status = "okay";
+};
+
+&gpio5 {
+	status = "okay";
+};
+
+&mmc1 {
+	status = "okay";
+	pinctrl-names = "default";
+	pinctrl-0 = <&mmc1_pins>;
+
+	vmmc-supply = <&dcdc4>;
+	bus-width = <4>;
+	cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
+};
+
+&usb2_phy1 {
+	status = "okay";
+};
+
+&usb1 {
+	dr_mode = "peripheral";
+	status = "okay";
+};
+
+&usb2_phy2 {
+	status = "okay";
+};
+
+&usb2 {
+	dr_mode = "host";
+	status = "okay";
+};
+
+&qspi {
+	status = "okay";
+	pinctrl-names = "default";
+	pinctrl-0 = <&qspi_pins>;
+
+	spi-max-frequency = <48000000>;
+	m25p80 at 0 {
+		compatible = "mx66l51235l";
+		spi-max-frequency = <48000000>;
+		reg = <0>;
+		spi-cpol;
+		spi-cpha;
+		spi-tx-bus-width = <1>;
+		spi-rx-bus-width = <4>;
+		#address-cells = <1>;
+		#size-cells = <1>;
+
+		/* MTD partition table.
+		 * The ROM checks the first 512KiB
+		 * for a valid file to boot(XIP).
+		 */
+		partition at 0 {
+			label = "QSPI.U_BOOT";
+			reg = <0x00000000 0x000080000>;
+		};
+		partition at 1 {
+			label = "QSPI.U_BOOT.backup";
+			reg = <0x00080000 0x00080000>;
+		};
+		partition at 2 {
+			label = "QSPI.U-BOOT-SPL_OS";
+			reg = <0x00100000 0x00010000>;
+		};
+		partition at 3 {
+			label = "QSPI.U_BOOT_ENV";
+			reg = <0x00110000 0x00010000>;
+		};
+		partition at 4 {
+			label = "QSPI.U-BOOT-ENV.backup";
+			reg = <0x00120000 0x00010000>;
+		};
+		partition at 5 {
+			label = "QSPI.KERNEL";
+			reg = <0x00130000 0x0800000>;
+		};
+		partition at 6 {
+			label = "QSPI.FILESYSTEM";
+			reg = <0x00930000 0x36D0000>;
+		};
+	};
+};
+
+&mac {
+	pinctrl-names = "default", "sleep";
+	pinctrl-0 = <&cpsw_default>;
+	pinctrl-1 = <&cpsw_sleep>;
+	dual_emac = <1>;
+	status = "okay";
+};
+
+&davinci_mdio {
+	pinctrl-names = "default", "sleep";
+	pinctrl-0 = <&davinci_mdio_default>;
+	pinctrl-1 = <&davinci_mdio_sleep>;
+	status = "okay";
+};
+
+&cpsw_emac0 {
+	phy_id = <&davinci_mdio>, <4>;
+	phy-mode = "rgmii";
+	dual_emac_res_vlan = <1>;
+};
+
+&cpsw_emac1 {
+	phy_id = <&davinci_mdio>, <5>;
+	phy-mode = "rgmii";
+	dual_emac_res_vlan = <2>;
+};
+
+&elm {
+	status = "okay";
+};
+
+&mcasp1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&mcasp1_pins>;
+
+	status = "okay";
+
+	op-mode = <0>;
+	tdm-slots = <2>;
+	serial-dir = <
+		0 0 1 2
+	>;
+
+	tx-num-evt = <1>;
+	rx-num-evt = <1>;
+};
+
+&dss {
+	status = "okay";
+
+	pinctrl-names = "default";
+	pinctrl-0 = <&dss_pins>;
+
+	port {
+		dpi_out: endpoint at 0 {
+			remote-endpoint = <&lcd_in>;
+			data-lines = <24>;
+		};
+	};
+};
+
+&rtc {
+	status = "okay";
+};
+
+&wdt {
+	status = "okay";
+};
-- 
2.0.0.390.gcb682f8

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v3 2/2] arm: dts: add support for AM437x StarterKit
  2014-06-23 18:20 ` [PATCH v3 2/2] arm: dts: add support for AM437x StarterKit Felipe Balbi
@ 2014-06-24 18:36   ` Cooper Jr., Franklin
  2014-06-24 20:51   ` Tom Rini
  2014-06-25  2:07   ` Darren Etheridge
  2 siblings, 0 replies; 13+ messages in thread
From: Cooper Jr., Franklin @ 2014-06-24 18:36 UTC (permalink / raw)
  To: linux-arm-kernel

Tested-by: Franklin Cooper Jr. <fcooper@ti.com>

> -----Original Message-----
> From: Balbi, Felipe
> Sent: Monday, June 23, 2014 1:21 PM
> To: Benoit Cousson
> Cc: robh+dt at kernel.org; galak at codeaurora.org; Tony Lindgren;
> linux at arm.linux.org.uk; Nayak, Rajendra; Menon, Nishanth; R, Sricharan;
> devicetree at vger.kernel.org; Linux Kernel Mailing List; Linux OMAP Mailing
> List; Linux ARM Kernel Mailing List; Balbi, Felipe; Elliott, Josh; Etheridge,
> Darren
> Subject: [PATCH v3 2/2] arm: dts: add support for AM437x StarterKit
> 
> Add support for TI's AM437x StarterKit Evaluation Module.
> 
> Cc: Josh Elliot <jelliott@ti.com>
> Cc: Darren Etheridge <detheridge@ti.com>
> Signed-off-by: Felipe Balbi <balbi@ti.com>
> ---
> 
> changes since v1:
> 	- add pinctrl for leds and matrix keypad
> 	- added i2c1 and i2c0 speeds of 400k
> 	- added voltage for vdds_ddr
> 	- reordered mmc1 node
> 
> left the USB supply thing out because a) the driver doesn't use it and b) the
> regulator will be automatically sitched off iff DRVVBUS signal goes low (that's
> done automatically by the HW). Not to mention that there's really no benefit
> from the kernel or userland point of view.
> 
> (I do have a patch for that locally though, so if people really want it, I can
> easily fold the patch into this).
> 
> All patches are available at [1]
> 
> [1] https://git.kernel.org/cgit/linux/kernel/git/balbi/usb.git/log/?h=am437x-
> starterkit
> 
>  .../devicetree/bindings/arm/omap/omap.txt          |   3 +
>  arch/arm/boot/dts/Makefile                         |   1 +
>  arch/arm/boot/dts/am437x-sk-evm.dts                | 613
> +++++++++++++++++++++
>  3 files changed, 617 insertions(+)
>  create mode 100644 arch/arm/boot/dts/am437x-sk-evm.dts
> 
> diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt
> b/Documentation/devicetree/bindings/arm/omap/omap.txt
> index d22b216..0edc903 100644
> --- a/Documentation/devicetree/bindings/arm/omap/omap.txt
> +++ b/Documentation/devicetree/bindings/arm/omap/omap.txt
> @@ -129,6 +129,9 @@ Boards:
>  - AM437x GP EVM
>    compatible = "ti,am437x-gp-evm", "ti,am4372", "ti,am43"
> 
> +- AM437x SK EVM: AM437x StarterKit Evaluation Module
> +  compatible = "ti,am437x-sk-evm", "ti,am4372", "ti,am43"
> +
>  - DRA742 EVM:  Software Development Board for DRA742
>    compatible = "ti,dra7-evm", "ti,dra742", "ti,dra74", "ti,dra7"
> 
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index
> 621c6c5..a85a4b8 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -306,6 +306,7 @@ dtb-$(CONFIG_ARCH_OMAP4) += omap4-duovero-
> parlor.dtb \
>  	omap4-var-dvk-om44.dtb \
>  	omap4-var-stk-om44.dtb
>  dtb-$(CONFIG_SOC_AM43XX) += am43x-epos-evm.dtb \
> +	am437x-sk-evm.dtb \
>  	am437x-gp-evm.dtb
>  dtb-$(CONFIG_SOC_OMAP5) += omap5-cm-t54.dtb \
>  	omap5-sbc-t54.dtb \
> diff --git a/arch/arm/boot/dts/am437x-sk-evm.dts
> b/arch/arm/boot/dts/am437x-sk-evm.dts
> new file mode 100644
> index 0000000..859ff3d
> --- /dev/null
> +++ b/arch/arm/boot/dts/am437x-sk-evm.dts
> @@ -0,0 +1,613 @@
> +/*
> + * 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
> + * published by the Free Software Foundation.
> + */
> +
> +/* AM437x SK EVM */
> +
> +/dts-v1/;
> +
> +#include "am4372.dtsi"
> +#include <dt-bindings/pinctrl/am43xx.h> #include
> +<dt-bindings/pwm/pwm.h> #include <dt-bindings/gpio/gpio.h> #include
> +<dt-bindings/input/input.h>
> +
> +/ {
> +	model = "TI AM437x SK EVM";
> +	compatible = "ti,am437x-sk-evm","ti,am4372","ti,am43";
> +
> +	aliases {
> +		display0 = &lcd0;
> +	};
> +
> +	backlight {
> +		compatible = "pwm-backlight";
> +		pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>;
> +		brightness-levels = <0 51 53 56 62 75 101 152 255>;
> +		default-brightness-level = <8>;
> +	};
> +
> +	sound {
> +		compatible = "ti,da830-evm-audio";
> +		ti,model = "AM437x-SK-EVM";
> +		ti,audio-codec = <&tlv320aic3106>;
> +		ti,mcasp-controller = <&mcasp1>;
> +		ti,codec-clock-rate = <24000000>;
> +		ti,audio-routing =
> +			"Headphone Jack",       "HPLOUT",
> +			"Headphone Jack",       "HPROUT";
> +	};
> +
> +	matrix_keypad: matrix_keypad at 0 {
> +		compatible = "gpio-matrix-keypad";
> +
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&matrix_keypad_pins>;
> +
> +		debounce-delay-ms = <5>;
> +		col-scan-delay-us = <1500>;
> +
> +		row-gpios = <&gpio5 5 GPIO_ACTIVE_HIGH		/*
> Bank5, pin5 */
> +				&gpio5 6 GPIO_ACTIVE_HIGH>;	/* Bank5,
> pin6 */
> +
> +		col-gpios = <&gpio5 13 GPIO_ACTIVE_HIGH		/*
> Bank5, pin13 */
> +				&gpio5 4 GPIO_ACTIVE_HIGH>;	/* Bank5,
> pin4 */
> +
> +		linux,keymap = <
> +				MATRIX_KEY(0, 0, KEY_DOWN)
> +				MATRIX_KEY(0, 1, KEY_RIGHT)
> +				MATRIX_KEY(1, 0, KEY_LEFT)
> +				MATRIX_KEY(1, 1, KEY_UP)
> +			>;
> +	};
> +
> +	leds {
> +		compatible = "gpio-leds";
> +
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&leds_pins>;
> +
> +		led at 0 {
> +			label = "am437x-sk:red:heartbeat";
> +			gpios = <&gpio5 0 GPIO_ACTIVE_HIGH>;	/* Bank 5, pin
> 0 */
> +			linux,default-trigger = "heartbeat";
> +			default-state = "off";
> +		};
> +
> +		led at 1 {
> +			label = "am437x-sk:green:mmc1";
> +			gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;	/* Bank 5, pin
> 1 */
> +			linux,default-trigger = "mmc0";
> +			default-state = "off";
> +		};
> +
> +		led at 2 {
> +			label = "am437x-sk:blue:cpu0";
> +			gpios = <&gpio5 2 GPIO_ACTIVE_HIGH>;	/* Bank 5, pin
> 2 */
> +			linux,default-trigger = "cpu0";
> +			default-state = "off";
> +		};
> +
> +		led at 3 {
> +			label = "am437x-sk:blue:usr3";
> +			gpios = <&gpio5 3 GPIO_ACTIVE_HIGH>;	/* Bank 5, pin
> 3 */
> +			default-state = "off";
> +		};
> +	};
> +
> +	lcd0: display {
> +		compatible = "osddisplays,osd057T0559-34ts", "panel-dpi";
> +		label = "lcd";
> +
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&lcd_pins>;
> +
> +		enable-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
> +
> +		panel-timing {
> +			clock-frequency = <9000000>;
> +			hactive = <480>;
> +			vactive = <272>;
> +			hfront-porch = <8>;
> +			hback-porch = <43>;
> +			hsync-len = <4>;
> +			vback-porch = <12>;
> +			vfront-porch = <4>;
> +			vsync-len = <10>;
> +			hsync-active = <0>;
> +			vsync-active = <0>;
> +			de-active = <1>;
> +			pixelclk-active = <1>;
> +		};
> +
> +		port {
> +			lcd_in: endpoint {
> +				remote-endpoint = <&dpi_out>;
> +			};
> +		};
> +	};
> +};
> +
> +&am43xx_pinmux {
> +	matrix_keypad_pins: matrix_keypad_pins {
> +		pinctrl-single,pins = <
> +			0x24c (PIN_OUTPUT | MUX_MODE7)	/*
> gpio5_13.gpio5_13 */
> +			0x250 (PIN_OUTPUT | MUX_MODE7)	/*
> spi4_sclk.gpio5_4 */
> +			0x254 (PIN_INPUT | MUX_MODE7)	/*
> spi4_d0.gpio5_5 */
> +			0x258 (PIN_INPUT | MUX_MODE7)	/*
> spi4_d1.gpio5_5 */
> +		>;
> +	};
> +
> +	leds_pins: leds_pins {
> +		pinctrl-single,pins = <
> +			0x228 (PIN_OUTPUT | MUX_MODE7)	/*
> uart3_rxd.gpio5_2 */
> +			0x22c (PIN_OUTPUT | MUX_MODE7)	/*
> uart3_txd.gpio5_3 */
> +			0x230 (PIN_OUTPUT | MUX_MODE7)	/*
> uart3_ctsn.gpio5_0 */
> +			0x234 (PIN_OUTPUT | MUX_MODE7)	/*
> uart3_rtsn.gpio5_1 */
> +		>;
> +	};
> +
> +	i2c0_pins: i2c0_pins {
> +		pinctrl-single,pins = <
> +			0x188 (PIN_INPUT_PULLUP | SLEWCTRL_FAST |
> MUX_MODE0)  /* i2c0_sda.i2c0_sda */
> +			0x18c (PIN_INPUT_PULLUP | SLEWCTRL_FAST |
> MUX_MODE0)  /* i2c0_scl.i2c0_scl */
> +		>;
> +	};
> +
> +	i2c1_pins: i2c1_pins {
> +		pinctrl-single,pins = <
> +			0x15c (PIN_INPUT_PULLUP | SLEWCTRL_FAST |
> MUX_MODE2)  /* spi0_cs0.i2c1_scl */
> +			0x158 (PIN_INPUT_PULLUP | SLEWCTRL_FAST |
> MUX_MODE2)  /* spi0_d1.i2c1_sda  */
> +		>;
> +	};
> +
> +	mmc1_pins: pinmux_mmc1_pins {
> +		pinctrl-single,pins = <
> +			0x160 (PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6
> */
> +		>;
> +	};
> +
> +	ecap0_pins: backlight_pins {
> +		pinctrl-single,pins = <
> +			0x164 (PIN_OUTPUT | MUX_MODE0) /*
> eCAP0_in_PWM0_out.eCAP0_in_PWM0_out */
> +		>;
> +	};
> +
> +	edt_ft5306_ts_pins: edt_ft5306_ts_pins {
> +		pinctrl-single,pins = <
> +			0x74 (PIN_INPUT | MUX_MODE7)	/*
> gpmc_wpn.gpio0_31 */
> +			0x78 (PIN_OUTPUT | MUX_MODE7)	/*
> gpmc_be1n.gpio1_28 */
> +		>;
> +	};
> +
> +	cpsw_default: cpsw_default {
> +		pinctrl-single,pins = <
> +			/* Slave 1 */
> +			0x12c (PIN_OUTPUT_PULLDOWN | MUX_MODE2)
> 	/* mii1_txclk.rmii1_tclk */
> +			0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)
> 	/* mii1_txen.rgmii1_tctl */
> +			0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)
> 	/* mii1_txd0.rgmii1_td0 */
> +			0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)
> 	/* mii1_txd1.rgmii1_td1 */
> +			0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)
> 	/* mii1_txd0.rgmii1_td2 */
> +			0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE2)
> 	/* mii1_txd1.rgmii1_td3 */
> +			0x130 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/*
> mii1_rxclk.rmii1_rclk */
> +			0x118 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/*
> mii1_rxdv.rgmii1_rctl */
> +			0x140 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/*
> mii1_rxd0.rgmii1_rd0 */
> +			0x13c (PIN_INPUT_PULLDOWN | MUX_MODE2)	/*
> mii1_rxd1.rgmii1_rd1 */
> +			0x138 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/*
> mii1_rxd0.rgmii1_rd2 */
> +			0x134 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/*
> mii1_rxd1.rgmii1_rd3 */
> +
> +			/* Slave 2 */
> +			0x58 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/*
> gpmc_a6.rgmii2_tclk */
> +			0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/*
> gpmc_a0.rgmii2_tctl */
> +			0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/*
> gpmc_a5.rgmii2_td0 */
> +			0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/*
> gpmc_a4.rgmii2_td1 */
> +			0x4c (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/*
> gpmc_a3.rgmii2_td2 */
> +			0x48 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/*
> gpmc_a2.rgmii2_td3 */
> +			0x5c (PIN_INPUT_PULLDOWN | MUX_MODE2)	/*
> gpmc_a7.rgmii2_rclk */
> +			0x44 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/*
> gpmc_a1.rgmii2_rtcl */
> +			0x6c (PIN_INPUT_PULLDOWN | MUX_MODE2)	/*
> gpmc_a11.rgmii2_rd0 */
> +			0x68 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/*
> gpmc_a10.rgmii2_rd1 */
> +			0x64 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/*
> gpmc_a9.rgmii2_rd2 */
> +			0x60 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/*
> gpmc_a8.rgmii2_rd3 */
> +		>;
> +	};
> +
> +	cpsw_sleep: cpsw_sleep {
> +		pinctrl-single,pins = <
> +			/* Slave 1 reset value */
> +			0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)
> +			0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> +			0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> +			0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> +			0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> +			0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)
> +			0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> +			0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> +			0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> +			0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
> +			0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> +			0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> +
> +			/* Slave 2 reset value */
> +			0x58 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> +			0x40 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> +			0x54 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> +			0x50 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> +			0x4c (PIN_INPUT_PULLDOWN | MUX_MODE7)
> +			0x48 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> +			0x5c (PIN_INPUT_PULLDOWN | MUX_MODE7)
> +			0x44 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> +			0x6c (PIN_INPUT_PULLDOWN | MUX_MODE7)
> +			0x68 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> +			0x64 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> +			0x60 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> +		>;
> +	};
> +
> +	davinci_mdio_default: davinci_mdio_default {
> +		pinctrl-single,pins = <
> +			/* MDIO */
> +			0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST |
> MUX_MODE0)	/* mdio_data.mdio_data */
> +			0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0)
> 		/* mdio_clk.mdio_clk */
> +		>;
> +	};
> +
> +	davinci_mdio_sleep: davinci_mdio_sleep {
> +		pinctrl-single,pins = <
> +			/* MDIO reset value */
> +			0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)
> +			0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
> +		>;
> +	};
> +
> +	dss_pins: dss_pins {
> +		pinctrl-single,pins = <
> +			0x020 (PIN_OUTPUT_PULLUP | MUX_MODE1)	/*
> gpmc ad 8 -> DSS DATA 23 */
> +			0x024 (PIN_OUTPUT_PULLUP | MUX_MODE1)
> +			0x028 (PIN_OUTPUT_PULLUP | MUX_MODE1)
> +			0x02c (PIN_OUTPUT_PULLUP | MUX_MODE1)
> +			0x030 (PIN_OUTPUT_PULLUP | MUX_MODE1)
> +			0x034 (PIN_OUTPUT_PULLUP | MUX_MODE1)
> +			0x038 (PIN_OUTPUT_PULLUP | MUX_MODE1)
> +			0x03c (PIN_OUTPUT_PULLUP | MUX_MODE1)	/*
> gpmc ad 15 -> DSS DATA 16 */
> +			0x0a0 (PIN_OUTPUT_PULLUP | MUX_MODE0)	/* DSS
> DATA 0 */
> +			0x0a4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0a8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0ac (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0b0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0b4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0b8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0bc (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0c0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0c4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0c8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0cc (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0d0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0d4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0d8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0dc (PIN_OUTPUT_PULLUP | MUX_MODE0)	/* DSS
> DATA 15 */
> +			0x0e0 (PIN_OUTPUT_PULLUP | MUX_MODE0)	/* DSS
> VSYNC */
> +			0x0e4 (PIN_OUTPUT_PULLUP | MUX_MODE0)	/* DSS
> HSYNC */
> +			0x0e8 (PIN_OUTPUT_PULLUP | MUX_MODE0)	/* DSS
> PCLK */
> +			0x0ec (PIN_OUTPUT_PULLUP | MUX_MODE0)	/* DSS
> AC BIAS EN */
> +
> +		>;
> +	};
> +
> +	qspi_pins: qspi_pins {
> +		pinctrl-single,pins = <
> +			0x7c (PIN_OUTPUT_PULLUP | MUX_MODE3)	/*
> gpmc_csn0.qspi_csn */
> +			0x88 (PIN_OUTPUT | MUX_MODE2)		/*
> gpmc_csn3.qspi_clk */
> +			0x90 (PIN_INPUT_PULLUP | MUX_MODE3)	/*
> gpmc_advn_ale.qspi_d0 */
> +			0x94 (PIN_INPUT_PULLUP | MUX_MODE3)	/*
> gpmc_oen_ren.qspi_d1 */
> +			0x98 (PIN_INPUT_PULLUP | MUX_MODE3)	/*
> gpmc_wen.qspi_d2 */
> +			0x9c (PIN_INPUT_PULLUP | MUX_MODE3)	/*
> gpmc_be0n_cle.qspi_d3 */
> +		>;
> +	};
> +
> +	mcasp1_pins: mcasp1_pins {
> +		pinctrl-single,pins = <
> +			0x10c (PIN_INPUT_PULLDOWN | MUX_MODE4)	/*
> mii1_crs.mcasp1_aclkx */
> +			0x110 (PIN_INPUT_PULLDOWN | MUX_MODE4)	/*
> mii1_rxerr.mcasp1_fsx */
> +			0x108 (PIN_OUTPUT_PULLDOWN | MUX_MODE4)
> 	/* mii1_col.mcasp1_axr2 */
> +			0x144 (PIN_INPUT_PULLDOWN | MUX_MODE4)	/*
> rmii1_ref_clk.mcasp1_axr3 */
> +		>;
> +	};
> +
> +	lcd_pins: lcd_pins {
> +		pinctrl-single,pins = <
> +			/* GPIO 5_8 to select LCD / HDMI */
> +			0x238 (PIN_OUTPUT_PULLUP | MUX_MODE7)
> +		>;
> +	};
> +};
> +
> +&i2c0 {
> +	status = "okay";
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&i2c0_pins>;
> +	clock-frequency = <400000>;
> +
> +	tps at 24 {
> +		compatible = "ti,tps65218";
> +		reg = <0x24>;
> +		interrupt-parent = <&gic>;
> +		interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
> +		interrupt-controller;
> +		#interrupt-cells = <2>;
> +
> +		dcdc1: regulator-dcdc1 {
> +			compatible = "ti,tps65218-dcdc1";
> +			/* VDD_CORE limits min of OPP50 and max of OPP100
> */
> +			regulator-name = "vdd_core";
> +			regulator-min-microvolt = <912000>;
> +			regulator-max-microvolt = <1144000>;
> +			regulator-boot-on;
> +			regulator-always-on;
> +		};
> +
> +		dcdc2: regulator-dcdc2 {
> +			compatible = "ti,tps65218-dcdc2";
> +			/* VDD_MPU limits min of OPP50 and max of
> OPP_NITRO */
> +			regulator-name = "vdd_mpu";
> +			regulator-min-microvolt = <912000>;
> +			regulator-max-microvolt = <1378000>;
> +			regulator-boot-on;
> +			regulator-always-on;
> +		};
> +
> +		dcdc3: regulator-dcdc3 {
> +			compatible = "ti,tps65218-dcdc3";
> +			regulator-name = "vdds_ddr";
> +			regulator-min-microvolt = <1350000>;
> +			regulator-max-microvolt = <1350000>;
> +			regulator-boot-on;
> +			regulator-always-on;
> +		};
> +
> +		dcdc4: regulator-dcdc4 {
> +			compatible = "ti,tps65218-dcdc4";
> +			regulator-name = "v3_3d";
> +			regulator-min-microvolt = <3300000>;
> +			regulator-max-microvolt = <3300000>;
> +			regulator-boot-on;
> +			regulator-always-on;
> +		};
> +
> +		ldo1: regulator-ldo1 {
> +			compatible = "ti,tps65218-ldo1";
> +			regulator-name = "v1_8d";
> +			regulator-min-microvolt = <1800000>;
> +			regulator-max-microvolt = <1800000>;
> +			regulator-boot-on;
> +			regulator-always-on;
> +		};
> +
> +	};
> +
> +	at24 at 50 {
> +		compatible = "at24,24c256";
> +		pagesize = <64>;
> +		reg = <0x50>;
> +	};
> +};
> +
> +&i2c1 {
> +	status = "okay";
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&i2c1_pins>;
> +	clock-frequency = <400000>;
> +
> +	edt-ft5306 at 38 {
> +		status = "okay";
> +		compatible = "edt,edt-ft5306", "edt,edt-ft5x06";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&edt_ft5306_ts_pins>;
> +
> +		reg = <0x38>;
> +		interrupt-parent = <&gpio0>;
> +		interrupts = <31 0>;
> +
> +		wake-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
> +
> +		touchscreen-size-x = <480>;
> +		touchscreen-size-y = <272>;
> +	};
> +
> +	tlv320aic3106: tlv320aic3106 at 1b {
> +		compatible = "ti,tlv320aic3106";
> +		reg = <0x1b>;
> +		status = "okay";
> +
> +		/* Regulators */
> +		AVDD-supply = <&dcdc4>;
> +		IOVDD-supply = <&dcdc4>;
> +		DRVDD-supply = <&dcdc4>;
> +		DVDD-supply = <&ldo1>;
> +	};
> +
> +	lis331dlh at 18 {
> +		compatible = "st,lis331dlh";
> +		reg = <0x18>;
> +		status = "okay";
> +
> +		Vdd-supply = <&dcdc4>;
> +		Vdd_IO-supply = <&dcdc4>;
> +		interrupts-extended = <&gpio1 6 0>, <&gpio2 1 0>;
> +	};
> +};
> +
> +&epwmss0 {
> +	status = "okay";
> +};
> +
> +&ecap0 {
> +	status = "okay";
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&ecap0_pins>;
> +};
> +
> +&gpio0 {
> +	status = "okay";
> +};
> +
> +&gpio1 {
> +	status = "okay";
> +};
> +
> +&gpio5 {
> +	status = "okay";
> +};
> +
> +&mmc1 {
> +	status = "okay";
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&mmc1_pins>;
> +
> +	vmmc-supply = <&dcdc4>;
> +	bus-width = <4>;
> +	cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>; };
> +
> +&usb2_phy1 {
> +	status = "okay";
> +};
> +
> +&usb1 {
> +	dr_mode = "peripheral";
> +	status = "okay";
> +};
> +
> +&usb2_phy2 {
> +	status = "okay";
> +};
> +
> +&usb2 {
> +	dr_mode = "host";
> +	status = "okay";
> +};
> +
> +&qspi {
> +	status = "okay";
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&qspi_pins>;
> +
> +	spi-max-frequency = <48000000>;
> +	m25p80 at 0 {
> +		compatible = "mx66l51235l";
> +		spi-max-frequency = <48000000>;
> +		reg = <0>;
> +		spi-cpol;
> +		spi-cpha;
> +		spi-tx-bus-width = <1>;
> +		spi-rx-bus-width = <4>;
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +
> +		/* MTD partition table.
> +		 * The ROM checks the first 512KiB
> +		 * for a valid file to boot(XIP).
> +		 */
> +		partition at 0 {
> +			label = "QSPI.U_BOOT";
> +			reg = <0x00000000 0x000080000>;
> +		};
> +		partition at 1 {
> +			label = "QSPI.U_BOOT.backup";
> +			reg = <0x00080000 0x00080000>;
> +		};
> +		partition at 2 {
> +			label = "QSPI.U-BOOT-SPL_OS";
> +			reg = <0x00100000 0x00010000>;
> +		};
> +		partition at 3 {
> +			label = "QSPI.U_BOOT_ENV";
> +			reg = <0x00110000 0x00010000>;
> +		};
> +		partition at 4 {
> +			label = "QSPI.U-BOOT-ENV.backup";
> +			reg = <0x00120000 0x00010000>;
> +		};
> +		partition at 5 {
> +			label = "QSPI.KERNEL";
> +			reg = <0x00130000 0x0800000>;
> +		};
> +		partition at 6 {
> +			label = "QSPI.FILESYSTEM";
> +			reg = <0x00930000 0x36D0000>;
> +		};
> +	};
> +};
> +
> +&mac {
> +	pinctrl-names = "default", "sleep";
> +	pinctrl-0 = <&cpsw_default>;
> +	pinctrl-1 = <&cpsw_sleep>;
> +	dual_emac = <1>;
> +	status = "okay";
> +};
> +
> +&davinci_mdio {
> +	pinctrl-names = "default", "sleep";
> +	pinctrl-0 = <&davinci_mdio_default>;
> +	pinctrl-1 = <&davinci_mdio_sleep>;
> +	status = "okay";
> +};
> +
> +&cpsw_emac0 {
> +	phy_id = <&davinci_mdio>, <4>;
> +	phy-mode = "rgmii";
> +	dual_emac_res_vlan = <1>;
> +};
> +
> +&cpsw_emac1 {
> +	phy_id = <&davinci_mdio>, <5>;
> +	phy-mode = "rgmii";
> +	dual_emac_res_vlan = <2>;
> +};
> +
> +&elm {
> +	status = "okay";
> +};
> +
> +&mcasp1 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&mcasp1_pins>;
> +
> +	status = "okay";
> +
> +	op-mode = <0>;
> +	tdm-slots = <2>;
> +	serial-dir = <
> +		0 0 1 2
> +	>;
> +
> +	tx-num-evt = <1>;
> +	rx-num-evt = <1>;
> +};
> +
> +&dss {
> +	status = "okay";
> +
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&dss_pins>;
> +
> +	port {
> +		dpi_out: endpoint at 0 {
> +			remote-endpoint = <&lcd_in>;
> +			data-lines = <24>;
> +		};
> +	};
> +};
> +
> +&rtc {
> +	status = "okay";
> +};
> +
> +&wdt {
> +	status = "okay";
> +};
> --
> 2.0.0.390.gcb682f8

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH v3 1/2] arm: dts: am4372: let boards access all nodes through phandles
  2014-06-23 18:20 ` [PATCH v3 1/2] arm: dts: am4372: let boards access all nodes through phandles Felipe Balbi
@ 2014-06-24 18:39   ` Cooper Jr., Franklin
  2014-06-24 20:51   ` Tom Rini
  2014-06-24 21:11   ` Rob Herring
  2 siblings, 0 replies; 13+ messages in thread
From: Cooper Jr., Franklin @ 2014-06-24 18:39 UTC (permalink / raw)
  To: linux-arm-kernel

Tested-by: Franklin Cooper Jr. <fcooper@ti.com>

> -----Original Message-----
> From: Balbi, Felipe
> Sent: Monday, June 23, 2014 1:21 PM
> To: Benoit Cousson
> Cc: robh+dt at kernel.org; galak at codeaurora.org; Tony Lindgren;
> linux at arm.linux.org.uk; Nayak, Rajendra; Menon, Nishanth; R, Sricharan;
> devicetree at vger.kernel.org; Linux Kernel Mailing List; Linux OMAP Mailing
> List; Linux ARM Kernel Mailing List; Balbi, Felipe
> Subject: [PATCH v3 1/2] arm: dts: am4372: let boards access all nodes through
> phandles
> 
> by providing phandles to rtc, wdt, cpu and dispc nodes, boards can access
> them to add board-specific data.
> 
> Signed-off-by: Felipe Balbi <balbi@ti.com>
> ---
> 
> Changes since v1:
> 	- added phandles to cpu and dispc
> 
>  arch/arm/boot/dts/am4372.dtsi | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi
> index 49fa596..8d3c163 100644
> --- a/arch/arm/boot/dts/am4372.dtsi
> +++ b/arch/arm/boot/dts/am4372.dtsi
> @@ -30,7 +30,7 @@
>  	cpus {
>  		#address-cells = <1>;
>  		#size-cells = <0>;
> -		cpu at 0 {
> +		cpu: cpu at 0 {
>  			compatible = "arm,cortex-a9";
>  			device_type = "cpu";
>  			reg = <0>;
> @@ -270,7 +270,7 @@
>  			ti,hwmods = "counter_32k";
>  		};
> 
> -		rtc at 44e3e000 {
> +		rtc: rtc at 44e3e000 {
>  			compatible = "ti,am4372-rtc","ti,da830-rtc";
>  			reg = <0x44e3e000 0x1000>;
>  			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH @@ -
> 279,7 +279,7 @@
>  			status = "disabled";
>  		};
> 
> -		wdt at 44e35000 {
> +		wdt: wdt at 44e35000 {
>  			compatible = "ti,am4372-wdt","ti,omap3-wdt";
>  			reg = <0x44e35000 0x1000>;
>  			interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; @@
> -871,7 +871,7 @@
>  			#size-cells = <1>;
>  			ranges;
> 
> -			dispc at 4832a400 {
> +			dispc: dispc at 4832a400 {
>  				compatible = "ti,omap3-dispc";
>  				reg = <0x4832a400 0x400>;
>  				interrupts = <GIC_SPI 127
> IRQ_TYPE_LEVEL_HIGH>;
> --
> 2.0.0.390.gcb682f8

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH v3 1/2] arm: dts: am4372: let boards access all nodes through phandles
  2014-06-23 18:20 ` [PATCH v3 1/2] arm: dts: am4372: let boards access all nodes through phandles Felipe Balbi
  2014-06-24 18:39   ` Cooper Jr., Franklin
@ 2014-06-24 20:51   ` Tom Rini
  2014-06-24 21:11   ` Rob Herring
  2 siblings, 0 replies; 13+ messages in thread
From: Tom Rini @ 2014-06-24 20:51 UTC (permalink / raw)
  To: linux-arm-kernel

On 06/23/2014 02:20 PM, Felipe Balbi wrote:
> by providing phandles to rtc, wdt, cpu and dispc nodes,
> boards can access them to add board-specific data.
> 
> Signed-off-by: Felipe Balbi <balbi@ti.com>

Tested-by: Tom Rini <trini@ti.com>

-- 
Tom

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH v3 2/2] arm: dts: add support for AM437x StarterKit
  2014-06-23 18:20 ` [PATCH v3 2/2] arm: dts: add support for AM437x StarterKit Felipe Balbi
  2014-06-24 18:36   ` Cooper Jr., Franklin
@ 2014-06-24 20:51   ` Tom Rini
  2014-06-25  2:07   ` Darren Etheridge
  2 siblings, 0 replies; 13+ messages in thread
From: Tom Rini @ 2014-06-24 20:51 UTC (permalink / raw)
  To: linux-arm-kernel

On 06/23/2014 02:20 PM, Felipe Balbi wrote:
> Add support for TI's AM437x StarterKit Evaluation
> Module.
> 
> Cc: Josh Elliot <jelliott@ti.com>
> Cc: Darren Etheridge <detheridge@ti.com>
> Signed-off-by: Felipe Balbi <balbi@ti.com>

Tested-by: Tom Rini <trini@ti.com>

-- 
Tom

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH v3 1/2] arm: dts: am4372: let boards access all nodes through phandles
  2014-06-23 18:20 ` [PATCH v3 1/2] arm: dts: am4372: let boards access all nodes through phandles Felipe Balbi
  2014-06-24 18:39   ` Cooper Jr., Franklin
  2014-06-24 20:51   ` Tom Rini
@ 2014-06-24 21:11   ` Rob Herring
  2014-06-25  1:40     ` Felipe Balbi
  2 siblings, 1 reply; 13+ messages in thread
From: Rob Herring @ 2014-06-24 21:11 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Jun 23, 2014 at 1:20 PM, Felipe Balbi <balbi@ti.com> wrote:
> by providing phandles to rtc, wdt, cpu and dispc nodes,
> boards can access them to add board-specific data.

Strictly speaking, you are adding labels, not phandles. You can do
phandles without using labels, but the syntax is not so obvious. I'd
tell you what it is but offhand I don't remember. :)

Rob

> Signed-off-by: Felipe Balbi <balbi@ti.com>
> ---
>
> Changes since v1:
>         - added phandles to cpu and dispc
>
>  arch/arm/boot/dts/am4372.dtsi | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi
> index 49fa596..8d3c163 100644
> --- a/arch/arm/boot/dts/am4372.dtsi
> +++ b/arch/arm/boot/dts/am4372.dtsi
> @@ -30,7 +30,7 @@
>         cpus {
>                 #address-cells = <1>;
>                 #size-cells = <0>;
> -               cpu at 0 {
> +               cpu: cpu at 0 {
>                         compatible = "arm,cortex-a9";
>                         device_type = "cpu";
>                         reg = <0>;
> @@ -270,7 +270,7 @@
>                         ti,hwmods = "counter_32k";
>                 };
>
> -               rtc at 44e3e000 {
> +               rtc: rtc at 44e3e000 {
>                         compatible = "ti,am4372-rtc","ti,da830-rtc";
>                         reg = <0x44e3e000 0x1000>;
>                         interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH
> @@ -279,7 +279,7 @@
>                         status = "disabled";
>                 };
>
> -               wdt at 44e35000 {
> +               wdt: wdt at 44e35000 {
>                         compatible = "ti,am4372-wdt","ti,omap3-wdt";
>                         reg = <0x44e35000 0x1000>;
>                         interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
> @@ -871,7 +871,7 @@
>                         #size-cells = <1>;
>                         ranges;
>
> -                       dispc at 4832a400 {
> +                       dispc: dispc at 4832a400 {
>                                 compatible = "ti,omap3-dispc";
>                                 reg = <0x4832a400 0x400>;
>                                 interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
> --
> 2.0.0.390.gcb682f8
>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH v3 1/2] arm: dts: am4372: let boards access all nodes through phandles
  2014-06-24 21:11   ` Rob Herring
@ 2014-06-25  1:40     ` Felipe Balbi
  2014-06-25 11:14       ` Mark Rutland
  0 siblings, 1 reply; 13+ messages in thread
From: Felipe Balbi @ 2014-06-25  1:40 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

On Tue, Jun 24, 2014 at 04:11:48PM -0500, Rob Herring wrote:
> On Mon, Jun 23, 2014 at 1:20 PM, Felipe Balbi <balbi@ti.com> wrote:
> > by providing phandles to rtc, wdt, cpu and dispc nodes,
> > boards can access them to add board-specific data.
> 
> Strictly speaking, you are adding labels, not phandles. You can do

heh, fair point. Easily editable when applying, though (?)

> phandles without using labels, but the syntax is not so obvious. I'd
> tell you what it is but offhand I don't remember. :)

something along the lines of using the full path ?

-- 
balbi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140624/1ea17a10/attachment.sig>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH v3 2/2] arm: dts: add support for AM437x StarterKit
  2014-06-23 18:20 ` [PATCH v3 2/2] arm: dts: add support for AM437x StarterKit Felipe Balbi
  2014-06-24 18:36   ` Cooper Jr., Franklin
  2014-06-24 20:51   ` Tom Rini
@ 2014-06-25  2:07   ` Darren Etheridge
  2 siblings, 0 replies; 13+ messages in thread
From: Darren Etheridge @ 2014-06-25  2:07 UTC (permalink / raw)
  To: linux-arm-kernel

On 06/23/2014 01:20 PM, Felipe Balbi wrote:
> Add support for TI's AM437x StarterKit Evaluation
> Module.
>
> Cc: Josh Elliot <jelliott@ti.com>
> Cc: Darren Etheridge <detheridge@ti.com>
> Signed-off-by: Felipe Balbi <balbi@ti.com>

Tested-by: Darren Etheridge <detheridge@ti.com>

I tested with omap2plus_defconfig + additionally enabling OMAPDSS and 
Backlight in .config.  Working great for me with ethernet, sdcard, lcd 
panel and backlight all functional.

dmesg log attached - generated by kernel built from the repo/branch 
Felipe pointed to in the cover letter for this series and obviously 
running on an AM437x StarterKit EVM.

Darren
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dmesg-am437x-sk.log
Type: text/x-log
Size: 21088 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140624/05b3e521/attachment-0001.bin>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH v3 1/2] arm: dts: am4372: let boards access all nodes through phandles
  2014-06-25  1:40     ` Felipe Balbi
@ 2014-06-25 11:14       ` Mark Rutland
  0 siblings, 0 replies; 13+ messages in thread
From: Mark Rutland @ 2014-06-25 11:14 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Jun 25, 2014 at 02:40:16AM +0100, Felipe Balbi wrote:
> Hi,
> 
> On Tue, Jun 24, 2014 at 04:11:48PM -0500, Rob Herring wrote:
> > On Mon, Jun 23, 2014 at 1:20 PM, Felipe Balbi <balbi@ti.com> wrote:
> > > by providing phandles to rtc, wdt, cpu and dispc nodes,
> > > boards can access them to add board-specific data.
> > 
> > Strictly speaking, you are adding labels, not phandles. You can do
> 
> heh, fair point. Easily editable when applying, though (?)
> 
> > phandles without using labels, but the syntax is not so obvious. I'd
> > tell you what it is but offhand I don't remember. :)
> 
> something along the lines of using the full path ?

Yup. The full path in braces:

	phandle-property = <&{/full/path/to/node@0xDEAD}>;

Mark.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH v3 0/2] arm: dts: add support for am437x sk
  2014-06-23 18:20 [PATCH v3 0/2] arm: dts: add support for am437x sk Felipe Balbi
  2014-06-23 18:20 ` [PATCH v3 1/2] arm: dts: am4372: let boards access all nodes through phandles Felipe Balbi
  2014-06-23 18:20 ` [PATCH v3 2/2] arm: dts: add support for AM437x StarterKit Felipe Balbi
@ 2014-06-30 16:45 ` Felipe Balbi
  2014-07-01 12:50   ` Tony Lindgren
  2 siblings, 1 reply; 13+ messages in thread
From: Felipe Balbi @ 2014-06-30 16:45 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

On Mon, Jun 23, 2014 at 01:20:57PM -0500, Felipe Balbi wrote:
> Hi,
> 
> here's v3 of am437x sk support. Patches tested on top of next-20140617.
> 
> Note that this series was tested with the following extra patches:
> 
> http://marc.info/?l=linux-omap&m=140299431732700&w=2
> http://marc.info/?l=linux-omap&m=140300146503126&w=2
> http://marc.info/?l=linux-omap&m=140299231232123
> http://marc.info/?l=linux-omap&m=140310472709968&w=2
> http://marc.info/?l=linux-omap&m=140310471409959&w=2
> 
> A branch is also available with all these patches at [1].
> 
> [1] http://git.kernel.org/cgit/linux/kernel/git/balbi/usb.git/log/?h=am437x-starterkit
> 
> Felipe Balbi (2):
>   arm: dts: am4372: let boards access all nodes through phandles
>   arm: dts: add support for AM437x StarterKit

ping on this series, it has been tested by several folks and still no
updates from anybody in the DT land.

-- 
balbi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140630/2a6f8a3c/attachment.sig>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH v3 0/2] arm: dts: add support for am437x sk
  2014-06-30 16:45 ` [PATCH v3 0/2] arm: dts: add support for am437x sk Felipe Balbi
@ 2014-07-01 12:50   ` Tony Lindgren
  0 siblings, 0 replies; 13+ messages in thread
From: Tony Lindgren @ 2014-07-01 12:50 UTC (permalink / raw)
  To: linux-arm-kernel

* Felipe Balbi <balbi@ti.com> [140630 09:47]:
> Hi,
> 
> On Mon, Jun 23, 2014 at 01:20:57PM -0500, Felipe Balbi wrote:
> > Hi,
> > 
> > here's v3 of am437x sk support. Patches tested on top of next-20140617.
> > 
> > Note that this series was tested with the following extra patches:
> > 
> > http://marc.info/?l=linux-omap&m=140299431732700&w=2
> > http://marc.info/?l=linux-omap&m=140300146503126&w=2
> > http://marc.info/?l=linux-omap&m=140299231232123
> > http://marc.info/?l=linux-omap&m=140310472709968&w=2
> > http://marc.info/?l=linux-omap&m=140310471409959&w=2
> > 
> > A branch is also available with all these patches at [1].
> > 
> > [1] http://git.kernel.org/cgit/linux/kernel/git/balbi/usb.git/log/?h=am437x-starterkit
> > 
> > Felipe Balbi (2):
> >   arm: dts: am4372: let boards access all nodes through phandles
> >   arm: dts: add support for AM437x StarterKit
> 
> ping on this series, it has been tested by several folks and still no
> updates from anybody in the DT land.

Thanks applying both into omap-for-v3.17/dt branch.

Regards,

Tony

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2014-07-01 12:50 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-23 18:20 [PATCH v3 0/2] arm: dts: add support for am437x sk Felipe Balbi
2014-06-23 18:20 ` [PATCH v3 1/2] arm: dts: am4372: let boards access all nodes through phandles Felipe Balbi
2014-06-24 18:39   ` Cooper Jr., Franklin
2014-06-24 20:51   ` Tom Rini
2014-06-24 21:11   ` Rob Herring
2014-06-25  1:40     ` Felipe Balbi
2014-06-25 11:14       ` Mark Rutland
2014-06-23 18:20 ` [PATCH v3 2/2] arm: dts: add support for AM437x StarterKit Felipe Balbi
2014-06-24 18:36   ` Cooper Jr., Franklin
2014-06-24 20:51   ` Tom Rini
2014-06-25  2:07   ` Darren Etheridge
2014-06-30 16:45 ` [PATCH v3 0/2] arm: dts: add support for am437x sk Felipe Balbi
2014-07-01 12:50   ` Tony Lindgren

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).