* [PATCH 1/2] ARM: i.MX51: Sync DT files with kernel
@ 2014-01-08 5:44 Alexander Shiyan
2014-01-08 5:44 ` [PATCH 2/2] ARM: freescale-mx51-pdk: Remove FEC GPIO handling Alexander Shiyan
2014-01-10 7:39 ` [PATCH 1/2] ARM: i.MX51: Sync DT files with kernel Sascha Hauer
0 siblings, 2 replies; 5+ messages in thread
From: Alexander Shiyan @ 2014-01-08 5:44 UTC (permalink / raw)
To: barebox
This patch includes update i.MX51 template and porting some barebox
DTS files to use new template.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
---
arch/arm/dts/imx51-babbage.dts | 149 ++++++--
arch/arm/dts/imx51-genesi-efika-sb.dts | 156 ++++++---
arch/arm/dts/imx51-pingrp.h | 249 +++++++++++++
arch/arm/dts/imx51.dtsi | 465 +++++--------------------
include/dt-bindings/clock/imx5-clock.h | 203 +++++++++++
include/dt-bindings/interrupt-controller/irq.h | 19 +
6 files changed, 794 insertions(+), 447 deletions(-)
create mode 100644 arch/arm/dts/imx51-pingrp.h
create mode 100644 include/dt-bindings/clock/imx5-clock.h
create mode 100644 include/dt-bindings/interrupt-controller/irq.h
diff --git a/arch/arm/dts/imx51-babbage.dts b/arch/arm/dts/imx51-babbage.dts
index 4edbccb..41f470e 100644
--- a/arch/arm/dts/imx51-babbage.dts
+++ b/arch/arm/dts/imx51-babbage.dts
@@ -35,7 +35,21 @@
crtcs = <&ipu 0>;
interface-pix-fmt = "rgb24";
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_ipu_disp1_1>;
+ pinctrl-0 = <&pinctrl_ipu_disp1>;
+ display-timings {
+ native-mode = <&timing0>;
+ timing0: dvi {
+ clock-frequency = <65000000>;
+ hactive = <1024>;
+ vactive = <768>;
+ hback-porch = <220>;
+ hfront-porch = <40>;
+ vback-porch = <21>;
+ vfront-porch = <7>;
+ hsync-len = <60>;
+ vsync-len = <10>;
+ };
+ };
};
display@di1 {
@@ -43,7 +57,26 @@
crtcs = <&ipu 1>;
interface-pix-fmt = "rgb565";
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_ipu_disp2_1>;
+ pinctrl-0 = <&pinctrl_ipu_disp2>;
+ status = "disabled";
+ display-timings {
+ native-mode = <&timing1>;
+ timing1: claawvga {
+ clock-frequency = <27000000>;
+ hactive = <800>;
+ vactive = <480>;
+ hback-porch = <40>;
+ hfront-porch = <60>;
+ vback-porch = <10>;
+ vfront-porch = <10>;
+ hsync-len = <20>;
+ vsync-len = <10>;
+ hsync-active = <0>;
+ vsync-active = <0>;
+ de-active = <1>;
+ pixelclk-active = <0>;
+ };
+ };
};
gpio-keys {
@@ -51,7 +84,7 @@
power {
label = "Power Button";
- gpios = <&gpio2 21 0>;
+ gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
linux,code = <116>; /* KEY_POWER */
gpio-key,wakeup;
};
@@ -70,11 +103,25 @@
mux-int-port = <2>;
mux-ext-port = <3>;
};
+
+ clocks {
+ ckih1 {
+ clock-frequency = <22579200>;
+ };
+
+ clk_26M: codec_clock {
+ compatible = "fixed-clock";
+ reg=<0>;
+ #clock-cells = <0>;
+ clock-frequency = <26000000>;
+ gpios = <&gpio4 26 GPIO_ACTIVE_LOW>;
+ };
+ };
};
&esdhc1 {
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_esdhc1_1>;
+ pinctrl-0 = <&pinctrl_esdhc1>;
fsl,cd-controller;
fsl,wp-controller;
status = "okay";
@@ -89,24 +136,25 @@
&esdhc2 {
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_esdhc2_1>;
- cd-gpios = <&gpio1 6 0>;
- wp-gpios = <&gpio1 5 0>;
+ pinctrl-0 = <&pinctrl_esdhc2>;
+ cd-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
+ wp-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
status = "okay";
};
&uart3 {
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_uart3_1>;
+ pinctrl-0 = <&pinctrl_uart3 &pinctrl_uart3_rtscts>;
fsl,uart-has-rtscts;
status = "okay";
};
&ecspi1 {
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_ecspi1_1>;
+ pinctrl-0 = <&pinctrl_ecspi1>;
fsl,spi-num-chipselects = <2>;
- cs-gpios = <&gpio4 24 0>, <&gpio4 25 0>;
+ cs-gpios = <&gpio4 24 GPIO_ACTIVE_HIGH>,
+ <&gpio4 25 GPIO_ACTIVE_LOW>;
status = "okay";
pmic: mc13892@0 {
@@ -117,7 +165,7 @@
spi-cs-high;
reg = <0>;
interrupt-parent = <&gpio1>;
- interrupts = <8 0x4>;
+ interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
regulators {
sw1_reg: sw1 {
@@ -240,7 +288,7 @@
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hog>;
- hog {
+ imx51-babbage {
pinctrl_hog: hoggrp {
fsl,pins = <
MX51_PAD_GPIO1_0__SD1_CD 0x20d5
@@ -250,34 +298,93 @@
MX51_PAD_EIM_A27__GPIO2_21 0x5
MX51_PAD_CSPI1_SS0__GPIO4_24 0x85
MX51_PAD_CSPI1_SS1__GPIO4_25 0x85
- MX51_PAD_EIM_A20__GPIO2_14 0x85
+ MX51_PAD_CSPI1_RDY__GPIO4_26 0x80000000
>;
};
+
+ pinctrl_audmux: audmuxgrp {
+ fsl,pins = <MX51_AUDMUX_PINGRP1>;
+ };
+
+ pinctrl_ecspi1: ecspi1grp {
+ fsl,pins = <MX51_ECSPI1_PINGRP1>;
+ };
+
+ pinctrl_esdhc1: esdhc1grp {
+ fsl,pins = <MX51_ESDHC1_PINGRP1>;
+ };
+
+ pinctrl_esdhc2: esdhc2grp {
+ fsl,pins = <MX51_ESDHC2_PINGRP1>;
+ };
+
+ pinctrl_fec: fecgrp {
+ fsl,pins = <
+ MX51_FEC_PINGRP1
+ MX51_PAD_EIM_A20__GPIO2_14 0x85 /* Reset */
+ >;
+ };
+
+ pinctrl_i2c2: i2c2grp {
+ fsl,pins = <MX51_I2C2_PINGRP1>;
+ };
+
+ pinctrl_ipu_disp1: ipudisp1grp {
+ fsl,pins = <MX51_IPU_DISP1_PINGRP1>;
+ };
+
+ pinctrl_ipu_disp2: ipudisp2grp {
+ fsl,pins = <MX51_IPU_DISP2_PINGRP1>;
+ };
+
+ pinctrl_kpp: kppgrp {
+ fsl,pins = <MX51_KPP_PINGRP1>;
+ };
+
+ pinctrl_uart1: uart1grp {
+ fsl,pins = <MX51_UART1_PINGRP1>;
+ };
+
+ pinctrl_uart1_rtscts: uart1rtsctsgrp {
+ fsl,pins = <MX51_UART1_RTSCTS_PINGRP1>;
+ };
+
+ pinctrl_uart2: uart2grp {
+ fsl,pins = <MX51_UART2_PINGRP1>;
+ };
+
+ pinctrl_uart3: uart3grp {
+ fsl,pins = <MX51_UART3_PINGRP1>;
+ };
+
+ pinctrl_uart3_rtscts: uart3rtsctsgrp {
+ fsl,pins = <MX51_UART3_RTSCTS_PINGRP1>;
+ };
};
};
&uart1 {
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_uart1_1>;
+ pinctrl-0 = <&pinctrl_uart1 &pinctrl_uart1_rtscts>;
fsl,uart-has-rtscts;
status = "okay";
};
&uart2 {
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_uart2_1>;
+ pinctrl-0 = <&pinctrl_uart2>;
status = "okay";
};
&i2c2 {
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_i2c2_1>;
+ pinctrl-0 = <&pinctrl_i2c2>;
status = "okay";
sgtl5000: codec@0a {
compatible = "fsl,sgtl5000";
reg = <0x0a>;
- clock-frequency = <26000000>;
+ clocks = <&clk_26M>;
VDDA-supply = <&vdig_reg>;
VDDIO-supply = <&vvideo_reg>;
};
@@ -285,20 +392,22 @@
&audmux {
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_audmux_1>;
+ pinctrl-0 = <&pinctrl_audmux>;
status = "okay";
};
&fec {
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_fec_1>;
+ pinctrl-0 = <&pinctrl_fec>;
phy-mode = "mii";
+ phy-reset-gpios = <&gpio2 14 GPIO_ACTIVE_LOW>;
+ phy-reset-duration = <1>;
status = "okay";
};
&kpp {
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_kpp_1>;
+ pinctrl-0 = <&pinctrl_kpp>;
linux,keymap = <0x00000067 /* KEY_UP */
0x0001006c /* KEY_DOWN */
0x00020072 /* KEY_VOLUMEDOWN */
diff --git a/arch/arm/dts/imx51-genesi-efika-sb.dts b/arch/arm/dts/imx51-genesi-efika-sb.dts
index 21b7c7e..2b85a49 100644
--- a/arch/arm/dts/imx51-genesi-efika-sb.dts
+++ b/arch/arm/dts/imx51-genesi-efika-sb.dts
@@ -38,33 +38,37 @@
leds {
compatible = "gpio-leds";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_leds>;
mail {
label = "mail";
- gpios = <&gpio1 3 1>;
+ gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
linux,default-trigger = "heartbeat";
};
white {
label = "white";
- gpios = <&gpio2 25 0>;
+ gpios = <&gpio2 25 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "none";
};
};
gpio-keys {
compatible = "gpio-keys";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_keys>;
power {
label = "Power";
- gpios = <&gpio2 31 0>;
+ gpios = <&gpio2 31 GPIO_ACTIVE_HIGH>;
linux,code = <116>; /* KEY_POWER */
gpio-key,wakeup;
};
lid {
label = "Lid";
- gpios = <&gpio3 14 0>;
+ gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;
linux,input-type = <5>; /* EV_SW */
linux,code = <0>; /* SW_LID */
debounce-interval = <1>;
@@ -78,8 +82,7 @@
model = "imx51-efikasb-sgtl5000";
ssi-controller = <&ssi1>;
audio-codec = <&sgtl5000>;
- audio-routing =
- "Headphone Jack", "HP_OUT";
+ audio-routing = "Headphone Jack", "HP_OUT";
mux-int-port = <1>;
mux-ext-port = <3>;
};
@@ -101,52 +104,115 @@
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hog>;
- hog {
+ imx51-genesi-efika-sb {
pinctrl_hog: hoggrp {
fsl,pins = <
- MX51_PAD_EIM_DTACK__GPIO2_31 0x800000c0 /* Power button */
MX51_PAD_EIM_A16__GPIO2_10 0x80000000 /* WLAN reset */
MX51_PAD_EIM_A22__GPIO2_16 0x80000000 /* WLAN power */
- MX51_PAD_CSI2_D13__GPIO4_10 0x80000000 /* WWAN power? */
MX51_PAD_DI1_PIN12__GPIO3_1 0x80000000 /* WLAN switch */
MX51_PAD_EIM_A17__GPIO2_11 0x80000000 /* Bluetooth power */
MX51_PAD_EIM_A23__GPIO2_17 0x80000000 /* Audio amp enable, 1 = on */
- MX51_PAD_GPIO1_6__REF_EN_B 0x80000000 /* PMIC interrupt */
- MX51_PAD_DI1_PIN11__GPIO3_0 0x80000000 /* Battery low */
- MX51_PAD_CSI2_PIXCLK__GPIO4_15 0x80000000 /* Power good */
- MX51_PAD_CSI1_VSYNC__GPIO3_14 0x80000000 /* Lid switch, 0 = closed */
- MX51_PAD_CSPI1_SS0__GPIO4_24 0x85
- MX51_PAD_CSPI1_SS1__GPIO4_25 0x85
MX51_PAD_CSI1_D8__GPIO3_12 0x80000000 /* LVDS enable, 1 = on */
MX51_PAD_GPIO1_2__GPIO1_2 0x80000000 /* Backlight PWM */
MX51_PAD_CSI2_D19__GPIO4_12 0x80000000 /* Backlight power, 0 = on */
- MX51_PAD_DISPB2_SER_DIO__GPIO3_6 0x80000000 /* LVDS reset, 1 = reset */
MX51_PAD_DISPB2_SER_DIN__GPIO3_5 0x80000000 /* LVDS reset (1 = reset) */
MX51_PAD_DISPB2_SER_CLK__GPIO3_7 0x80000000 /* LVDS power, 1 = on */
MX51_PAD_CSI1_D9__GPIO3_13 0x80000000 /* LCD enable (1 = on */
MX51_PAD_NANDF_CS0__GPIO3_16 0x80000000 /* Camera power, 0 = on */
MX51_PAD_GPIO1_5__GPIO1_5 0x80000000 /* USB hub reset, 0 = reset */
MX51_PAD_EIM_D27__GPIO2_9 0x80000000 /* USB phy reset, 0 = reset */
- MX51_PAD_DISPB2_SER_DIO__GPIO3_6 0x80000000 /* Battery, 0 = inserted */
- MX51_PAD_GPIO1_3__GPIO1_3 0x80000000 /* Alarm LED, 0 = on */
- MX51_PAD_EIM_CS0__GPIO2_25 0x80000000 /* Caps LED, 1 = on */
MX51_PAD_CSPI1_RDY__GPIO4_26 0x80000000 /* Audio clk enable */
- MX51_PAD_EIM_A26__GPIO2_20 0x80000000
- MX51_PAD_USBH1_STP__GPIO1_27 0x80000000
>;
};
+
+ pinctrl_audmux: audmuxgrp {
+ fsl,pins = <MX51_AUDMUX_PINGRP1>;
+ };
+
+ pinctrl_battery: batterygrp {
+ fsl,pins = <
+ MX51_PAD_DISPB2_SER_DIO__GPIO3_6 0xe5 /* Battery */
+ >;
+ };
+
+ pinctrl_ecspi1: ecspi1grp {
+ fsl,pins = <
+ MX51_ECSPI1_PINGRP1
+ MX51_PAD_CSPI1_SS0__GPIO4_24 0x85 /* CS0 */
+ MX51_PAD_CSPI1_SS1__GPIO4_25 0x85 /* CS1 */
+ MX51_PAD_GPIO1_6__GPIO1_6 0xe5 /* PMIC IRQ */
+ >;
+ };
+
+ pinctrl_esdhc1: esdhc1grp {
+ fsl,pins = <
+ MX51_ESDHC1_PINGRP1
+ MX51_PAD_GPIO1_1__GPIO1_1 0xe5 /* WP */
+ MX51_PAD_EIM_CS2__GPIO2_27 0xe5 /* CD */
+ >;
+ };
+
+ pinctrl_esdhc2: esdhc2grp {
+ fsl,pins = <
+ MX51_ESDHC2_PINGRP1
+ MX51_PAD_GPIO1_7__GPIO1_7 0xe5 /* WP */
+ MX51_PAD_GPIO1_8__GPIO1_8 0xe5 /* CD */
+ >;
+ };
+
+ pinctrl_i2c2: i2c2grp {
+ fsl,pins = <MX51_I2C2_PINGRP1>;
+ };
+
+ pinctrl_ipu_disp1: ipudisp1grp {
+ fsl,pins = <MX51_IPU_DISP1_PINGRP1>;
+ };
+
+ pinctrl_keys: keysgrp {
+ fsl,pins = <
+ MX51_PAD_EIM_DTACK__GPIO2_31 0xe5 /* Power btn */
+ MX51_PAD_CSI1_VSYNC__GPIO3_14 0xe5 /* Lid switch */
+ >;
+ };
+
+ pinctrl_leds: ledsgrp {
+ fsl,pins = <
+ MX51_PAD_GPIO1_3__GPIO1_3 0x85 /* Alarm LED */
+ MX51_PAD_EIM_CS0__GPIO2_25 0x85 /* Caps LED */
+ >;
+ };
+
+ pinctrl_pata: patagrp {
+ fsl,pins = <MX51_PATA_PINGRP1>;
+ };
+
+ pinctrl_uart1: uart1grp {
+ fsl,pins = <
+ MX51_UART1_PINGRP1
+ MX51_UART1_RTSCTS_PINGRP1
+ >;
+ };
+
+ pinctrl_usbh1: usbh1grp {
+ fsl,pins = <MX51_USBH1_PINGRP1>;
+ };
+
+ pinctrl_usbh2: usbh2grp {
+ fsl,pins = <MX51_USBH2_PINGRP1>;
+ };
};
};
&uart1 {
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_uart1_1>;
+ pinctrl-0 = <&pinctrl_uart1>;
+ fsl,uart-has-rtscts;
status = "okay";
};
&i2c2 {
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_i2c2_1>;
+ pinctrl-0 = <&pinctrl_i2c2>;
clock-frequency = <100000>;
status = "okay";
@@ -161,34 +227,36 @@
battery: battery@0b {
compatible = "sbs,sbs-battery";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_battery>;
reg = <0x0b>;
- sbs,battery-detect-gpios = <&gpio3 6 1>;
+ sbs,battery-detect-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
};
lvds: mtl017@3a {
compatible = "mtl017";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_ipu_disp1>;
reg = <0x3a>;
crtcs = <&ipu 1>;
edid-i2c = <&i2c2>;
interface-pix-fmt = "rgb565";
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_ipu_disp1_1>;
};
};
&esdhc1 {
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_esdhc1_1>;
- cd-gpios = <&gpio2 27 0>;
- wp-gpios = <&gpio1 1 0>;
+ pinctrl-0 = <&pinctrl_esdhc1>;
+ cd-gpios = <&gpio2 27 GPIO_ACTIVE_HIGH>;
+ wp-gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
status = "okay";
};
&esdhc2 {
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_esdhc2_1>;
- cd-gpios = <&gpio1 8 0>;
- wp-gpios = <&gpio1 7 0>;
+ pinctrl-0 = <&pinctrl_esdhc2>;
+ cd-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
+ wp-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
status = "okay";
#address-cells = <1>;
#size-cells = <1>;
@@ -200,23 +268,22 @@
};
&ecspi1 {
- fsl,spi-num-chipselects = <1>;
- cs-gpios = <&gpio4 23 0>;
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_ecspi1_1>;
+ pinctrl-0 = <&pinctrl_ecspi1>;
fsl,spi-num-chipselects = <2>;
- cs-gpios = <&gpio4 24 0>, <&gpio4 25 0>;
+ cs-gpios = <&gpio4 24 GPIO_ACTIVE_HIGH>,
+ <&gpio4 25 GPIO_ACTIVE_LOW>;
status = "okay";
pmic: mc13892@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
compatible = "fsl,mc13892";
spi-max-frequency = <20000000>;
reg = <0>;
spi-cs-high;
- #address-cells = <1>;
- #size-cells = <0>;
interrupt-parent = <&gpio1>;
- interrupts = <6 0x4>;
+ interrupts = <6 IRQ_TYPE_LEVEL_HIGH>;
regulators {
sw1_reg: sw1 {
@@ -321,34 +388,31 @@
&audmux {
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_audmux_1>;
+ pinctrl-0 = <&pinctrl_audmux>;
status = "okay";
};
&pata {
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_pata_1>;
+ pinctrl-0 = <&pinctrl_pata>;
status = "okay";
};
&usbotg {
- barebox,phy_type = "utmi_wide";
phy_type = "ulpi";
status = "okay";
};
&usbh1 {
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_usbh1_1>;
- barebox,phy_type = "ulpi";
+ pinctrl-0 = <&pinctrl_usbh1>;
phy_type = "ulpi";
status = "okay";
};
&usbh2 {
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_usbh2_1>;
- barebox,phy_type = "ulpi";
+ pinctrl-0 = <&pinctrl_usbh2>;
phy_type = "ulpi";
status = "okay";
};
diff --git a/arch/arm/dts/imx51-pingrp.h b/arch/arm/dts/imx51-pingrp.h
new file mode 100644
index 0000000..f63267b
--- /dev/null
+++ b/arch/arm/dts/imx51-pingrp.h
@@ -0,0 +1,249 @@
+/*
+ * Copyright (C) 2013 Freescale Semiconductor, Inc.
+ *
+ * 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.
+ *
+ */
+
+#ifndef __DTS_IMX51_PINGRP_H
+#define __DTS_IMX51_PINGRP_H
+
+#include "imx51-pinfunc.h"
+
+#define MX51_AUDMUX_PINGRP1 \
+ MX51_PAD_AUD3_BB_TXD__AUD3_TXD 0x80000000 \
+ MX51_PAD_AUD3_BB_RXD__AUD3_RXD 0x80000000 \
+ MX51_PAD_AUD3_BB_CK__AUD3_TXC 0x80000000 \
+ MX51_PAD_AUD3_BB_FS__AUD3_TXFS 0x80000000
+
+#define MX51_FEC_PINGRP1 \
+ MX51_PAD_EIM_EB2__FEC_MDIO 0x80000000 \
+ MX51_PAD_EIM_EB3__FEC_RDATA1 0x80000000 \
+ MX51_PAD_EIM_CS2__FEC_RDATA2 0x80000000 \
+ MX51_PAD_EIM_CS3__FEC_RDATA3 0x80000000 \
+ MX51_PAD_EIM_CS4__FEC_RX_ER 0x80000000 \
+ MX51_PAD_EIM_CS5__FEC_CRS 0x80000000 \
+ MX51_PAD_NANDF_RB2__FEC_COL 0x80000000 \
+ MX51_PAD_NANDF_RB3__FEC_RX_CLK 0x80000000 \
+ MX51_PAD_NANDF_D9__FEC_RDATA0 0x80000000 \
+ MX51_PAD_NANDF_D8__FEC_TDATA0 0x80000000 \
+ MX51_PAD_NANDF_CS2__FEC_TX_ER 0x80000000 \
+ MX51_PAD_NANDF_CS3__FEC_MDC 0x80000000 \
+ MX51_PAD_NANDF_CS4__FEC_TDATA1 0x80000000 \
+ MX51_PAD_NANDF_CS5__FEC_TDATA2 0x80000000 \
+ MX51_PAD_NANDF_CS6__FEC_TDATA3 0x80000000 \
+ MX51_PAD_NANDF_CS7__FEC_TX_EN 0x80000000 \
+ MX51_PAD_NANDF_RDY_INT__FEC_TX_CLK 0x80000000
+
+#define MX51_FEC_PINGRP2 \
+ MX51_PAD_DI_GP3__FEC_TX_ER 0x80000000 \
+ MX51_PAD_DI2_PIN4__FEC_CRS 0x80000000 \
+ MX51_PAD_DI2_PIN2__FEC_MDC 0x80000000 \
+ MX51_PAD_DI2_PIN3__FEC_MDIO 0x80000000 \
+ MX51_PAD_DI2_DISP_CLK__FEC_RDATA1 0x80000000 \
+ MX51_PAD_DI_GP4__FEC_RDATA2 0x80000000 \
+ MX51_PAD_DISP2_DAT0__FEC_RDATA3 0x80000000 \
+ MX51_PAD_DISP2_DAT1__FEC_RX_ER 0x80000000 \
+ MX51_PAD_DISP2_DAT6__FEC_TDATA1 0x80000000 \
+ MX51_PAD_DISP2_DAT7__FEC_TDATA2 0x80000000 \
+ MX51_PAD_DISP2_DAT8__FEC_TDATA3 0x80000000 \
+ MX51_PAD_DISP2_DAT9__FEC_TX_EN 0x80000000 \
+ MX51_PAD_DISP2_DAT10__FEC_COL 0x80000000 \
+ MX51_PAD_DISP2_DAT11__FEC_RX_CLK 0x80000000 \
+ MX51_PAD_DISP2_DAT12__FEC_RX_DV 0x80000000 \
+ MX51_PAD_DISP2_DAT13__FEC_TX_CLK 0x80000000 \
+ MX51_PAD_DISP2_DAT14__FEC_RDATA0 0x80000000 \
+ MX51_PAD_DISP2_DAT15__FEC_TDATA0 0x80000000
+
+#define MX51_ECSPI1_PINGRP1 \
+ MX51_PAD_CSPI1_MISO__ECSPI1_MISO 0x185 \
+ MX51_PAD_CSPI1_MOSI__ECSPI1_MOSI 0x185 \
+ MX51_PAD_CSPI1_SCLK__ECSPI1_SCLK 0x185
+
+#define MX51_ECSPI2_PINGRP1 \
+ MX51_PAD_NANDF_RB3__ECSPI2_MISO 0x185 \
+ MX51_PAD_NANDF_D15__ECSPI2_MOSI 0x185 \
+ MX51_PAD_NANDF_RB2__ECSPI2_SCLK 0x185
+
+#define MX51_ESDHC1_PINGRP1 \
+ MX51_PAD_SD1_CMD__SD1_CMD 0x400020d5 \
+ MX51_PAD_SD1_CLK__SD1_CLK 0x20d5 \
+ MX51_PAD_SD1_DATA0__SD1_DATA0 0x20d5 \
+ MX51_PAD_SD1_DATA1__SD1_DATA1 0x20d5 \
+ MX51_PAD_SD1_DATA2__SD1_DATA2 0x20d5 \
+ MX51_PAD_SD1_DATA3__SD1_DATA3 0x20d5
+
+#define MX51_ESDHC2_PINGRP1 \
+ MX51_PAD_SD2_CMD__SD2_CMD 0x400020d5 \
+ MX51_PAD_SD2_CLK__SD2_CLK 0x20d5 \
+ MX51_PAD_SD2_DATA0__SD2_DATA0 0x20d5 \
+ MX51_PAD_SD2_DATA1__SD2_DATA1 0x20d5 \
+ MX51_PAD_SD2_DATA2__SD2_DATA2 0x20d5 \
+ MX51_PAD_SD2_DATA3__SD2_DATA3 0x20d5
+
+#define MX51_I2C1_PINGRP1 \
+ MX51_PAD_SD2_CMD__I2C1_SCL 0x400001ed \
+ MX51_PAD_SD2_CLK__I2C1_SDA 0x400001ed
+
+#define MX51_I2C2_PINGRP1 \
+ MX51_PAD_KEY_COL4__I2C2_SCL 0x400001ed \
+ MX51_PAD_KEY_COL5__I2C2_SDA 0x400001ed
+
+#define MX51_I2C2_PINGRP2 \
+ MX51_PAD_EIM_D27__I2C2_SCL 0x400001ed \
+ MX51_PAD_EIM_D24__I2C2_SDA 0x400001ed
+
+#define MX51_I2C2_PINGRP3 \
+ MX51_PAD_GPIO1_2__I2C2_SCL 0x400001ed \
+ MX51_PAD_GPIO1_3__I2C2_SDA 0x400001ed
+
+#define MX51_IPU_DISP1_PINGRP1 \
+ MX51_PAD_DISP1_DAT0__DISP1_DAT0 0x5 \
+ MX51_PAD_DISP1_DAT1__DISP1_DAT1 0x5 \
+ MX51_PAD_DISP1_DAT2__DISP1_DAT2 0x5 \
+ MX51_PAD_DISP1_DAT3__DISP1_DAT3 0x5 \
+ MX51_PAD_DISP1_DAT4__DISP1_DAT4 0x5 \
+ MX51_PAD_DISP1_DAT5__DISP1_DAT5 0x5 \
+ MX51_PAD_DISP1_DAT6__DISP1_DAT6 0x5 \
+ MX51_PAD_DISP1_DAT7__DISP1_DAT7 0x5 \
+ MX51_PAD_DISP1_DAT8__DISP1_DAT8 0x5 \
+ MX51_PAD_DISP1_DAT9__DISP1_DAT9 0x5 \
+ MX51_PAD_DISP1_DAT10__DISP1_DAT10 0x5 \
+ MX51_PAD_DISP1_DAT11__DISP1_DAT11 0x5 \
+ MX51_PAD_DISP1_DAT12__DISP1_DAT12 0x5 \
+ MX51_PAD_DISP1_DAT13__DISP1_DAT13 0x5 \
+ MX51_PAD_DISP1_DAT14__DISP1_DAT14 0x5 \
+ MX51_PAD_DISP1_DAT15__DISP1_DAT15 0x5 \
+ MX51_PAD_DISP1_DAT16__DISP1_DAT16 0x5 \
+ MX51_PAD_DISP1_DAT17__DISP1_DAT17 0x5 \
+ MX51_PAD_DISP1_DAT18__DISP1_DAT18 0x5 \
+ MX51_PAD_DISP1_DAT19__DISP1_DAT19 0x5 \
+ MX51_PAD_DISP1_DAT20__DISP1_DAT20 0x5 \
+ MX51_PAD_DISP1_DAT21__DISP1_DAT21 0x5 \
+ MX51_PAD_DISP1_DAT22__DISP1_DAT22 0x5 \
+ MX51_PAD_DISP1_DAT23__DISP1_DAT23 0x5 \
+ MX51_PAD_DI1_PIN2__DI1_PIN2 0x5 \
+ MX51_PAD_DI1_PIN3__DI1_PIN3 0x5
+
+#define MX51_IPU_DISP2_PINGRP1 \
+ MX51_PAD_DISP2_DAT0__DISP2_DAT0 0x5 \
+ MX51_PAD_DISP2_DAT1__DISP2_DAT1 0x5 \
+ MX51_PAD_DISP2_DAT2__DISP2_DAT2 0x5 \
+ MX51_PAD_DISP2_DAT3__DISP2_DAT3 0x5 \
+ MX51_PAD_DISP2_DAT4__DISP2_DAT4 0x5 \
+ MX51_PAD_DISP2_DAT5__DISP2_DAT5 0x5 \
+ MX51_PAD_DISP2_DAT6__DISP2_DAT6 0x5 \
+ MX51_PAD_DISP2_DAT7__DISP2_DAT7 0x5 \
+ MX51_PAD_DISP2_DAT8__DISP2_DAT8 0x5 \
+ MX51_PAD_DISP2_DAT9__DISP2_DAT9 0x5 \
+ MX51_PAD_DISP2_DAT10__DISP2_DAT10 0x5 \
+ MX51_PAD_DISP2_DAT11__DISP2_DAT11 0x5 \
+ MX51_PAD_DISP2_DAT12__DISP2_DAT12 0x5 \
+ MX51_PAD_DISP2_DAT13__DISP2_DAT13 0x5 \
+ MX51_PAD_DISP2_DAT14__DISP2_DAT14 0x5 \
+ MX51_PAD_DISP2_DAT15__DISP2_DAT15 0x5 \
+ MX51_PAD_DI2_PIN2__DI2_PIN2 0x5 \
+ MX51_PAD_DI2_PIN3__DI2_PIN3 0x5 \
+ MX51_PAD_DI2_DISP_CLK__DI2_DISP_CLK 0x5 \
+ MX51_PAD_DI_GP4__DI2_PIN15 0x5
+
+#define MX51_KPP_PINGRP1 \
+ MX51_PAD_KEY_ROW0__KEY_ROW0 0xe0 \
+ MX51_PAD_KEY_ROW1__KEY_ROW1 0xe0 \
+ MX51_PAD_KEY_ROW2__KEY_ROW2 0xe0 \
+ MX51_PAD_KEY_ROW3__KEY_ROW3 0xe0 \
+ MX51_PAD_KEY_COL0__KEY_COL0 0xe8 \
+ MX51_PAD_KEY_COL1__KEY_COL1 0xe8 \
+ MX51_PAD_KEY_COL2__KEY_COL2 0xe8 \
+ MX51_PAD_KEY_COL3__KEY_COL3 0xe8
+
+#define MX51_PATA_PINGRP1 \
+ MX51_PAD_NANDF_WE_B__PATA_DIOW 0x2004 \
+ MX51_PAD_NANDF_RE_B__PATA_DIOR 0x2004 \
+ MX51_PAD_NANDF_ALE__PATA_BUFFER_EN 0x2004 \
+ MX51_PAD_NANDF_CLE__PATA_RESET_B 0x2004 \
+ MX51_PAD_NANDF_WP_B__PATA_DMACK 0x2004 \
+ MX51_PAD_NANDF_RB0__PATA_DMARQ 0x2004 \
+ MX51_PAD_NANDF_RB1__PATA_IORDY 0x2004 \
+ MX51_PAD_GPIO_NAND__PATA_INTRQ 0x2004 \
+ MX51_PAD_NANDF_CS2__PATA_CS_0 0x2004 \
+ MX51_PAD_NANDF_CS3__PATA_CS_1 0x2004 \
+ MX51_PAD_NANDF_CS4__PATA_DA_0 0x2004 \
+ MX51_PAD_NANDF_CS5__PATA_DA_1 0x2004 \
+ MX51_PAD_NANDF_CS6__PATA_DA_2 0x2004 \
+ MX51_PAD_NANDF_D15__PATA_DATA15 0x2004 \
+ MX51_PAD_NANDF_D14__PATA_DATA14 0x2004 \
+ MX51_PAD_NANDF_D13__PATA_DATA13 0x2004 \
+ MX51_PAD_NANDF_D12__PATA_DATA12 0x2004 \
+ MX51_PAD_NANDF_D11__PATA_DATA11 0x2004 \
+ MX51_PAD_NANDF_D10__PATA_DATA10 0x2004 \
+ MX51_PAD_NANDF_D9__PATA_DATA9 0x2004 \
+ MX51_PAD_NANDF_D8__PATA_DATA8 0x2004 \
+ MX51_PAD_NANDF_D7__PATA_DATA7 0x2004 \
+ MX51_PAD_NANDF_D6__PATA_DATA6 0x2004 \
+ MX51_PAD_NANDF_D5__PATA_DATA5 0x2004 \
+ MX51_PAD_NANDF_D4__PATA_DATA4 0x2004 \
+ MX51_PAD_NANDF_D3__PATA_DATA3 0x2004 \
+ MX51_PAD_NANDF_D2__PATA_DATA2 0x2004 \
+ MX51_PAD_NANDF_D1__PATA_DATA1 0x2004 \
+ MX51_PAD_NANDF_D0__PATA_DATA0 0x2004
+
+#define MX51_UART1_PINGRP1 \
+ MX51_PAD_UART1_RXD__UART1_RXD 0x1c5 \
+ MX51_PAD_UART1_TXD__UART1_TXD 0x1c5
+
+#define MX51_UART1_RTSCTS_PINGRP1 \
+ MX51_PAD_UART1_RTS__UART1_RTS 0x1c5 \
+ MX51_PAD_UART1_CTS__UART1_CTS 0x1c5
+
+#define MX51_UART2_PINGRP1 \
+ MX51_PAD_UART2_RXD__UART2_RXD 0x1c5 \
+ MX51_PAD_UART2_TXD__UART2_TXD 0x1c5
+
+#define MX51_UART3_PINGRP1 \
+ MX51_PAD_EIM_D25__UART3_RXD 0x1c5 \
+ MX51_PAD_EIM_D26__UART3_TXD 0x1c5
+
+#define MX51_UART3_RTSCTS_PINGRP1 \
+ MX51_PAD_EIM_D27__UART3_RTS 0x1c5 \
+ MX51_PAD_EIM_D24__UART3_CTS 0x1c5
+
+#define MX51_UART3_PINGRP2 \
+ MX51_PAD_UART3_RXD__UART3_RXD 0x1c5 \
+ MX51_PAD_UART3_TXD__UART3_TXD 0x1c5
+
+#define MX51_UART3_RTSCTS_PINGRP2 \
+ MX51_PAD_KEY_COL4__UART3_RTS 0x1c5 \
+ MX51_PAD_KEY_COL5__UART3_CTS 0x1c5
+
+#define MX51_USBH1_PINGRP1 \
+ MX51_PAD_USBH1_DATA0__USBH1_DATA0 0x1e5 \
+ MX51_PAD_USBH1_DATA1__USBH1_DATA1 0x1e5 \
+ MX51_PAD_USBH1_DATA2__USBH1_DATA2 0x1e5 \
+ MX51_PAD_USBH1_DATA3__USBH1_DATA3 0x1e5 \
+ MX51_PAD_USBH1_DATA4__USBH1_DATA4 0x1e5 \
+ MX51_PAD_USBH1_DATA5__USBH1_DATA5 0x1e5 \
+ MX51_PAD_USBH1_DATA6__USBH1_DATA6 0x1e5 \
+ MX51_PAD_USBH1_DATA7__USBH1_DATA7 0x1e5 \
+ MX51_PAD_USBH1_CLK__USBH1_CLK 0x1e5 \
+ MX51_PAD_USBH1_DIR__USBH1_DIR 0x1e5 \
+ MX51_PAD_USBH1_NXT__USBH1_NXT 0x1e5 \
+ MX51_PAD_USBH1_STP__USBH1_STP 0x1e5
+
+#define MX51_USBH2_PINGRP1 \
+ MX51_PAD_EIM_D16__USBH2_DATA0 0x1e5 \
+ MX51_PAD_EIM_D17__USBH2_DATA1 0x1e5 \
+ MX51_PAD_EIM_D18__USBH2_DATA2 0x1e5 \
+ MX51_PAD_EIM_D19__USBH2_DATA3 0x1e5 \
+ MX51_PAD_EIM_D20__USBH2_DATA4 0x1e5 \
+ MX51_PAD_EIM_D21__USBH2_DATA5 0x1e5 \
+ MX51_PAD_EIM_D22__USBH2_DATA6 0x1e5 \
+ MX51_PAD_EIM_D23__USBH2_DATA7 0x1e5 \
+ MX51_PAD_EIM_A24__USBH2_CLK 0x1e5 \
+ MX51_PAD_EIM_A25__USBH2_DIR 0x1e5 \
+ MX51_PAD_EIM_A27__USBH2_NXT 0x1e5 \
+ MX51_PAD_EIM_A26__USBH2_STP 0x1e5
+
+#endif /* __DTS_IMX51_PINGRP_H */
diff --git a/arch/arm/dts/imx51.dtsi b/arch/arm/dts/imx51.dtsi
index c105daf..61a2552 100644
--- a/arch/arm/dts/imx51.dtsi
+++ b/arch/arm/dts/imx51.dtsi
@@ -11,7 +11,10 @@
*/
#include "skeleton.dtsi"
-#include "imx51-pinfunc.h"
+#include "imx51-pingrp.h"
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/clock/imx5-clock.h>
+#include <dt-bindings/gpio/gpio.h>
/ {
aliases {
@@ -21,11 +24,6 @@
gpio3 = &gpio4;
i2c0 = &i2c1;
i2c1 = &i2c2;
- mmc0 = &esdhc1;
- mmc1 = &esdhc2;
- mmc2 = &esdhc3;
- mmc3 = &esdhc4;
- pata0 = &pata;
serial0 = &uart1;
serial1 = &uart2;
serial2 = &uart3;
@@ -69,18 +67,32 @@
cpus {
#address-cells = <1>;
#size-cells = <0>;
- cpu@0 {
+ cpu: cpu@0 {
device_type = "cpu";
compatible = "arm,cortex-a8";
reg = <0>;
- clock-latency = <61036>; /* two CLK32 periods */
- clocks = <&clks 24>;
+ clock-latency = <62500>;
+ clocks = <&clks IMX5_CLK_CPU_PODF>;
clock-names = "cpu";
operating-points = <
- /* kHz uV (No regulator support) */
- 160000 0
- 800000 0
+ 166000 1000000
+ 600000 1050000
+ 800000 1100000
>;
+ voltage-tolerance = <5>;
+ };
+ };
+
+ usbphy {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "simple-bus";
+
+ usbphy0: usbphy@0 {
+ compatible = "usb-nop-xceiv";
+ reg = <0>;
+ clocks = <&clks IMX5_CLK_USB_PHY_GATE>;
+ clock-names = "main_clk";
};
};
@@ -101,7 +113,9 @@
compatible = "fsl,imx51-ipu";
reg = <0x40000000 0x20000000>;
interrupts = <11 10>;
- clocks = <&clks 59>, <&clks 110>, <&clks 61>;
+ clocks = <&clks IMX5_CLK_IPU_GATE>,
+ <&clks IMX5_CLK_IPU_DI0_GATE>,
+ <&clks IMX5_CLK_IPU_DI1_GATE>;
clock-names = "bus", "di0", "di1";
resets = <&src 2>;
};
@@ -124,7 +138,9 @@
compatible = "fsl,imx51-esdhc";
reg = <0x70004000 0x4000>;
interrupts = <1>;
- clocks = <&clks 44>, <&clks 0>, <&clks 71>;
+ clocks = <&clks IMX5_CLK_ESDHC1_IPG_GATE>,
+ <&clks IMX5_CLK_DUMMY>,
+ <&clks IMX5_CLK_ESDHC1_PER_GATE>;
clock-names = "ipg", "ahb", "per";
status = "disabled";
};
@@ -133,7 +149,9 @@
compatible = "fsl,imx51-esdhc";
reg = <0x70008000 0x4000>;
interrupts = <2>;
- clocks = <&clks 45>, <&clks 0>, <&clks 72>;
+ clocks = <&clks IMX5_CLK_ESDHC2_IPG_GATE>,
+ <&clks IMX5_CLK_DUMMY>,
+ <&clks IMX5_CLK_ESDHC2_PER_GATE>;
clock-names = "ipg", "ahb", "per";
bus-width = <4>;
status = "disabled";
@@ -143,7 +161,8 @@
compatible = "fsl,imx51-uart", "fsl,imx21-uart";
reg = <0x7000c000 0x4000>;
interrupts = <33>;
- clocks = <&clks 32>, <&clks 33>;
+ clocks = <&clks IMX5_CLK_UART3_IPG_GATE>,
+ <&clks IMX5_CLK_UART3_PER_GATE>;
clock-names = "ipg", "per";
status = "disabled";
};
@@ -154,7 +173,8 @@
compatible = "fsl,imx51-ecspi";
reg = <0x70010000 0x4000>;
interrupts = <36>;
- clocks = <&clks 51>, <&clks 52>;
+ clocks = <&clks IMX5_CLK_ECSPI1_IPG_GATE>,
+ <&clks IMX5_CLK_ECSPI1_PER_GATE>;
clock-names = "ipg", "per";
status = "disabled";
};
@@ -163,9 +183,9 @@
compatible = "fsl,imx51-ssi", "fsl,imx21-ssi";
reg = <0x70014000 0x4000>;
interrupts = <30>;
- clocks = <&clks 49>;
- dmas = <&sdma 24 1 0>,
- <&sdma 25 1 0>;
+ clocks = <&clks IMX5_CLK_SSI2_IPG_GATE>;
+ dmas = <&sdma 24 22 0>,
+ <&sdma 25 22 0>;
dma-names = "rx", "tx";
fsl,fifo-depth = <15>;
fsl,ssi-dma-events = <25 24 23 22>; /* TX0 RX0 TX1 RX1 */
@@ -176,7 +196,9 @@
compatible = "fsl,imx51-esdhc";
reg = <0x70020000 0x4000>;
interrupts = <3>;
- clocks = <&clks 46>, <&clks 0>, <&clks 73>;
+ clocks = <&clks IMX5_CLK_ESDHC3_IPG_GATE>,
+ <&clks IMX5_CLK_DUMMY>,
+ <&clks IMX5_CLK_ESDHC3_PER_GATE>;
clock-names = "ipg", "ahb", "per";
bus-width = <4>;
status = "disabled";
@@ -186,25 +208,20 @@
compatible = "fsl,imx51-esdhc";
reg = <0x70024000 0x4000>;
interrupts = <4>;
- clocks = <&clks 47>, <&clks 0>, <&clks 74>;
+ clocks = <&clks IMX5_CLK_ESDHC4_IPG_GATE>,
+ <&clks IMX5_CLK_DUMMY>,
+ <&clks IMX5_CLK_ESDHC4_PER_GATE>;
clock-names = "ipg", "ahb", "per";
bus-width = <4>;
status = "disabled";
};
};
- usbphy0: usbphy@0 {
- compatible = "usb-nop-xceiv";
- clocks = <&clks 124>;
- clock-names = "main_clk";
- status = "okay";
- };
-
usbotg: usb@73f80000 {
compatible = "fsl,imx51-usb", "fsl,imx27-usb";
reg = <0x73f80000 0x0200>;
interrupts = <18>;
- clocks = <&clks 108>;
+ clocks = <&clks IMX5_CLK_USBOH3_GATE>;
fsl,usbmisc = <&usbmisc 0>;
fsl,usbphy = <&usbphy0>;
status = "disabled";
@@ -214,7 +231,7 @@
compatible = "fsl,imx51-usb", "fsl,imx27-usb";
reg = <0x73f80200 0x0200>;
interrupts = <14>;
- clocks = <&clks 108>;
+ clocks = <&clks IMX5_CLK_USBOH3_GATE>;
fsl,usbmisc = <&usbmisc 1>;
status = "disabled";
};
@@ -223,7 +240,7 @@
compatible = "fsl,imx51-usb", "fsl,imx27-usb";
reg = <0x73f80400 0x0200>;
interrupts = <16>;
- clocks = <&clks 108>;
+ clocks = <&clks IMX5_CLK_USBOH3_GATE>;
fsl,usbmisc = <&usbmisc 2>;
status = "disabled";
};
@@ -232,7 +249,7 @@
compatible = "fsl,imx51-usb", "fsl,imx27-usb";
reg = <0x73f80600 0x0200>;
interrupts = <17>;
- clocks = <&clks 108>;
+ clocks = <&clks IMX5_CLK_USBOH3_GATE>;
fsl,usbmisc = <&usbmisc 3>;
status = "disabled";
};
@@ -241,7 +258,7 @@
#index-cells = <1>;
compatible = "fsl,imx51-usbmisc";
reg = <0x73f80800 0x200>;
- clocks = <&clks 108>;
+ clocks = <&clks IMX5_CLK_USBOH3_GATE>;
};
gpio1: gpio@73f84000 {
@@ -288,7 +305,7 @@
compatible = "fsl,imx51-kpp", "fsl,imx21-kpp";
reg = <0x73f94000 0x4000>;
interrupts = <60>;
- clocks = <&clks 0>;
+ clocks = <&clks IMX5_CLK_DUMMY>;
status = "disabled";
};
@@ -296,14 +313,14 @@
compatible = "fsl,imx51-wdt", "fsl,imx21-wdt";
reg = <0x73f98000 0x4000>;
interrupts = <58>;
- clocks = <&clks 0>;
+ clocks = <&clks IMX5_CLK_DUMMY>;
};
wdog2: wdog@73f9c000 {
compatible = "fsl,imx51-wdt", "fsl,imx21-wdt";
reg = <0x73f9c000 0x4000>;
interrupts = <59>;
- clocks = <&clks 0>;
+ clocks = <&clks IMX5_CLK_DUMMY>;
status = "disabled";
};
@@ -311,7 +328,8 @@
compatible = "fsl,imx51-gpt", "fsl,imx31-gpt";
reg = <0x73fa0000 0x4000>;
interrupts = <39>;
- clocks = <&clks 36>, <&clks 41>;
+ clocks = <&clks IMX5_CLK_GPT_IPG_GATE>,
+ <&clks IMX5_CLK_GPT_HF_GATE>;
clock-names = "ipg", "per";
};
@@ -324,7 +342,8 @@
#pwm-cells = <2>;
compatible = "fsl,imx51-pwm", "fsl,imx27-pwm";
reg = <0x73fb4000 0x4000>;
- clocks = <&clks 37>, <&clks 38>;
+ clocks = <&clks IMX5_CLK_PWM1_IPG_GATE>,
+ <&clks IMX5_CLK_PWM1_HF_GATE>;
clock-names = "ipg", "per";
interrupts = <61>;
};
@@ -333,7 +352,8 @@
#pwm-cells = <2>;
compatible = "fsl,imx51-pwm", "fsl,imx27-pwm";
reg = <0x73fb8000 0x4000>;
- clocks = <&clks 39>, <&clks 40>;
+ clocks = <&clks IMX5_CLK_PWM2_IPG_GATE>,
+ <&clks IMX5_CLK_PWM2_HF_GATE>;
clock-names = "ipg", "per";
interrupts = <94>;
};
@@ -342,7 +362,8 @@
compatible = "fsl,imx51-uart", "fsl,imx21-uart";
reg = <0x73fbc000 0x4000>;
interrupts = <31>;
- clocks = <&clks 28>, <&clks 29>;
+ clocks = <&clks IMX5_CLK_UART1_IPG_GATE>,
+ <&clks IMX5_CLK_UART1_PER_GATE>;
clock-names = "ipg", "per";
status = "disabled";
};
@@ -351,7 +372,8 @@
compatible = "fsl,imx51-uart", "fsl,imx21-uart";
reg = <0x73fc0000 0x4000>;
interrupts = <32>;
- clocks = <&clks 30>, <&clks 31>;
+ clocks = <&clks IMX5_CLK_UART2_IPG_GATE>,
+ <&clks IMX5_CLK_UART2_PER_GATE>;
clock-names = "ipg", "per";
status = "disabled";
};
@@ -381,14 +403,14 @@
compatible = "fsl,imx51-iim", "fsl,imx27-iim";
reg = <0x83f98000 0x4000>;
interrupts = <69>;
- clocks = <&clks 107>;
+ clocks = <&clks IMX5_CLK_IIM_GATE>;
};
owire: owire@83fa4000 {
compatible = "fsl,imx51-owire", "fsl,imx21-owire";
reg = <0x83fa4000 0x4000>;
interrupts = <88>;
- clocks = <&clks 159>;
+ clocks = <&clks IMX5_CLK_OWIRE_GATE>;
status = "disabled";
};
@@ -398,7 +420,8 @@
compatible = "fsl,imx51-ecspi";
reg = <0x83fac000 0x4000>;
interrupts = <37>;
- clocks = <&clks 53>, <&clks 54>;
+ clocks = <&clks IMX5_CLK_ECSPI2_IPG_GATE>,
+ <&clks IMX5_CLK_ECSPI2_PER_GATE>;
clock-names = "ipg", "per";
status = "disabled";
};
@@ -407,7 +430,8 @@
compatible = "fsl,imx51-sdma", "fsl,imx35-sdma";
reg = <0x83fb0000 0x4000>;
interrupts = <6>;
- clocks = <&clks 56>, <&clks 56>;
+ clocks = <&clks IMX5_CLK_SDMA_GATE>,
+ <&clks IMX5_CLK_SDMA_GATE>;
clock-names = "ipg", "ahb";
#dma-cells = <3>;
fsl,sdma-ram-script-name = "imx/sdma/sdma-imx51.bin";
@@ -419,7 +443,8 @@
compatible = "fsl,imx51-cspi", "fsl,imx35-cspi";
reg = <0x83fc0000 0x4000>;
interrupts = <38>;
- clocks = <&clks 55>, <&clks 55>;
+ clocks = <&clks IMX5_CLK_CSPI_IPG_GATE>,
+ <&clks IMX5_CLK_CSPI_IPG_GATE>;
clock-names = "ipg", "per";
status = "disabled";
};
@@ -430,7 +455,7 @@
compatible = "fsl,imx51-i2c", "fsl,imx21-i2c";
reg = <0x83fc4000 0x4000>;
interrupts = <63>;
- clocks = <&clks 35>;
+ clocks = <&clks IMX5_CLK_I2C2_GATE>;
status = "disabled";
};
@@ -440,7 +465,7 @@
compatible = "fsl,imx51-i2c", "fsl,imx21-i2c";
reg = <0x83fc8000 0x4000>;
interrupts = <62>;
- clocks = <&clks 34>;
+ clocks = <&clks IMX5_CLK_I2C1_GATE>;
status = "disabled";
};
@@ -448,7 +473,7 @@
compatible = "fsl,imx51-ssi", "fsl,imx21-ssi";
reg = <0x83fcc000 0x4000>;
interrupts = <29>;
- clocks = <&clks 48>;
+ clocks = <&clks IMX5_CLK_SSI1_IPG_GATE>;
dmas = <&sdma 28 0 0>,
<&sdma 29 0 0>;
dma-names = "rx", "tx";
@@ -460,6 +485,8 @@
audmux: audmux@83fd0000 {
compatible = "fsl,imx51-audmux", "fsl,imx31-audmux";
reg = <0x83fd0000 0x4000>;
+ clocks = <&clks IMX5_CLK_DUMMY>;
+ clock-names = "audmux";
status = "disabled";
};
@@ -468,7 +495,7 @@
#size-cells = <1>;
compatible = "fsl,imx51-weim";
reg = <0x83fda000 0x1000>;
- clocks = <&clks 57>;
+ clocks = <&clks IMX5_CLK_EMI_SLOW_GATE>;
ranges = <
0 0 0xb0000000 0x08000000
1 0 0xb8000000 0x08000000
@@ -484,7 +511,7 @@
compatible = "fsl,imx51-nand";
reg = <0x83fdb000 0x1000 0xcfff0000 0x10000>;
interrupts = <8>;
- clocks = <&clks 60>;
+ clocks = <&clks IMX5_CLK_NFC_GATE>;
status = "disabled";
};
@@ -492,7 +519,7 @@
compatible = "fsl,imx51-pata", "fsl,imx27-pata";
reg = <0x83fe0000 0x4000>;
interrupts = <70>;
- clocks = <&clks 172>;
+ clocks = <&clks IMX5_CLK_PATA_GATE>;
status = "disabled";
};
@@ -500,7 +527,7 @@
compatible = "fsl,imx51-ssi", "fsl,imx21-ssi";
reg = <0x83fe8000 0x4000>;
interrupts = <96>;
- clocks = <&clks 50>;
+ clocks = <&clks IMX5_CLK_SSI3_IPG_GATE>;
dmas = <&sdma 46 0 0>,
<&sdma 47 0 0>;
dma-names = "rx", "tx";
@@ -513,336 +540,12 @@
compatible = "fsl,imx51-fec", "fsl,imx27-fec";
reg = <0x83fec000 0x4000>;
interrupts = <87>;
- clocks = <&clks 42>, <&clks 42>, <&clks 42>;
+ clocks = <&clks IMX5_CLK_FEC_GATE>,
+ <&clks IMX5_CLK_FEC_GATE>,
+ <&clks IMX5_CLK_FEC_GATE>;
clock-names = "ipg", "ahb", "ptp";
status = "disabled";
};
};
};
};
-
-&iomuxc {
- audmux {
- pinctrl_audmux_1: audmuxgrp-1 {
- fsl,pins = <
- MX51_PAD_AUD3_BB_TXD__AUD3_TXD 0x80000000
- MX51_PAD_AUD3_BB_RXD__AUD3_RXD 0x80000000
- MX51_PAD_AUD3_BB_CK__AUD3_TXC 0x80000000
- MX51_PAD_AUD3_BB_FS__AUD3_TXFS 0x80000000
- >;
- };
- };
-
- fec {
- pinctrl_fec_1: fecgrp-1 {
- fsl,pins = <
- MX51_PAD_EIM_EB2__FEC_MDIO 0x80000000
- MX51_PAD_EIM_EB3__FEC_RDATA1 0x80000000
- MX51_PAD_EIM_CS2__FEC_RDATA2 0x80000000
- MX51_PAD_EIM_CS3__FEC_RDATA3 0x80000000
- MX51_PAD_EIM_CS4__FEC_RX_ER 0x80000000
- MX51_PAD_EIM_CS5__FEC_CRS 0x80000000
- MX51_PAD_NANDF_RB2__FEC_COL 0x80000000
- MX51_PAD_NANDF_RB3__FEC_RX_CLK 0x80000000
- MX51_PAD_NANDF_D9__FEC_RDATA0 0x80000000
- MX51_PAD_NANDF_D8__FEC_TDATA0 0x80000000
- MX51_PAD_NANDF_CS2__FEC_TX_ER 0x80000000
- MX51_PAD_NANDF_CS3__FEC_MDC 0x80000000
- MX51_PAD_NANDF_CS4__FEC_TDATA1 0x80000000
- MX51_PAD_NANDF_CS5__FEC_TDATA2 0x80000000
- MX51_PAD_NANDF_CS6__FEC_TDATA3 0x80000000
- MX51_PAD_NANDF_CS7__FEC_TX_EN 0x80000000
- MX51_PAD_NANDF_RDY_INT__FEC_TX_CLK 0x80000000
- >;
- };
-
- pinctrl_fec_2: fecgrp-2 {
- fsl,pins = <
- MX51_PAD_DI_GP3__FEC_TX_ER 0x80000000
- MX51_PAD_DI2_PIN4__FEC_CRS 0x80000000
- MX51_PAD_DI2_PIN2__FEC_MDC 0x80000000
- MX51_PAD_DI2_PIN3__FEC_MDIO 0x80000000
- MX51_PAD_DI2_DISP_CLK__FEC_RDATA1 0x80000000
- MX51_PAD_DI_GP4__FEC_RDATA2 0x80000000
- MX51_PAD_DISP2_DAT0__FEC_RDATA3 0x80000000
- MX51_PAD_DISP2_DAT1__FEC_RX_ER 0x80000000
- MX51_PAD_DISP2_DAT6__FEC_TDATA1 0x80000000
- MX51_PAD_DISP2_DAT7__FEC_TDATA2 0x80000000
- MX51_PAD_DISP2_DAT8__FEC_TDATA3 0x80000000
- MX51_PAD_DISP2_DAT9__FEC_TX_EN 0x80000000
- MX51_PAD_DISP2_DAT10__FEC_COL 0x80000000
- MX51_PAD_DISP2_DAT11__FEC_RX_CLK 0x80000000
- MX51_PAD_DISP2_DAT12__FEC_RX_DV 0x80000000
- MX51_PAD_DISP2_DAT13__FEC_TX_CLK 0x80000000
- MX51_PAD_DISP2_DAT14__FEC_RDATA0 0x80000000
- MX51_PAD_DISP2_DAT15__FEC_TDATA0 0x80000000
- >;
- };
- };
-
- ecspi1 {
- pinctrl_ecspi1_1: ecspi1grp-1 {
- fsl,pins = <
- MX51_PAD_CSPI1_MISO__ECSPI1_MISO 0x185
- MX51_PAD_CSPI1_MOSI__ECSPI1_MOSI 0x185
- MX51_PAD_CSPI1_SCLK__ECSPI1_SCLK 0x185
- >;
- };
- };
-
- ecspi2 {
- pinctrl_ecspi2_1: ecspi2grp-1 {
- fsl,pins = <
- MX51_PAD_NANDF_RB3__ECSPI2_MISO 0x185
- MX51_PAD_NANDF_D15__ECSPI2_MOSI 0x185
- MX51_PAD_NANDF_RB2__ECSPI2_SCLK 0x185
- >;
- };
- };
-
- esdhc1 {
- pinctrl_esdhc1_1: esdhc1grp-1 {
- fsl,pins = <
- MX51_PAD_SD1_CMD__SD1_CMD 0x400020d5
- MX51_PAD_SD1_CLK__SD1_CLK 0x20d5
- MX51_PAD_SD1_DATA0__SD1_DATA0 0x20d5
- MX51_PAD_SD1_DATA1__SD1_DATA1 0x20d5
- MX51_PAD_SD1_DATA2__SD1_DATA2 0x20d5
- MX51_PAD_SD1_DATA3__SD1_DATA3 0x20d5
- >;
- };
- };
-
- esdhc2 {
- pinctrl_esdhc2_1: esdhc2grp-1 {
- fsl,pins = <
- MX51_PAD_SD2_CMD__SD2_CMD 0x400020d5
- MX51_PAD_SD2_CLK__SD2_CLK 0x20d5
- MX51_PAD_SD2_DATA0__SD2_DATA0 0x20d5
- MX51_PAD_SD2_DATA1__SD2_DATA1 0x20d5
- MX51_PAD_SD2_DATA2__SD2_DATA2 0x20d5
- MX51_PAD_SD2_DATA3__SD2_DATA3 0x20d5
- >;
- };
- };
-
- i2c2 {
- pinctrl_i2c2_1: i2c2grp-1 {
- fsl,pins = <
- MX51_PAD_KEY_COL4__I2C2_SCL 0x400001ed
- MX51_PAD_KEY_COL5__I2C2_SDA 0x400001ed
- >;
- };
-
- pinctrl_i2c2_2: i2c2grp-2 {
- fsl,pins = <
- MX51_PAD_EIM_D27__I2C2_SCL 0x400001ed
- MX51_PAD_EIM_D24__I2C2_SDA 0x400001ed
- >;
- };
-
- pinctrl_i2c2_3: i2c2grp-3 {
- fsl,pins = <
- MX51_PAD_GPIO1_2__I2C2_SCL 0x400001ed
- MX51_PAD_GPIO1_3__I2C2_SDA 0x400001ed
- >;
- };
- };
-
- ipu_disp1 {
- pinctrl_ipu_disp1_1: ipudisp1grp-1 {
- fsl,pins = <
- MX51_PAD_DISP1_DAT0__DISP1_DAT0 0x5
- MX51_PAD_DISP1_DAT1__DISP1_DAT1 0x5
- MX51_PAD_DISP1_DAT2__DISP1_DAT2 0x5
- MX51_PAD_DISP1_DAT3__DISP1_DAT3 0x5
- MX51_PAD_DISP1_DAT4__DISP1_DAT4 0x5
- MX51_PAD_DISP1_DAT5__DISP1_DAT5 0x5
- MX51_PAD_DISP1_DAT6__DISP1_DAT6 0x5
- MX51_PAD_DISP1_DAT7__DISP1_DAT7 0x5
- MX51_PAD_DISP1_DAT8__DISP1_DAT8 0x5
- MX51_PAD_DISP1_DAT9__DISP1_DAT9 0x5
- MX51_PAD_DISP1_DAT10__DISP1_DAT10 0x5
- MX51_PAD_DISP1_DAT11__DISP1_DAT11 0x5
- MX51_PAD_DISP1_DAT12__DISP1_DAT12 0x5
- MX51_PAD_DISP1_DAT13__DISP1_DAT13 0x5
- MX51_PAD_DISP1_DAT14__DISP1_DAT14 0x5
- MX51_PAD_DISP1_DAT15__DISP1_DAT15 0x5
- MX51_PAD_DISP1_DAT16__DISP1_DAT16 0x5
- MX51_PAD_DISP1_DAT17__DISP1_DAT17 0x5
- MX51_PAD_DISP1_DAT18__DISP1_DAT18 0x5
- MX51_PAD_DISP1_DAT19__DISP1_DAT19 0x5
- MX51_PAD_DISP1_DAT20__DISP1_DAT20 0x5
- MX51_PAD_DISP1_DAT21__DISP1_DAT21 0x5
- MX51_PAD_DISP1_DAT22__DISP1_DAT22 0x5
- MX51_PAD_DISP1_DAT23__DISP1_DAT23 0x5
- MX51_PAD_DI1_PIN2__DI1_PIN2 0x5 /* hsync */
- MX51_PAD_DI1_PIN3__DI1_PIN3 0x5 /* vsync */
- >;
- };
- };
-
- ipu_disp2 {
- pinctrl_ipu_disp2_1: ipudisp2grp-1 {
- fsl,pins = <
- MX51_PAD_DISP2_DAT0__DISP2_DAT0 0x5
- MX51_PAD_DISP2_DAT1__DISP2_DAT1 0x5
- MX51_PAD_DISP2_DAT2__DISP2_DAT2 0x5
- MX51_PAD_DISP2_DAT3__DISP2_DAT3 0x5
- MX51_PAD_DISP2_DAT4__DISP2_DAT4 0x5
- MX51_PAD_DISP2_DAT5__DISP2_DAT5 0x5
- MX51_PAD_DISP2_DAT6__DISP2_DAT6 0x5
- MX51_PAD_DISP2_DAT7__DISP2_DAT7 0x5
- MX51_PAD_DISP2_DAT8__DISP2_DAT8 0x5
- MX51_PAD_DISP2_DAT9__DISP2_DAT9 0x5
- MX51_PAD_DISP2_DAT10__DISP2_DAT10 0x5
- MX51_PAD_DISP2_DAT11__DISP2_DAT11 0x5
- MX51_PAD_DISP2_DAT12__DISP2_DAT12 0x5
- MX51_PAD_DISP2_DAT13__DISP2_DAT13 0x5
- MX51_PAD_DISP2_DAT14__DISP2_DAT14 0x5
- MX51_PAD_DISP2_DAT15__DISP2_DAT15 0x5
- MX51_PAD_DI2_PIN2__DI2_PIN2 0x5 /* hsync */
- MX51_PAD_DI2_PIN3__DI2_PIN3 0x5 /* vsync */
- MX51_PAD_DI2_DISP_CLK__DI2_DISP_CLK 0x5 /* CLK */
- MX51_PAD_DI_GP4__DI2_PIN15 0x5 /* DE */
- >;
- };
- };
-
- kpp {
- pinctrl_kpp_1: kppgrp-1 {
- fsl,pins = <
- MX51_PAD_KEY_ROW0__KEY_ROW0 0xe0
- MX51_PAD_KEY_ROW1__KEY_ROW1 0xe0
- MX51_PAD_KEY_ROW2__KEY_ROW2 0xe0
- MX51_PAD_KEY_ROW3__KEY_ROW3 0xe0
- MX51_PAD_KEY_COL0__KEY_COL0 0xe8
- MX51_PAD_KEY_COL1__KEY_COL1 0xe8
- MX51_PAD_KEY_COL2__KEY_COL2 0xe8
- MX51_PAD_KEY_COL3__KEY_COL3 0xe8
- >;
- };
- };
-
- pata {
- pinctrl_pata_1: patagrp-1 {
- fsl,pins = <
- MX51_PAD_NANDF_WE_B__PATA_DIOW 0x2004
- MX51_PAD_NANDF_RE_B__PATA_DIOR 0x2004
- MX51_PAD_NANDF_ALE__PATA_BUFFER_EN 0x2004
- MX51_PAD_NANDF_CLE__PATA_RESET_B 0x2004
- MX51_PAD_NANDF_WP_B__PATA_DMACK 0x2004
- MX51_PAD_NANDF_RB0__PATA_DMARQ 0x2004
- MX51_PAD_NANDF_RB1__PATA_IORDY 0x2004
- MX51_PAD_GPIO_NAND__PATA_INTRQ 0x2004
- MX51_PAD_NANDF_CS2__PATA_CS_0 0x2004
- MX51_PAD_NANDF_CS3__PATA_CS_1 0x2004
- MX51_PAD_NANDF_CS4__PATA_DA_0 0x2004
- MX51_PAD_NANDF_CS5__PATA_DA_1 0x2004
- MX51_PAD_NANDF_CS6__PATA_DA_2 0x2004
- MX51_PAD_NANDF_D15__PATA_DATA15 0x2004
- MX51_PAD_NANDF_D14__PATA_DATA14 0x2004
- MX51_PAD_NANDF_D13__PATA_DATA13 0x2004
- MX51_PAD_NANDF_D12__PATA_DATA12 0x2004
- MX51_PAD_NANDF_D11__PATA_DATA11 0x2004
- MX51_PAD_NANDF_D10__PATA_DATA10 0x2004
- MX51_PAD_NANDF_D9__PATA_DATA9 0x2004
- MX51_PAD_NANDF_D8__PATA_DATA8 0x2004
- MX51_PAD_NANDF_D7__PATA_DATA7 0x2004
- MX51_PAD_NANDF_D6__PATA_DATA6 0x2004
- MX51_PAD_NANDF_D5__PATA_DATA5 0x2004
- MX51_PAD_NANDF_D4__PATA_DATA4 0x2004
- MX51_PAD_NANDF_D3__PATA_DATA3 0x2004
- MX51_PAD_NANDF_D2__PATA_DATA2 0x2004
- MX51_PAD_NANDF_D1__PATA_DATA1 0x2004
- MX51_PAD_NANDF_D0__PATA_DATA0 0x2004
- >;
- };
- };
-
- uart1 {
- pinctrl_uart1_1: uart1grp-1 {
- fsl,pins = <
- MX51_PAD_UART1_RXD__UART1_RXD 0x1c5
- MX51_PAD_UART1_TXD__UART1_TXD 0x1c5
- >;
- };
-
- pinctrl_uart1_rtscts_1: uart1rtscts-1 {
- fsl,pins = <
- MX51_PAD_UART1_RTS__UART1_RTS 0x1c5
- MX51_PAD_UART1_CTS__UART1_CTS 0x1c5
- >;
- };
- };
-
- uart2 {
- pinctrl_uart2_1: uart2grp-1 {
- fsl,pins = <
- MX51_PAD_UART2_RXD__UART2_RXD 0x1c5
- MX51_PAD_UART2_TXD__UART2_TXD 0x1c5
- >;
- };
- };
-
- uart3 {
- pinctrl_uart3_1: uart3grp-1 {
- fsl,pins = <
- MX51_PAD_EIM_D25__UART3_RXD 0x1c5
- MX51_PAD_EIM_D26__UART3_TXD 0x1c5
- >;
- };
-
- pinctrl_uart3_rtscts_1: uart3rtscts-1 {
- fsl,pins = <
- MX51_PAD_EIM_D27__UART3_RTS 0x1c5
- MX51_PAD_EIM_D24__UART3_CTS 0x1c5
- >;
- };
-
- pinctrl_uart3_2: uart3grp-2 {
- fsl,pins = <
- MX51_PAD_UART3_RXD__UART3_RXD 0x1c5
- MX51_PAD_UART3_TXD__UART3_TXD 0x1c5
- >;
- };
- };
-
- usbh1 {
- pinctrl_usbh1_1: usbh1grp-1 {
- fsl,pins = <
- MX51_PAD_USBH1_DATA0__USBH1_DATA0 0x1e5
- MX51_PAD_USBH1_DATA1__USBH1_DATA1 0x1e5
- MX51_PAD_USBH1_DATA2__USBH1_DATA2 0x1e5
- MX51_PAD_USBH1_DATA3__USBH1_DATA3 0x1e5
- MX51_PAD_USBH1_DATA4__USBH1_DATA4 0x1e5
- MX51_PAD_USBH1_DATA5__USBH1_DATA5 0x1e5
- MX51_PAD_USBH1_DATA6__USBH1_DATA6 0x1e5
- MX51_PAD_USBH1_DATA7__USBH1_DATA7 0x1e5
- MX51_PAD_USBH1_CLK__USBH1_CLK 0x1e5
- MX51_PAD_USBH1_DIR__USBH1_DIR 0x1e5
- MX51_PAD_USBH1_NXT__USBH1_NXT 0x1e5
- MX51_PAD_USBH1_STP__USBH1_STP 0x1e5
- >;
- };
- };
-
- usbh2 {
- pinctrl_usbh2_1: usbh2grp-1 {
- fsl,pins = <
- MX51_PAD_EIM_D16__USBH2_DATA0 0x1e5
- MX51_PAD_EIM_D17__USBH2_DATA1 0x1e5
- MX51_PAD_EIM_D18__USBH2_DATA2 0x1e5
- MX51_PAD_EIM_D19__USBH2_DATA3 0x1e5
- MX51_PAD_EIM_D20__USBH2_DATA4 0x1e5
- MX51_PAD_EIM_D21__USBH2_DATA5 0x1e5
- MX51_PAD_EIM_D22__USBH2_DATA6 0x1e5
- MX51_PAD_EIM_D23__USBH2_DATA7 0x1e5
- MX51_PAD_EIM_A24__USBH2_CLK 0x1e5
- MX51_PAD_EIM_A25__USBH2_DIR 0x1e5
- MX51_PAD_EIM_A27__USBH2_NXT 0x1e5
- MX51_PAD_EIM_A26__USBH2_STP 0x1e5
- >;
- };
- };
-};
diff --git a/include/dt-bindings/clock/imx5-clock.h b/include/dt-bindings/clock/imx5-clock.h
new file mode 100644
index 0000000..5f2667e
--- /dev/null
+++ b/include/dt-bindings/clock/imx5-clock.h
@@ -0,0 +1,203 @@
+/*
+ * Copyright 2013 Lucas Stach, Pengutronix <l.stach@pengutronix.de>
+ *
+ * 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.
+ *
+ */
+
+#ifndef __DT_BINDINGS_CLOCK_IMX5_H
+#define __DT_BINDINGS_CLOCK_IMX5_H
+
+#define IMX5_CLK_DUMMY 0
+#define IMX5_CLK_CKIL 1
+#define IMX5_CLK_OSC 2
+#define IMX5_CLK_CKIH1 3
+#define IMX5_CLK_CKIH2 4
+#define IMX5_CLK_AHB 5
+#define IMX5_CLK_IPG 6
+#define IMX5_CLK_AXI_A 7
+#define IMX5_CLK_AXI_B 8
+#define IMX5_CLK_UART_PRED 9
+#define IMX5_CLK_UART_ROOT 10
+#define IMX5_CLK_ESDHC_A_PRED 11
+#define IMX5_CLK_ESDHC_B_PRED 12
+#define IMX5_CLK_ESDHC_C_SEL 13
+#define IMX5_CLK_ESDHC_D_SEL 14
+#define IMX5_CLK_EMI_SEL 15
+#define IMX5_CLK_EMI_SLOW_PODF 16
+#define IMX5_CLK_NFC_PODF 17
+#define IMX5_CLK_ECSPI_PRED 18
+#define IMX5_CLK_ECSPI_PODF 19
+#define IMX5_CLK_USBOH3_PRED 20
+#define IMX5_CLK_USBOH3_PODF 21
+#define IMX5_CLK_USB_PHY_PRED 22
+#define IMX5_CLK_USB_PHY_PODF 23
+#define IMX5_CLK_CPU_PODF 24
+#define IMX5_CLK_DI_PRED 25
+#define IMX5_CLK_TVE_SEL 27
+#define IMX5_CLK_UART1_IPG_GATE 28
+#define IMX5_CLK_UART1_PER_GATE 29
+#define IMX5_CLK_UART2_IPG_GATE 30
+#define IMX5_CLK_UART2_PER_GATE 31
+#define IMX5_CLK_UART3_IPG_GATE 32
+#define IMX5_CLK_UART3_PER_GATE 33
+#define IMX5_CLK_I2C1_GATE 34
+#define IMX5_CLK_I2C2_GATE 35
+#define IMX5_CLK_GPT_IPG_GATE 36
+#define IMX5_CLK_PWM1_IPG_GATE 37
+#define IMX5_CLK_PWM1_HF_GATE 38
+#define IMX5_CLK_PWM2_IPG_GATE 39
+#define IMX5_CLK_PWM2_HF_GATE 40
+#define IMX5_CLK_GPT_HF_GATE 41
+#define IMX5_CLK_FEC_GATE 42
+#define IMX5_CLK_USBOH3_PER_GATE 43
+#define IMX5_CLK_ESDHC1_IPG_GATE 44
+#define IMX5_CLK_ESDHC2_IPG_GATE 45
+#define IMX5_CLK_ESDHC3_IPG_GATE 46
+#define IMX5_CLK_ESDHC4_IPG_GATE 47
+#define IMX5_CLK_SSI1_IPG_GATE 48
+#define IMX5_CLK_SSI2_IPG_GATE 49
+#define IMX5_CLK_SSI3_IPG_GATE 50
+#define IMX5_CLK_ECSPI1_IPG_GATE 51
+#define IMX5_CLK_ECSPI1_PER_GATE 52
+#define IMX5_CLK_ECSPI2_IPG_GATE 53
+#define IMX5_CLK_ECSPI2_PER_GATE 54
+#define IMX5_CLK_CSPI_IPG_GATE 55
+#define IMX5_CLK_SDMA_GATE 56
+#define IMX5_CLK_EMI_SLOW_GATE 57
+#define IMX5_CLK_IPU_SEL 58
+#define IMX5_CLK_IPU_GATE 59
+#define IMX5_CLK_NFC_GATE 60
+#define IMX5_CLK_IPU_DI1_GATE 61
+#define IMX5_CLK_VPU_SEL 62
+#define IMX5_CLK_VPU_GATE 63
+#define IMX5_CLK_VPU_REFERENCE_GATE 64
+#define IMX5_CLK_UART4_IPG_GATE 65
+#define IMX5_CLK_UART4_PER_GATE 66
+#define IMX5_CLK_UART5_IPG_GATE 67
+#define IMX5_CLK_UART5_PER_GATE 68
+#define IMX5_CLK_TVE_GATE 69
+#define IMX5_CLK_TVE_PRED 70
+#define IMX5_CLK_ESDHC1_PER_GATE 71
+#define IMX5_CLK_ESDHC2_PER_GATE 72
+#define IMX5_CLK_ESDHC3_PER_GATE 73
+#define IMX5_CLK_ESDHC4_PER_GATE 74
+#define IMX5_CLK_USB_PHY_GATE 75
+#define IMX5_CLK_HSI2C_GATE 76
+#define IMX5_CLK_MIPI_HSC1_GATE 77
+#define IMX5_CLK_MIPI_HSC2_GATE 78
+#define IMX5_CLK_MIPI_ESC_GATE 79
+#define IMX5_CLK_MIPI_HSP_GATE 80
+#define IMX5_CLK_LDB_DI1_DIV_3_5 81
+#define IMX5_CLK_LDB_DI1_DIV 82
+#define IMX5_CLK_LDB_DI0_DIV_3_5 83
+#define IMX5_CLK_LDB_DI0_DIV 84
+#define IMX5_CLK_LDB_DI1_GATE 85
+#define IMX5_CLK_CAN2_SERIAL_GATE 86
+#define IMX5_CLK_CAN2_IPG_GATE 87
+#define IMX5_CLK_I2C3_GATE 88
+#define IMX5_CLK_LP_APM 89
+#define IMX5_CLK_PERIPH_APM 90
+#define IMX5_CLK_MAIN_BUS 91
+#define IMX5_CLK_AHB_MAX 92
+#define IMX5_CLK_AIPS_TZ1 93
+#define IMX5_CLK_AIPS_TZ2 94
+#define IMX5_CLK_TMAX1 95
+#define IMX5_CLK_TMAX2 96
+#define IMX5_CLK_TMAX3 97
+#define IMX5_CLK_SPBA 98
+#define IMX5_CLK_UART_SEL 99
+#define IMX5_CLK_ESDHC_A_SEL 100
+#define IMX5_CLK_ESDHC_B_SEL 101
+#define IMX5_CLK_ESDHC_A_PODF 102
+#define IMX5_CLK_ESDHC_B_PODF 103
+#define IMX5_CLK_ECSPI_SEL 104
+#define IMX5_CLK_USBOH3_SEL 105
+#define IMX5_CLK_USB_PHY_SEL 106
+#define IMX5_CLK_IIM_GATE 107
+#define IMX5_CLK_USBOH3_GATE 108
+#define IMX5_CLK_EMI_FAST_GATE 109
+#define IMX5_CLK_IPU_DI0_GATE 110
+#define IMX5_CLK_GPC_DVFS 111
+#define IMX5_CLK_PLL1_SW 112
+#define IMX5_CLK_PLL2_SW 113
+#define IMX5_CLK_PLL3_SW 114
+#define IMX5_CLK_IPU_DI0_SEL 115
+#define IMX5_CLK_IPU_DI1_SEL 116
+#define IMX5_CLK_TVE_EXT_SEL 117
+#define IMX5_CLK_MX51_MIPI 118
+#define IMX5_CLK_PLL4_SW 119
+#define IMX5_CLK_LDB_DI1_SEL 120
+#define IMX5_CLK_DI_PLL4_PODF 121
+#define IMX5_CLK_LDB_DI0_SEL 122
+#define IMX5_CLK_LDB_DI0_GATE 123
+#define IMX5_CLK_USB_PHY1_GATE 124
+#define IMX5_CLK_USB_PHY2_GATE 125
+#define IMX5_CLK_PER_LP_APM 126
+#define IMX5_CLK_PER_PRED1 127
+#define IMX5_CLK_PER_PRED2 128
+#define IMX5_CLK_PER_PODF 129
+#define IMX5_CLK_PER_ROOT 130
+#define IMX5_CLK_SSI_APM 131
+#define IMX5_CLK_SSI1_ROOT_SEL 132
+#define IMX5_CLK_SSI2_ROOT_SEL 133
+#define IMX5_CLK_SSI3_ROOT_SEL 134
+#define IMX5_CLK_SSI_EXT1_SEL 135
+#define IMX5_CLK_SSI_EXT2_SEL 136
+#define IMX5_CLK_SSI_EXT1_COM_SEL 137
+#define IMX5_CLK_SSI_EXT2_COM_SEL 138
+#define IMX5_CLK_SSI1_ROOT_PRED 139
+#define IMX5_CLK_SSI1_ROOT_PODF 140
+#define IMX5_CLK_SSI2_ROOT_PRED 141
+#define IMX5_CLK_SSI2_ROOT_PODF 142
+#define IMX5_CLK_SSI_EXT1_PRED 143
+#define IMX5_CLK_SSI_EXT1_PODF 144
+#define IMX5_CLK_SSI_EXT2_PRED 145
+#define IMX5_CLK_SSI_EXT2_PODF 146
+#define IMX5_CLK_SSI1_ROOT_GATE 147
+#define IMX5_CLK_SSI2_ROOT_GATE 148
+#define IMX5_CLK_SSI3_ROOT_GATE 149
+#define IMX5_CLK_SSI_EXT1_GATE 150
+#define IMX5_CLK_SSI_EXT2_GATE 151
+#define IMX5_CLK_EPIT1_IPG_GATE 152
+#define IMX5_CLK_EPIT1_HF_GATE 153
+#define IMX5_CLK_EPIT2_IPG_GATE 154
+#define IMX5_CLK_EPIT2_HF_GATE 155
+#define IMX5_CLK_CAN_SEL 156
+#define IMX5_CLK_CAN1_SERIAL_GATE 157
+#define IMX5_CLK_CAN1_IPG_GATE 158
+#define IMX5_CLK_OWIRE_GATE 159
+#define IMX5_CLK_GPU3D_SEL 160
+#define IMX5_CLK_GPU2D_SEL 161
+#define IMX5_CLK_GPU3D_GATE 162
+#define IMX5_CLK_GPU2D_GATE 163
+#define IMX5_CLK_GARB_GATE 164
+#define IMX5_CLK_CKO1_SEL 165
+#define IMX5_CLK_CKO1_PODF 166
+#define IMX5_CLK_CKO1 167
+#define IMX5_CLK_CKO2_SEL 168
+#define IMX5_CLK_CKO2_PODF 169
+#define IMX5_CLK_CKO2 170
+#define IMX5_CLK_SRTC_GATE 171
+#define IMX5_CLK_PATA_GATE 172
+#define IMX5_CLK_SATA_GATE 173
+#define IMX5_CLK_SPDIF_XTAL_SEL 174
+#define IMX5_CLK_SPDIF0_SEL 175
+#define IMX5_CLK_SPDIF1_SEL 176
+#define IMX5_CLK_SPDIF0_PRED 177
+#define IMX5_CLK_SPDIF0_PODF 178
+#define IMX5_CLK_SPDIF1_PRED 179
+#define IMX5_CLK_SPDIF1_PODF 180
+#define IMX5_CLK_SPDIF0_COM_SEL 181
+#define IMX5_CLK_SPDIF1_COM_SEL 182
+#define IMX5_CLK_SPDIF0_GATE 183
+#define IMX5_CLK_SPDIF1_GATE 184
+#define IMX5_CLK_SPDIF_IPG_GATE 185
+#define IMX5_CLK_OCRAM 186
+#define IMX5_CLK_SAHARA_IPG_GATE 187
+#define IMX5_CLK_SATA_REF 188
+#define IMX5_CLK_END 189
+
+#endif /* __DT_BINDINGS_CLOCK_IMX5_H */
diff --git a/include/dt-bindings/interrupt-controller/irq.h b/include/dt-bindings/interrupt-controller/irq.h
new file mode 100644
index 0000000..33a1003
--- /dev/null
+++ b/include/dt-bindings/interrupt-controller/irq.h
@@ -0,0 +1,19 @@
+/*
+ * This header provides constants for most IRQ bindings.
+ *
+ * Most IRQ bindings include a flags cell as part of the IRQ specifier.
+ * In most cases, the format of the flags cell uses the standard values
+ * defined in this header.
+ */
+
+#ifndef _DT_BINDINGS_INTERRUPT_CONTROLLER_IRQ_H
+#define _DT_BINDINGS_INTERRUPT_CONTROLLER_IRQ_H
+
+#define IRQ_TYPE_NONE 0
+#define IRQ_TYPE_EDGE_RISING 1
+#define IRQ_TYPE_EDGE_FALLING 2
+#define IRQ_TYPE_EDGE_BOTH (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING)
+#define IRQ_TYPE_LEVEL_HIGH 4
+#define IRQ_TYPE_LEVEL_LOW 8
+
+#endif
--
1.8.3.2
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 2/2] ARM: freescale-mx51-pdk: Remove FEC GPIO handling
2014-01-08 5:44 [PATCH 1/2] ARM: i.MX51: Sync DT files with kernel Alexander Shiyan
@ 2014-01-08 5:44 ` Alexander Shiyan
2014-01-10 7:39 ` [PATCH 1/2] ARM: i.MX51: Sync DT files with kernel Sascha Hauer
1 sibling, 0 replies; 5+ messages in thread
From: Alexander Shiyan @ 2014-01-08 5:44 UTC (permalink / raw)
To: barebox
Reset GPIO now handled from DTS, no need to touch this in the board.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
---
arch/arm/boards/freescale-mx51-pdk/board.c | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/arch/arm/boards/freescale-mx51-pdk/board.c b/arch/arm/boards/freescale-mx51-pdk/board.c
index 379313e..711172d 100644
--- a/arch/arm/boards/freescale-mx51-pdk/board.c
+++ b/arch/arm/boards/freescale-mx51-pdk/board.c
@@ -141,21 +141,14 @@ static void babbage_power_init(void)
/* Configure VGEN3 and VCAM regulators to use external PNP */
val = 0x208;
mc13xxx_reg_write(mc13xxx, MC13892_REG_MODE_1, val);
- udelay(200);
-#define GPIO_LAN8700_RESET (1 * 32 + 14)
- /* Reset the ethernet controller over GPIO */
- gpio_direction_output(GPIO_LAN8700_RESET, 0);
+ udelay(200);
/* Enable VGEN3, VCAM, VAUDIO, VVIDEO, VSD regulators */
val = 0x49249;
mc13xxx_reg_write(mc13xxx, MC13892_REG_MODE_1, val);
udelay(200);
-
- gpio_set_value(GPIO_LAN8700_RESET, 1);
-
- mdelay(50);
}
extern char flash_header_imx51_babbage_start[];
--
1.8.3.2
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] ARM: i.MX51: Sync DT files with kernel
2014-01-08 5:44 [PATCH 1/2] ARM: i.MX51: Sync DT files with kernel Alexander Shiyan
2014-01-08 5:44 ` [PATCH 2/2] ARM: freescale-mx51-pdk: Remove FEC GPIO handling Alexander Shiyan
@ 2014-01-10 7:39 ` Sascha Hauer
2014-01-10 7:58 ` Alexander Shiyan
1 sibling, 1 reply; 5+ messages in thread
From: Sascha Hauer @ 2014-01-10 7:39 UTC (permalink / raw)
To: Alexander Shiyan; +Cc: barebox
On Wed, Jan 08, 2014 at 09:44:15AM +0400, Alexander Shiyan wrote:
> This patch includes update i.MX51 template and porting some barebox
> DTS files to use new template.
>
> Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Applied, thanks
Sascha
> ---
> arch/arm/dts/imx51-babbage.dts | 149 ++++++--
> arch/arm/dts/imx51-genesi-efika-sb.dts | 156 ++++++---
> arch/arm/dts/imx51-pingrp.h | 249 +++++++++++++
> arch/arm/dts/imx51.dtsi | 465 +++++--------------------
> include/dt-bindings/clock/imx5-clock.h | 203 +++++++++++
> include/dt-bindings/interrupt-controller/irq.h | 19 +
> 6 files changed, 794 insertions(+), 447 deletions(-)
> create mode 100644 arch/arm/dts/imx51-pingrp.h
> create mode 100644 include/dt-bindings/clock/imx5-clock.h
> create mode 100644 include/dt-bindings/interrupt-controller/irq.h
>
> diff --git a/arch/arm/dts/imx51-babbage.dts b/arch/arm/dts/imx51-babbage.dts
> index 4edbccb..41f470e 100644
> --- a/arch/arm/dts/imx51-babbage.dts
> +++ b/arch/arm/dts/imx51-babbage.dts
> @@ -35,7 +35,21 @@
> crtcs = <&ipu 0>;
> interface-pix-fmt = "rgb24";
> pinctrl-names = "default";
> - pinctrl-0 = <&pinctrl_ipu_disp1_1>;
> + pinctrl-0 = <&pinctrl_ipu_disp1>;
> + display-timings {
> + native-mode = <&timing0>;
> + timing0: dvi {
> + clock-frequency = <65000000>;
> + hactive = <1024>;
> + vactive = <768>;
> + hback-porch = <220>;
> + hfront-porch = <40>;
> + vback-porch = <21>;
> + vfront-porch = <7>;
> + hsync-len = <60>;
> + vsync-len = <10>;
> + };
> + };
> };
>
> display@di1 {
> @@ -43,7 +57,26 @@
> crtcs = <&ipu 1>;
> interface-pix-fmt = "rgb565";
> pinctrl-names = "default";
> - pinctrl-0 = <&pinctrl_ipu_disp2_1>;
> + pinctrl-0 = <&pinctrl_ipu_disp2>;
> + status = "disabled";
> + display-timings {
> + native-mode = <&timing1>;
> + timing1: claawvga {
> + clock-frequency = <27000000>;
> + hactive = <800>;
> + vactive = <480>;
> + hback-porch = <40>;
> + hfront-porch = <60>;
> + vback-porch = <10>;
> + vfront-porch = <10>;
> + hsync-len = <20>;
> + vsync-len = <10>;
> + hsync-active = <0>;
> + vsync-active = <0>;
> + de-active = <1>;
> + pixelclk-active = <0>;
> + };
> + };
> };
>
> gpio-keys {
> @@ -51,7 +84,7 @@
>
> power {
> label = "Power Button";
> - gpios = <&gpio2 21 0>;
> + gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
> linux,code = <116>; /* KEY_POWER */
> gpio-key,wakeup;
> };
> @@ -70,11 +103,25 @@
> mux-int-port = <2>;
> mux-ext-port = <3>;
> };
> +
> + clocks {
> + ckih1 {
> + clock-frequency = <22579200>;
> + };
> +
> + clk_26M: codec_clock {
> + compatible = "fixed-clock";
> + reg=<0>;
> + #clock-cells = <0>;
> + clock-frequency = <26000000>;
> + gpios = <&gpio4 26 GPIO_ACTIVE_LOW>;
> + };
> + };
> };
>
> &esdhc1 {
> pinctrl-names = "default";
> - pinctrl-0 = <&pinctrl_esdhc1_1>;
> + pinctrl-0 = <&pinctrl_esdhc1>;
> fsl,cd-controller;
> fsl,wp-controller;
> status = "okay";
> @@ -89,24 +136,25 @@
>
> &esdhc2 {
> pinctrl-names = "default";
> - pinctrl-0 = <&pinctrl_esdhc2_1>;
> - cd-gpios = <&gpio1 6 0>;
> - wp-gpios = <&gpio1 5 0>;
> + pinctrl-0 = <&pinctrl_esdhc2>;
> + cd-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
> + wp-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
> status = "okay";
> };
>
> &uart3 {
> pinctrl-names = "default";
> - pinctrl-0 = <&pinctrl_uart3_1>;
> + pinctrl-0 = <&pinctrl_uart3 &pinctrl_uart3_rtscts>;
> fsl,uart-has-rtscts;
> status = "okay";
> };
>
> &ecspi1 {
> pinctrl-names = "default";
> - pinctrl-0 = <&pinctrl_ecspi1_1>;
> + pinctrl-0 = <&pinctrl_ecspi1>;
> fsl,spi-num-chipselects = <2>;
> - cs-gpios = <&gpio4 24 0>, <&gpio4 25 0>;
> + cs-gpios = <&gpio4 24 GPIO_ACTIVE_HIGH>,
> + <&gpio4 25 GPIO_ACTIVE_LOW>;
> status = "okay";
>
> pmic: mc13892@0 {
> @@ -117,7 +165,7 @@
> spi-cs-high;
> reg = <0>;
> interrupt-parent = <&gpio1>;
> - interrupts = <8 0x4>;
> + interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
>
> regulators {
> sw1_reg: sw1 {
> @@ -240,7 +288,7 @@
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_hog>;
>
> - hog {
> + imx51-babbage {
> pinctrl_hog: hoggrp {
> fsl,pins = <
> MX51_PAD_GPIO1_0__SD1_CD 0x20d5
> @@ -250,34 +298,93 @@
> MX51_PAD_EIM_A27__GPIO2_21 0x5
> MX51_PAD_CSPI1_SS0__GPIO4_24 0x85
> MX51_PAD_CSPI1_SS1__GPIO4_25 0x85
> - MX51_PAD_EIM_A20__GPIO2_14 0x85
> + MX51_PAD_CSPI1_RDY__GPIO4_26 0x80000000
> >;
> };
> +
> + pinctrl_audmux: audmuxgrp {
> + fsl,pins = <MX51_AUDMUX_PINGRP1>;
> + };
> +
> + pinctrl_ecspi1: ecspi1grp {
> + fsl,pins = <MX51_ECSPI1_PINGRP1>;
> + };
> +
> + pinctrl_esdhc1: esdhc1grp {
> + fsl,pins = <MX51_ESDHC1_PINGRP1>;
> + };
> +
> + pinctrl_esdhc2: esdhc2grp {
> + fsl,pins = <MX51_ESDHC2_PINGRP1>;
> + };
> +
> + pinctrl_fec: fecgrp {
> + fsl,pins = <
> + MX51_FEC_PINGRP1
> + MX51_PAD_EIM_A20__GPIO2_14 0x85 /* Reset */
> + >;
> + };
> +
> + pinctrl_i2c2: i2c2grp {
> + fsl,pins = <MX51_I2C2_PINGRP1>;
> + };
> +
> + pinctrl_ipu_disp1: ipudisp1grp {
> + fsl,pins = <MX51_IPU_DISP1_PINGRP1>;
> + };
> +
> + pinctrl_ipu_disp2: ipudisp2grp {
> + fsl,pins = <MX51_IPU_DISP2_PINGRP1>;
> + };
> +
> + pinctrl_kpp: kppgrp {
> + fsl,pins = <MX51_KPP_PINGRP1>;
> + };
> +
> + pinctrl_uart1: uart1grp {
> + fsl,pins = <MX51_UART1_PINGRP1>;
> + };
> +
> + pinctrl_uart1_rtscts: uart1rtsctsgrp {
> + fsl,pins = <MX51_UART1_RTSCTS_PINGRP1>;
> + };
> +
> + pinctrl_uart2: uart2grp {
> + fsl,pins = <MX51_UART2_PINGRP1>;
> + };
> +
> + pinctrl_uart3: uart3grp {
> + fsl,pins = <MX51_UART3_PINGRP1>;
> + };
> +
> + pinctrl_uart3_rtscts: uart3rtsctsgrp {
> + fsl,pins = <MX51_UART3_RTSCTS_PINGRP1>;
> + };
> };
> };
>
> &uart1 {
> pinctrl-names = "default";
> - pinctrl-0 = <&pinctrl_uart1_1>;
> + pinctrl-0 = <&pinctrl_uart1 &pinctrl_uart1_rtscts>;
> fsl,uart-has-rtscts;
> status = "okay";
> };
>
> &uart2 {
> pinctrl-names = "default";
> - pinctrl-0 = <&pinctrl_uart2_1>;
> + pinctrl-0 = <&pinctrl_uart2>;
> status = "okay";
> };
>
> &i2c2 {
> pinctrl-names = "default";
> - pinctrl-0 = <&pinctrl_i2c2_1>;
> + pinctrl-0 = <&pinctrl_i2c2>;
> status = "okay";
>
> sgtl5000: codec@0a {
> compatible = "fsl,sgtl5000";
> reg = <0x0a>;
> - clock-frequency = <26000000>;
> + clocks = <&clk_26M>;
> VDDA-supply = <&vdig_reg>;
> VDDIO-supply = <&vvideo_reg>;
> };
> @@ -285,20 +392,22 @@
>
> &audmux {
> pinctrl-names = "default";
> - pinctrl-0 = <&pinctrl_audmux_1>;
> + pinctrl-0 = <&pinctrl_audmux>;
> status = "okay";
> };
>
> &fec {
> pinctrl-names = "default";
> - pinctrl-0 = <&pinctrl_fec_1>;
> + pinctrl-0 = <&pinctrl_fec>;
> phy-mode = "mii";
> + phy-reset-gpios = <&gpio2 14 GPIO_ACTIVE_LOW>;
> + phy-reset-duration = <1>;
> status = "okay";
> };
>
> &kpp {
> pinctrl-names = "default";
> - pinctrl-0 = <&pinctrl_kpp_1>;
> + pinctrl-0 = <&pinctrl_kpp>;
> linux,keymap = <0x00000067 /* KEY_UP */
> 0x0001006c /* KEY_DOWN */
> 0x00020072 /* KEY_VOLUMEDOWN */
> diff --git a/arch/arm/dts/imx51-genesi-efika-sb.dts b/arch/arm/dts/imx51-genesi-efika-sb.dts
> index 21b7c7e..2b85a49 100644
> --- a/arch/arm/dts/imx51-genesi-efika-sb.dts
> +++ b/arch/arm/dts/imx51-genesi-efika-sb.dts
> @@ -38,33 +38,37 @@
>
> leds {
> compatible = "gpio-leds";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_leds>;
>
> mail {
> label = "mail";
> - gpios = <&gpio1 3 1>;
> + gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
> linux,default-trigger = "heartbeat";
> };
>
> white {
> label = "white";
> - gpios = <&gpio2 25 0>;
> + gpios = <&gpio2 25 GPIO_ACTIVE_HIGH>;
> linux,default-trigger = "none";
> };
> };
>
> gpio-keys {
> compatible = "gpio-keys";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_keys>;
>
> power {
> label = "Power";
> - gpios = <&gpio2 31 0>;
> + gpios = <&gpio2 31 GPIO_ACTIVE_HIGH>;
> linux,code = <116>; /* KEY_POWER */
> gpio-key,wakeup;
> };
>
> lid {
> label = "Lid";
> - gpios = <&gpio3 14 0>;
> + gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;
> linux,input-type = <5>; /* EV_SW */
> linux,code = <0>; /* SW_LID */
> debounce-interval = <1>;
> @@ -78,8 +82,7 @@
> model = "imx51-efikasb-sgtl5000";
> ssi-controller = <&ssi1>;
> audio-codec = <&sgtl5000>;
> - audio-routing =
> - "Headphone Jack", "HP_OUT";
> + audio-routing = "Headphone Jack", "HP_OUT";
> mux-int-port = <1>;
> mux-ext-port = <3>;
> };
> @@ -101,52 +104,115 @@
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_hog>;
>
> - hog {
> + imx51-genesi-efika-sb {
> pinctrl_hog: hoggrp {
> fsl,pins = <
> - MX51_PAD_EIM_DTACK__GPIO2_31 0x800000c0 /* Power button */
> MX51_PAD_EIM_A16__GPIO2_10 0x80000000 /* WLAN reset */
> MX51_PAD_EIM_A22__GPIO2_16 0x80000000 /* WLAN power */
> - MX51_PAD_CSI2_D13__GPIO4_10 0x80000000 /* WWAN power? */
> MX51_PAD_DI1_PIN12__GPIO3_1 0x80000000 /* WLAN switch */
> MX51_PAD_EIM_A17__GPIO2_11 0x80000000 /* Bluetooth power */
> MX51_PAD_EIM_A23__GPIO2_17 0x80000000 /* Audio amp enable, 1 = on */
> - MX51_PAD_GPIO1_6__REF_EN_B 0x80000000 /* PMIC interrupt */
> - MX51_PAD_DI1_PIN11__GPIO3_0 0x80000000 /* Battery low */
> - MX51_PAD_CSI2_PIXCLK__GPIO4_15 0x80000000 /* Power good */
> - MX51_PAD_CSI1_VSYNC__GPIO3_14 0x80000000 /* Lid switch, 0 = closed */
> - MX51_PAD_CSPI1_SS0__GPIO4_24 0x85
> - MX51_PAD_CSPI1_SS1__GPIO4_25 0x85
> MX51_PAD_CSI1_D8__GPIO3_12 0x80000000 /* LVDS enable, 1 = on */
> MX51_PAD_GPIO1_2__GPIO1_2 0x80000000 /* Backlight PWM */
> MX51_PAD_CSI2_D19__GPIO4_12 0x80000000 /* Backlight power, 0 = on */
> - MX51_PAD_DISPB2_SER_DIO__GPIO3_6 0x80000000 /* LVDS reset, 1 = reset */
> MX51_PAD_DISPB2_SER_DIN__GPIO3_5 0x80000000 /* LVDS reset (1 = reset) */
> MX51_PAD_DISPB2_SER_CLK__GPIO3_7 0x80000000 /* LVDS power, 1 = on */
> MX51_PAD_CSI1_D9__GPIO3_13 0x80000000 /* LCD enable (1 = on */
> MX51_PAD_NANDF_CS0__GPIO3_16 0x80000000 /* Camera power, 0 = on */
> MX51_PAD_GPIO1_5__GPIO1_5 0x80000000 /* USB hub reset, 0 = reset */
> MX51_PAD_EIM_D27__GPIO2_9 0x80000000 /* USB phy reset, 0 = reset */
> - MX51_PAD_DISPB2_SER_DIO__GPIO3_6 0x80000000 /* Battery, 0 = inserted */
> - MX51_PAD_GPIO1_3__GPIO1_3 0x80000000 /* Alarm LED, 0 = on */
> - MX51_PAD_EIM_CS0__GPIO2_25 0x80000000 /* Caps LED, 1 = on */
> MX51_PAD_CSPI1_RDY__GPIO4_26 0x80000000 /* Audio clk enable */
> - MX51_PAD_EIM_A26__GPIO2_20 0x80000000
> - MX51_PAD_USBH1_STP__GPIO1_27 0x80000000
> >;
> };
> +
> + pinctrl_audmux: audmuxgrp {
> + fsl,pins = <MX51_AUDMUX_PINGRP1>;
> + };
> +
> + pinctrl_battery: batterygrp {
> + fsl,pins = <
> + MX51_PAD_DISPB2_SER_DIO__GPIO3_6 0xe5 /* Battery */
> + >;
> + };
> +
> + pinctrl_ecspi1: ecspi1grp {
> + fsl,pins = <
> + MX51_ECSPI1_PINGRP1
> + MX51_PAD_CSPI1_SS0__GPIO4_24 0x85 /* CS0 */
> + MX51_PAD_CSPI1_SS1__GPIO4_25 0x85 /* CS1 */
> + MX51_PAD_GPIO1_6__GPIO1_6 0xe5 /* PMIC IRQ */
> + >;
> + };
> +
> + pinctrl_esdhc1: esdhc1grp {
> + fsl,pins = <
> + MX51_ESDHC1_PINGRP1
> + MX51_PAD_GPIO1_1__GPIO1_1 0xe5 /* WP */
> + MX51_PAD_EIM_CS2__GPIO2_27 0xe5 /* CD */
> + >;
> + };
> +
> + pinctrl_esdhc2: esdhc2grp {
> + fsl,pins = <
> + MX51_ESDHC2_PINGRP1
> + MX51_PAD_GPIO1_7__GPIO1_7 0xe5 /* WP */
> + MX51_PAD_GPIO1_8__GPIO1_8 0xe5 /* CD */
> + >;
> + };
> +
> + pinctrl_i2c2: i2c2grp {
> + fsl,pins = <MX51_I2C2_PINGRP1>;
> + };
> +
> + pinctrl_ipu_disp1: ipudisp1grp {
> + fsl,pins = <MX51_IPU_DISP1_PINGRP1>;
> + };
> +
> + pinctrl_keys: keysgrp {
> + fsl,pins = <
> + MX51_PAD_EIM_DTACK__GPIO2_31 0xe5 /* Power btn */
> + MX51_PAD_CSI1_VSYNC__GPIO3_14 0xe5 /* Lid switch */
> + >;
> + };
> +
> + pinctrl_leds: ledsgrp {
> + fsl,pins = <
> + MX51_PAD_GPIO1_3__GPIO1_3 0x85 /* Alarm LED */
> + MX51_PAD_EIM_CS0__GPIO2_25 0x85 /* Caps LED */
> + >;
> + };
> +
> + pinctrl_pata: patagrp {
> + fsl,pins = <MX51_PATA_PINGRP1>;
> + };
> +
> + pinctrl_uart1: uart1grp {
> + fsl,pins = <
> + MX51_UART1_PINGRP1
> + MX51_UART1_RTSCTS_PINGRP1
> + >;
> + };
> +
> + pinctrl_usbh1: usbh1grp {
> + fsl,pins = <MX51_USBH1_PINGRP1>;
> + };
> +
> + pinctrl_usbh2: usbh2grp {
> + fsl,pins = <MX51_USBH2_PINGRP1>;
> + };
> };
> };
>
> &uart1 {
> pinctrl-names = "default";
> - pinctrl-0 = <&pinctrl_uart1_1>;
> + pinctrl-0 = <&pinctrl_uart1>;
> + fsl,uart-has-rtscts;
> status = "okay";
> };
>
> &i2c2 {
> pinctrl-names = "default";
> - pinctrl-0 = <&pinctrl_i2c2_1>;
> + pinctrl-0 = <&pinctrl_i2c2>;
> clock-frequency = <100000>;
> status = "okay";
>
> @@ -161,34 +227,36 @@
>
> battery: battery@0b {
> compatible = "sbs,sbs-battery";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_battery>;
> reg = <0x0b>;
> - sbs,battery-detect-gpios = <&gpio3 6 1>;
> + sbs,battery-detect-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
> };
>
> lvds: mtl017@3a {
> compatible = "mtl017";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_ipu_disp1>;
> reg = <0x3a>;
> crtcs = <&ipu 1>;
> edid-i2c = <&i2c2>;
> interface-pix-fmt = "rgb565";
> - pinctrl-names = "default";
> - pinctrl-0 = <&pinctrl_ipu_disp1_1>;
> };
> };
>
> &esdhc1 {
> pinctrl-names = "default";
> - pinctrl-0 = <&pinctrl_esdhc1_1>;
> - cd-gpios = <&gpio2 27 0>;
> - wp-gpios = <&gpio1 1 0>;
> + pinctrl-0 = <&pinctrl_esdhc1>;
> + cd-gpios = <&gpio2 27 GPIO_ACTIVE_HIGH>;
> + wp-gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
> status = "okay";
> };
>
> &esdhc2 {
> pinctrl-names = "default";
> - pinctrl-0 = <&pinctrl_esdhc2_1>;
> - cd-gpios = <&gpio1 8 0>;
> - wp-gpios = <&gpio1 7 0>;
> + pinctrl-0 = <&pinctrl_esdhc2>;
> + cd-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
> + wp-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
> status = "okay";
> #address-cells = <1>;
> #size-cells = <1>;
> @@ -200,23 +268,22 @@
> };
>
> &ecspi1 {
> - fsl,spi-num-chipselects = <1>;
> - cs-gpios = <&gpio4 23 0>;
> pinctrl-names = "default";
> - pinctrl-0 = <&pinctrl_ecspi1_1>;
> + pinctrl-0 = <&pinctrl_ecspi1>;
> fsl,spi-num-chipselects = <2>;
> - cs-gpios = <&gpio4 24 0>, <&gpio4 25 0>;
> + cs-gpios = <&gpio4 24 GPIO_ACTIVE_HIGH>,
> + <&gpio4 25 GPIO_ACTIVE_LOW>;
> status = "okay";
>
> pmic: mc13892@0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> compatible = "fsl,mc13892";
> spi-max-frequency = <20000000>;
> reg = <0>;
> spi-cs-high;
> - #address-cells = <1>;
> - #size-cells = <0>;
> interrupt-parent = <&gpio1>;
> - interrupts = <6 0x4>;
> + interrupts = <6 IRQ_TYPE_LEVEL_HIGH>;
>
> regulators {
> sw1_reg: sw1 {
> @@ -321,34 +388,31 @@
>
> &audmux {
> pinctrl-names = "default";
> - pinctrl-0 = <&pinctrl_audmux_1>;
> + pinctrl-0 = <&pinctrl_audmux>;
> status = "okay";
> };
>
> &pata {
> pinctrl-names = "default";
> - pinctrl-0 = <&pinctrl_pata_1>;
> + pinctrl-0 = <&pinctrl_pata>;
> status = "okay";
> };
>
> &usbotg {
> - barebox,phy_type = "utmi_wide";
> phy_type = "ulpi";
> status = "okay";
> };
>
> &usbh1 {
> pinctrl-names = "default";
> - pinctrl-0 = <&pinctrl_usbh1_1>;
> - barebox,phy_type = "ulpi";
> + pinctrl-0 = <&pinctrl_usbh1>;
> phy_type = "ulpi";
> status = "okay";
> };
>
> &usbh2 {
> pinctrl-names = "default";
> - pinctrl-0 = <&pinctrl_usbh2_1>;
> - barebox,phy_type = "ulpi";
> + pinctrl-0 = <&pinctrl_usbh2>;
> phy_type = "ulpi";
> status = "okay";
> };
> diff --git a/arch/arm/dts/imx51-pingrp.h b/arch/arm/dts/imx51-pingrp.h
> new file mode 100644
> index 0000000..f63267b
> --- /dev/null
> +++ b/arch/arm/dts/imx51-pingrp.h
> @@ -0,0 +1,249 @@
> +/*
> + * Copyright (C) 2013 Freescale Semiconductor, Inc.
> + *
> + * 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.
> + *
> + */
> +
> +#ifndef __DTS_IMX51_PINGRP_H
> +#define __DTS_IMX51_PINGRP_H
> +
> +#include "imx51-pinfunc.h"
> +
> +#define MX51_AUDMUX_PINGRP1 \
> + MX51_PAD_AUD3_BB_TXD__AUD3_TXD 0x80000000 \
> + MX51_PAD_AUD3_BB_RXD__AUD3_RXD 0x80000000 \
> + MX51_PAD_AUD3_BB_CK__AUD3_TXC 0x80000000 \
> + MX51_PAD_AUD3_BB_FS__AUD3_TXFS 0x80000000
> +
> +#define MX51_FEC_PINGRP1 \
> + MX51_PAD_EIM_EB2__FEC_MDIO 0x80000000 \
> + MX51_PAD_EIM_EB3__FEC_RDATA1 0x80000000 \
> + MX51_PAD_EIM_CS2__FEC_RDATA2 0x80000000 \
> + MX51_PAD_EIM_CS3__FEC_RDATA3 0x80000000 \
> + MX51_PAD_EIM_CS4__FEC_RX_ER 0x80000000 \
> + MX51_PAD_EIM_CS5__FEC_CRS 0x80000000 \
> + MX51_PAD_NANDF_RB2__FEC_COL 0x80000000 \
> + MX51_PAD_NANDF_RB3__FEC_RX_CLK 0x80000000 \
> + MX51_PAD_NANDF_D9__FEC_RDATA0 0x80000000 \
> + MX51_PAD_NANDF_D8__FEC_TDATA0 0x80000000 \
> + MX51_PAD_NANDF_CS2__FEC_TX_ER 0x80000000 \
> + MX51_PAD_NANDF_CS3__FEC_MDC 0x80000000 \
> + MX51_PAD_NANDF_CS4__FEC_TDATA1 0x80000000 \
> + MX51_PAD_NANDF_CS5__FEC_TDATA2 0x80000000 \
> + MX51_PAD_NANDF_CS6__FEC_TDATA3 0x80000000 \
> + MX51_PAD_NANDF_CS7__FEC_TX_EN 0x80000000 \
> + MX51_PAD_NANDF_RDY_INT__FEC_TX_CLK 0x80000000
> +
> +#define MX51_FEC_PINGRP2 \
> + MX51_PAD_DI_GP3__FEC_TX_ER 0x80000000 \
> + MX51_PAD_DI2_PIN4__FEC_CRS 0x80000000 \
> + MX51_PAD_DI2_PIN2__FEC_MDC 0x80000000 \
> + MX51_PAD_DI2_PIN3__FEC_MDIO 0x80000000 \
> + MX51_PAD_DI2_DISP_CLK__FEC_RDATA1 0x80000000 \
> + MX51_PAD_DI_GP4__FEC_RDATA2 0x80000000 \
> + MX51_PAD_DISP2_DAT0__FEC_RDATA3 0x80000000 \
> + MX51_PAD_DISP2_DAT1__FEC_RX_ER 0x80000000 \
> + MX51_PAD_DISP2_DAT6__FEC_TDATA1 0x80000000 \
> + MX51_PAD_DISP2_DAT7__FEC_TDATA2 0x80000000 \
> + MX51_PAD_DISP2_DAT8__FEC_TDATA3 0x80000000 \
> + MX51_PAD_DISP2_DAT9__FEC_TX_EN 0x80000000 \
> + MX51_PAD_DISP2_DAT10__FEC_COL 0x80000000 \
> + MX51_PAD_DISP2_DAT11__FEC_RX_CLK 0x80000000 \
> + MX51_PAD_DISP2_DAT12__FEC_RX_DV 0x80000000 \
> + MX51_PAD_DISP2_DAT13__FEC_TX_CLK 0x80000000 \
> + MX51_PAD_DISP2_DAT14__FEC_RDATA0 0x80000000 \
> + MX51_PAD_DISP2_DAT15__FEC_TDATA0 0x80000000
> +
> +#define MX51_ECSPI1_PINGRP1 \
> + MX51_PAD_CSPI1_MISO__ECSPI1_MISO 0x185 \
> + MX51_PAD_CSPI1_MOSI__ECSPI1_MOSI 0x185 \
> + MX51_PAD_CSPI1_SCLK__ECSPI1_SCLK 0x185
> +
> +#define MX51_ECSPI2_PINGRP1 \
> + MX51_PAD_NANDF_RB3__ECSPI2_MISO 0x185 \
> + MX51_PAD_NANDF_D15__ECSPI2_MOSI 0x185 \
> + MX51_PAD_NANDF_RB2__ECSPI2_SCLK 0x185
> +
> +#define MX51_ESDHC1_PINGRP1 \
> + MX51_PAD_SD1_CMD__SD1_CMD 0x400020d5 \
> + MX51_PAD_SD1_CLK__SD1_CLK 0x20d5 \
> + MX51_PAD_SD1_DATA0__SD1_DATA0 0x20d5 \
> + MX51_PAD_SD1_DATA1__SD1_DATA1 0x20d5 \
> + MX51_PAD_SD1_DATA2__SD1_DATA2 0x20d5 \
> + MX51_PAD_SD1_DATA3__SD1_DATA3 0x20d5
> +
> +#define MX51_ESDHC2_PINGRP1 \
> + MX51_PAD_SD2_CMD__SD2_CMD 0x400020d5 \
> + MX51_PAD_SD2_CLK__SD2_CLK 0x20d5 \
> + MX51_PAD_SD2_DATA0__SD2_DATA0 0x20d5 \
> + MX51_PAD_SD2_DATA1__SD2_DATA1 0x20d5 \
> + MX51_PAD_SD2_DATA2__SD2_DATA2 0x20d5 \
> + MX51_PAD_SD2_DATA3__SD2_DATA3 0x20d5
> +
> +#define MX51_I2C1_PINGRP1 \
> + MX51_PAD_SD2_CMD__I2C1_SCL 0x400001ed \
> + MX51_PAD_SD2_CLK__I2C1_SDA 0x400001ed
> +
> +#define MX51_I2C2_PINGRP1 \
> + MX51_PAD_KEY_COL4__I2C2_SCL 0x400001ed \
> + MX51_PAD_KEY_COL5__I2C2_SDA 0x400001ed
> +
> +#define MX51_I2C2_PINGRP2 \
> + MX51_PAD_EIM_D27__I2C2_SCL 0x400001ed \
> + MX51_PAD_EIM_D24__I2C2_SDA 0x400001ed
> +
> +#define MX51_I2C2_PINGRP3 \
> + MX51_PAD_GPIO1_2__I2C2_SCL 0x400001ed \
> + MX51_PAD_GPIO1_3__I2C2_SDA 0x400001ed
> +
> +#define MX51_IPU_DISP1_PINGRP1 \
> + MX51_PAD_DISP1_DAT0__DISP1_DAT0 0x5 \
> + MX51_PAD_DISP1_DAT1__DISP1_DAT1 0x5 \
> + MX51_PAD_DISP1_DAT2__DISP1_DAT2 0x5 \
> + MX51_PAD_DISP1_DAT3__DISP1_DAT3 0x5 \
> + MX51_PAD_DISP1_DAT4__DISP1_DAT4 0x5 \
> + MX51_PAD_DISP1_DAT5__DISP1_DAT5 0x5 \
> + MX51_PAD_DISP1_DAT6__DISP1_DAT6 0x5 \
> + MX51_PAD_DISP1_DAT7__DISP1_DAT7 0x5 \
> + MX51_PAD_DISP1_DAT8__DISP1_DAT8 0x5 \
> + MX51_PAD_DISP1_DAT9__DISP1_DAT9 0x5 \
> + MX51_PAD_DISP1_DAT10__DISP1_DAT10 0x5 \
> + MX51_PAD_DISP1_DAT11__DISP1_DAT11 0x5 \
> + MX51_PAD_DISP1_DAT12__DISP1_DAT12 0x5 \
> + MX51_PAD_DISP1_DAT13__DISP1_DAT13 0x5 \
> + MX51_PAD_DISP1_DAT14__DISP1_DAT14 0x5 \
> + MX51_PAD_DISP1_DAT15__DISP1_DAT15 0x5 \
> + MX51_PAD_DISP1_DAT16__DISP1_DAT16 0x5 \
> + MX51_PAD_DISP1_DAT17__DISP1_DAT17 0x5 \
> + MX51_PAD_DISP1_DAT18__DISP1_DAT18 0x5 \
> + MX51_PAD_DISP1_DAT19__DISP1_DAT19 0x5 \
> + MX51_PAD_DISP1_DAT20__DISP1_DAT20 0x5 \
> + MX51_PAD_DISP1_DAT21__DISP1_DAT21 0x5 \
> + MX51_PAD_DISP1_DAT22__DISP1_DAT22 0x5 \
> + MX51_PAD_DISP1_DAT23__DISP1_DAT23 0x5 \
> + MX51_PAD_DI1_PIN2__DI1_PIN2 0x5 \
> + MX51_PAD_DI1_PIN3__DI1_PIN3 0x5
> +
> +#define MX51_IPU_DISP2_PINGRP1 \
> + MX51_PAD_DISP2_DAT0__DISP2_DAT0 0x5 \
> + MX51_PAD_DISP2_DAT1__DISP2_DAT1 0x5 \
> + MX51_PAD_DISP2_DAT2__DISP2_DAT2 0x5 \
> + MX51_PAD_DISP2_DAT3__DISP2_DAT3 0x5 \
> + MX51_PAD_DISP2_DAT4__DISP2_DAT4 0x5 \
> + MX51_PAD_DISP2_DAT5__DISP2_DAT5 0x5 \
> + MX51_PAD_DISP2_DAT6__DISP2_DAT6 0x5 \
> + MX51_PAD_DISP2_DAT7__DISP2_DAT7 0x5 \
> + MX51_PAD_DISP2_DAT8__DISP2_DAT8 0x5 \
> + MX51_PAD_DISP2_DAT9__DISP2_DAT9 0x5 \
> + MX51_PAD_DISP2_DAT10__DISP2_DAT10 0x5 \
> + MX51_PAD_DISP2_DAT11__DISP2_DAT11 0x5 \
> + MX51_PAD_DISP2_DAT12__DISP2_DAT12 0x5 \
> + MX51_PAD_DISP2_DAT13__DISP2_DAT13 0x5 \
> + MX51_PAD_DISP2_DAT14__DISP2_DAT14 0x5 \
> + MX51_PAD_DISP2_DAT15__DISP2_DAT15 0x5 \
> + MX51_PAD_DI2_PIN2__DI2_PIN2 0x5 \
> + MX51_PAD_DI2_PIN3__DI2_PIN3 0x5 \
> + MX51_PAD_DI2_DISP_CLK__DI2_DISP_CLK 0x5 \
> + MX51_PAD_DI_GP4__DI2_PIN15 0x5
> +
> +#define MX51_KPP_PINGRP1 \
> + MX51_PAD_KEY_ROW0__KEY_ROW0 0xe0 \
> + MX51_PAD_KEY_ROW1__KEY_ROW1 0xe0 \
> + MX51_PAD_KEY_ROW2__KEY_ROW2 0xe0 \
> + MX51_PAD_KEY_ROW3__KEY_ROW3 0xe0 \
> + MX51_PAD_KEY_COL0__KEY_COL0 0xe8 \
> + MX51_PAD_KEY_COL1__KEY_COL1 0xe8 \
> + MX51_PAD_KEY_COL2__KEY_COL2 0xe8 \
> + MX51_PAD_KEY_COL3__KEY_COL3 0xe8
> +
> +#define MX51_PATA_PINGRP1 \
> + MX51_PAD_NANDF_WE_B__PATA_DIOW 0x2004 \
> + MX51_PAD_NANDF_RE_B__PATA_DIOR 0x2004 \
> + MX51_PAD_NANDF_ALE__PATA_BUFFER_EN 0x2004 \
> + MX51_PAD_NANDF_CLE__PATA_RESET_B 0x2004 \
> + MX51_PAD_NANDF_WP_B__PATA_DMACK 0x2004 \
> + MX51_PAD_NANDF_RB0__PATA_DMARQ 0x2004 \
> + MX51_PAD_NANDF_RB1__PATA_IORDY 0x2004 \
> + MX51_PAD_GPIO_NAND__PATA_INTRQ 0x2004 \
> + MX51_PAD_NANDF_CS2__PATA_CS_0 0x2004 \
> + MX51_PAD_NANDF_CS3__PATA_CS_1 0x2004 \
> + MX51_PAD_NANDF_CS4__PATA_DA_0 0x2004 \
> + MX51_PAD_NANDF_CS5__PATA_DA_1 0x2004 \
> + MX51_PAD_NANDF_CS6__PATA_DA_2 0x2004 \
> + MX51_PAD_NANDF_D15__PATA_DATA15 0x2004 \
> + MX51_PAD_NANDF_D14__PATA_DATA14 0x2004 \
> + MX51_PAD_NANDF_D13__PATA_DATA13 0x2004 \
> + MX51_PAD_NANDF_D12__PATA_DATA12 0x2004 \
> + MX51_PAD_NANDF_D11__PATA_DATA11 0x2004 \
> + MX51_PAD_NANDF_D10__PATA_DATA10 0x2004 \
> + MX51_PAD_NANDF_D9__PATA_DATA9 0x2004 \
> + MX51_PAD_NANDF_D8__PATA_DATA8 0x2004 \
> + MX51_PAD_NANDF_D7__PATA_DATA7 0x2004 \
> + MX51_PAD_NANDF_D6__PATA_DATA6 0x2004 \
> + MX51_PAD_NANDF_D5__PATA_DATA5 0x2004 \
> + MX51_PAD_NANDF_D4__PATA_DATA4 0x2004 \
> + MX51_PAD_NANDF_D3__PATA_DATA3 0x2004 \
> + MX51_PAD_NANDF_D2__PATA_DATA2 0x2004 \
> + MX51_PAD_NANDF_D1__PATA_DATA1 0x2004 \
> + MX51_PAD_NANDF_D0__PATA_DATA0 0x2004
> +
> +#define MX51_UART1_PINGRP1 \
> + MX51_PAD_UART1_RXD__UART1_RXD 0x1c5 \
> + MX51_PAD_UART1_TXD__UART1_TXD 0x1c5
> +
> +#define MX51_UART1_RTSCTS_PINGRP1 \
> + MX51_PAD_UART1_RTS__UART1_RTS 0x1c5 \
> + MX51_PAD_UART1_CTS__UART1_CTS 0x1c5
> +
> +#define MX51_UART2_PINGRP1 \
> + MX51_PAD_UART2_RXD__UART2_RXD 0x1c5 \
> + MX51_PAD_UART2_TXD__UART2_TXD 0x1c5
> +
> +#define MX51_UART3_PINGRP1 \
> + MX51_PAD_EIM_D25__UART3_RXD 0x1c5 \
> + MX51_PAD_EIM_D26__UART3_TXD 0x1c5
> +
> +#define MX51_UART3_RTSCTS_PINGRP1 \
> + MX51_PAD_EIM_D27__UART3_RTS 0x1c5 \
> + MX51_PAD_EIM_D24__UART3_CTS 0x1c5
> +
> +#define MX51_UART3_PINGRP2 \
> + MX51_PAD_UART3_RXD__UART3_RXD 0x1c5 \
> + MX51_PAD_UART3_TXD__UART3_TXD 0x1c5
> +
> +#define MX51_UART3_RTSCTS_PINGRP2 \
> + MX51_PAD_KEY_COL4__UART3_RTS 0x1c5 \
> + MX51_PAD_KEY_COL5__UART3_CTS 0x1c5
> +
> +#define MX51_USBH1_PINGRP1 \
> + MX51_PAD_USBH1_DATA0__USBH1_DATA0 0x1e5 \
> + MX51_PAD_USBH1_DATA1__USBH1_DATA1 0x1e5 \
> + MX51_PAD_USBH1_DATA2__USBH1_DATA2 0x1e5 \
> + MX51_PAD_USBH1_DATA3__USBH1_DATA3 0x1e5 \
> + MX51_PAD_USBH1_DATA4__USBH1_DATA4 0x1e5 \
> + MX51_PAD_USBH1_DATA5__USBH1_DATA5 0x1e5 \
> + MX51_PAD_USBH1_DATA6__USBH1_DATA6 0x1e5 \
> + MX51_PAD_USBH1_DATA7__USBH1_DATA7 0x1e5 \
> + MX51_PAD_USBH1_CLK__USBH1_CLK 0x1e5 \
> + MX51_PAD_USBH1_DIR__USBH1_DIR 0x1e5 \
> + MX51_PAD_USBH1_NXT__USBH1_NXT 0x1e5 \
> + MX51_PAD_USBH1_STP__USBH1_STP 0x1e5
> +
> +#define MX51_USBH2_PINGRP1 \
> + MX51_PAD_EIM_D16__USBH2_DATA0 0x1e5 \
> + MX51_PAD_EIM_D17__USBH2_DATA1 0x1e5 \
> + MX51_PAD_EIM_D18__USBH2_DATA2 0x1e5 \
> + MX51_PAD_EIM_D19__USBH2_DATA3 0x1e5 \
> + MX51_PAD_EIM_D20__USBH2_DATA4 0x1e5 \
> + MX51_PAD_EIM_D21__USBH2_DATA5 0x1e5 \
> + MX51_PAD_EIM_D22__USBH2_DATA6 0x1e5 \
> + MX51_PAD_EIM_D23__USBH2_DATA7 0x1e5 \
> + MX51_PAD_EIM_A24__USBH2_CLK 0x1e5 \
> + MX51_PAD_EIM_A25__USBH2_DIR 0x1e5 \
> + MX51_PAD_EIM_A27__USBH2_NXT 0x1e5 \
> + MX51_PAD_EIM_A26__USBH2_STP 0x1e5
> +
> +#endif /* __DTS_IMX51_PINGRP_H */
> diff --git a/arch/arm/dts/imx51.dtsi b/arch/arm/dts/imx51.dtsi
> index c105daf..61a2552 100644
> --- a/arch/arm/dts/imx51.dtsi
> +++ b/arch/arm/dts/imx51.dtsi
> @@ -11,7 +11,10 @@
> */
>
> #include "skeleton.dtsi"
> -#include "imx51-pinfunc.h"
> +#include "imx51-pingrp.h"
> +#include <dt-bindings/interrupt-controller/irq.h>
> +#include <dt-bindings/clock/imx5-clock.h>
> +#include <dt-bindings/gpio/gpio.h>
>
> / {
> aliases {
> @@ -21,11 +24,6 @@
> gpio3 = &gpio4;
> i2c0 = &i2c1;
> i2c1 = &i2c2;
> - mmc0 = &esdhc1;
> - mmc1 = &esdhc2;
> - mmc2 = &esdhc3;
> - mmc3 = &esdhc4;
> - pata0 = &pata;
> serial0 = &uart1;
> serial1 = &uart2;
> serial2 = &uart3;
> @@ -69,18 +67,32 @@
> cpus {
> #address-cells = <1>;
> #size-cells = <0>;
> - cpu@0 {
> + cpu: cpu@0 {
> device_type = "cpu";
> compatible = "arm,cortex-a8";
> reg = <0>;
> - clock-latency = <61036>; /* two CLK32 periods */
> - clocks = <&clks 24>;
> + clock-latency = <62500>;
> + clocks = <&clks IMX5_CLK_CPU_PODF>;
> clock-names = "cpu";
> operating-points = <
> - /* kHz uV (No regulator support) */
> - 160000 0
> - 800000 0
> + 166000 1000000
> + 600000 1050000
> + 800000 1100000
> >;
> + voltage-tolerance = <5>;
> + };
> + };
> +
> + usbphy {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + compatible = "simple-bus";
> +
> + usbphy0: usbphy@0 {
> + compatible = "usb-nop-xceiv";
> + reg = <0>;
> + clocks = <&clks IMX5_CLK_USB_PHY_GATE>;
> + clock-names = "main_clk";
> };
> };
>
> @@ -101,7 +113,9 @@
> compatible = "fsl,imx51-ipu";
> reg = <0x40000000 0x20000000>;
> interrupts = <11 10>;
> - clocks = <&clks 59>, <&clks 110>, <&clks 61>;
> + clocks = <&clks IMX5_CLK_IPU_GATE>,
> + <&clks IMX5_CLK_IPU_DI0_GATE>,
> + <&clks IMX5_CLK_IPU_DI1_GATE>;
> clock-names = "bus", "di0", "di1";
> resets = <&src 2>;
> };
> @@ -124,7 +138,9 @@
> compatible = "fsl,imx51-esdhc";
> reg = <0x70004000 0x4000>;
> interrupts = <1>;
> - clocks = <&clks 44>, <&clks 0>, <&clks 71>;
> + clocks = <&clks IMX5_CLK_ESDHC1_IPG_GATE>,
> + <&clks IMX5_CLK_DUMMY>,
> + <&clks IMX5_CLK_ESDHC1_PER_GATE>;
> clock-names = "ipg", "ahb", "per";
> status = "disabled";
> };
> @@ -133,7 +149,9 @@
> compatible = "fsl,imx51-esdhc";
> reg = <0x70008000 0x4000>;
> interrupts = <2>;
> - clocks = <&clks 45>, <&clks 0>, <&clks 72>;
> + clocks = <&clks IMX5_CLK_ESDHC2_IPG_GATE>,
> + <&clks IMX5_CLK_DUMMY>,
> + <&clks IMX5_CLK_ESDHC2_PER_GATE>;
> clock-names = "ipg", "ahb", "per";
> bus-width = <4>;
> status = "disabled";
> @@ -143,7 +161,8 @@
> compatible = "fsl,imx51-uart", "fsl,imx21-uart";
> reg = <0x7000c000 0x4000>;
> interrupts = <33>;
> - clocks = <&clks 32>, <&clks 33>;
> + clocks = <&clks IMX5_CLK_UART3_IPG_GATE>,
> + <&clks IMX5_CLK_UART3_PER_GATE>;
> clock-names = "ipg", "per";
> status = "disabled";
> };
> @@ -154,7 +173,8 @@
> compatible = "fsl,imx51-ecspi";
> reg = <0x70010000 0x4000>;
> interrupts = <36>;
> - clocks = <&clks 51>, <&clks 52>;
> + clocks = <&clks IMX5_CLK_ECSPI1_IPG_GATE>,
> + <&clks IMX5_CLK_ECSPI1_PER_GATE>;
> clock-names = "ipg", "per";
> status = "disabled";
> };
> @@ -163,9 +183,9 @@
> compatible = "fsl,imx51-ssi", "fsl,imx21-ssi";
> reg = <0x70014000 0x4000>;
> interrupts = <30>;
> - clocks = <&clks 49>;
> - dmas = <&sdma 24 1 0>,
> - <&sdma 25 1 0>;
> + clocks = <&clks IMX5_CLK_SSI2_IPG_GATE>;
> + dmas = <&sdma 24 22 0>,
> + <&sdma 25 22 0>;
> dma-names = "rx", "tx";
> fsl,fifo-depth = <15>;
> fsl,ssi-dma-events = <25 24 23 22>; /* TX0 RX0 TX1 RX1 */
> @@ -176,7 +196,9 @@
> compatible = "fsl,imx51-esdhc";
> reg = <0x70020000 0x4000>;
> interrupts = <3>;
> - clocks = <&clks 46>, <&clks 0>, <&clks 73>;
> + clocks = <&clks IMX5_CLK_ESDHC3_IPG_GATE>,
> + <&clks IMX5_CLK_DUMMY>,
> + <&clks IMX5_CLK_ESDHC3_PER_GATE>;
> clock-names = "ipg", "ahb", "per";
> bus-width = <4>;
> status = "disabled";
> @@ -186,25 +208,20 @@
> compatible = "fsl,imx51-esdhc";
> reg = <0x70024000 0x4000>;
> interrupts = <4>;
> - clocks = <&clks 47>, <&clks 0>, <&clks 74>;
> + clocks = <&clks IMX5_CLK_ESDHC4_IPG_GATE>,
> + <&clks IMX5_CLK_DUMMY>,
> + <&clks IMX5_CLK_ESDHC4_PER_GATE>;
> clock-names = "ipg", "ahb", "per";
> bus-width = <4>;
> status = "disabled";
> };
> };
>
> - usbphy0: usbphy@0 {
> - compatible = "usb-nop-xceiv";
> - clocks = <&clks 124>;
> - clock-names = "main_clk";
> - status = "okay";
> - };
> -
> usbotg: usb@73f80000 {
> compatible = "fsl,imx51-usb", "fsl,imx27-usb";
> reg = <0x73f80000 0x0200>;
> interrupts = <18>;
> - clocks = <&clks 108>;
> + clocks = <&clks IMX5_CLK_USBOH3_GATE>;
> fsl,usbmisc = <&usbmisc 0>;
> fsl,usbphy = <&usbphy0>;
> status = "disabled";
> @@ -214,7 +231,7 @@
> compatible = "fsl,imx51-usb", "fsl,imx27-usb";
> reg = <0x73f80200 0x0200>;
> interrupts = <14>;
> - clocks = <&clks 108>;
> + clocks = <&clks IMX5_CLK_USBOH3_GATE>;
> fsl,usbmisc = <&usbmisc 1>;
> status = "disabled";
> };
> @@ -223,7 +240,7 @@
> compatible = "fsl,imx51-usb", "fsl,imx27-usb";
> reg = <0x73f80400 0x0200>;
> interrupts = <16>;
> - clocks = <&clks 108>;
> + clocks = <&clks IMX5_CLK_USBOH3_GATE>;
> fsl,usbmisc = <&usbmisc 2>;
> status = "disabled";
> };
> @@ -232,7 +249,7 @@
> compatible = "fsl,imx51-usb", "fsl,imx27-usb";
> reg = <0x73f80600 0x0200>;
> interrupts = <17>;
> - clocks = <&clks 108>;
> + clocks = <&clks IMX5_CLK_USBOH3_GATE>;
> fsl,usbmisc = <&usbmisc 3>;
> status = "disabled";
> };
> @@ -241,7 +258,7 @@
> #index-cells = <1>;
> compatible = "fsl,imx51-usbmisc";
> reg = <0x73f80800 0x200>;
> - clocks = <&clks 108>;
> + clocks = <&clks IMX5_CLK_USBOH3_GATE>;
> };
>
> gpio1: gpio@73f84000 {
> @@ -288,7 +305,7 @@
> compatible = "fsl,imx51-kpp", "fsl,imx21-kpp";
> reg = <0x73f94000 0x4000>;
> interrupts = <60>;
> - clocks = <&clks 0>;
> + clocks = <&clks IMX5_CLK_DUMMY>;
> status = "disabled";
> };
>
> @@ -296,14 +313,14 @@
> compatible = "fsl,imx51-wdt", "fsl,imx21-wdt";
> reg = <0x73f98000 0x4000>;
> interrupts = <58>;
> - clocks = <&clks 0>;
> + clocks = <&clks IMX5_CLK_DUMMY>;
> };
>
> wdog2: wdog@73f9c000 {
> compatible = "fsl,imx51-wdt", "fsl,imx21-wdt";
> reg = <0x73f9c000 0x4000>;
> interrupts = <59>;
> - clocks = <&clks 0>;
> + clocks = <&clks IMX5_CLK_DUMMY>;
> status = "disabled";
> };
>
> @@ -311,7 +328,8 @@
> compatible = "fsl,imx51-gpt", "fsl,imx31-gpt";
> reg = <0x73fa0000 0x4000>;
> interrupts = <39>;
> - clocks = <&clks 36>, <&clks 41>;
> + clocks = <&clks IMX5_CLK_GPT_IPG_GATE>,
> + <&clks IMX5_CLK_GPT_HF_GATE>;
> clock-names = "ipg", "per";
> };
>
> @@ -324,7 +342,8 @@
> #pwm-cells = <2>;
> compatible = "fsl,imx51-pwm", "fsl,imx27-pwm";
> reg = <0x73fb4000 0x4000>;
> - clocks = <&clks 37>, <&clks 38>;
> + clocks = <&clks IMX5_CLK_PWM1_IPG_GATE>,
> + <&clks IMX5_CLK_PWM1_HF_GATE>;
> clock-names = "ipg", "per";
> interrupts = <61>;
> };
> @@ -333,7 +352,8 @@
> #pwm-cells = <2>;
> compatible = "fsl,imx51-pwm", "fsl,imx27-pwm";
> reg = <0x73fb8000 0x4000>;
> - clocks = <&clks 39>, <&clks 40>;
> + clocks = <&clks IMX5_CLK_PWM2_IPG_GATE>,
> + <&clks IMX5_CLK_PWM2_HF_GATE>;
> clock-names = "ipg", "per";
> interrupts = <94>;
> };
> @@ -342,7 +362,8 @@
> compatible = "fsl,imx51-uart", "fsl,imx21-uart";
> reg = <0x73fbc000 0x4000>;
> interrupts = <31>;
> - clocks = <&clks 28>, <&clks 29>;
> + clocks = <&clks IMX5_CLK_UART1_IPG_GATE>,
> + <&clks IMX5_CLK_UART1_PER_GATE>;
> clock-names = "ipg", "per";
> status = "disabled";
> };
> @@ -351,7 +372,8 @@
> compatible = "fsl,imx51-uart", "fsl,imx21-uart";
> reg = <0x73fc0000 0x4000>;
> interrupts = <32>;
> - clocks = <&clks 30>, <&clks 31>;
> + clocks = <&clks IMX5_CLK_UART2_IPG_GATE>,
> + <&clks IMX5_CLK_UART2_PER_GATE>;
> clock-names = "ipg", "per";
> status = "disabled";
> };
> @@ -381,14 +403,14 @@
> compatible = "fsl,imx51-iim", "fsl,imx27-iim";
> reg = <0x83f98000 0x4000>;
> interrupts = <69>;
> - clocks = <&clks 107>;
> + clocks = <&clks IMX5_CLK_IIM_GATE>;
> };
>
> owire: owire@83fa4000 {
> compatible = "fsl,imx51-owire", "fsl,imx21-owire";
> reg = <0x83fa4000 0x4000>;
> interrupts = <88>;
> - clocks = <&clks 159>;
> + clocks = <&clks IMX5_CLK_OWIRE_GATE>;
> status = "disabled";
> };
>
> @@ -398,7 +420,8 @@
> compatible = "fsl,imx51-ecspi";
> reg = <0x83fac000 0x4000>;
> interrupts = <37>;
> - clocks = <&clks 53>, <&clks 54>;
> + clocks = <&clks IMX5_CLK_ECSPI2_IPG_GATE>,
> + <&clks IMX5_CLK_ECSPI2_PER_GATE>;
> clock-names = "ipg", "per";
> status = "disabled";
> };
> @@ -407,7 +430,8 @@
> compatible = "fsl,imx51-sdma", "fsl,imx35-sdma";
> reg = <0x83fb0000 0x4000>;
> interrupts = <6>;
> - clocks = <&clks 56>, <&clks 56>;
> + clocks = <&clks IMX5_CLK_SDMA_GATE>,
> + <&clks IMX5_CLK_SDMA_GATE>;
> clock-names = "ipg", "ahb";
> #dma-cells = <3>;
> fsl,sdma-ram-script-name = "imx/sdma/sdma-imx51.bin";
> @@ -419,7 +443,8 @@
> compatible = "fsl,imx51-cspi", "fsl,imx35-cspi";
> reg = <0x83fc0000 0x4000>;
> interrupts = <38>;
> - clocks = <&clks 55>, <&clks 55>;
> + clocks = <&clks IMX5_CLK_CSPI_IPG_GATE>,
> + <&clks IMX5_CLK_CSPI_IPG_GATE>;
> clock-names = "ipg", "per";
> status = "disabled";
> };
> @@ -430,7 +455,7 @@
> compatible = "fsl,imx51-i2c", "fsl,imx21-i2c";
> reg = <0x83fc4000 0x4000>;
> interrupts = <63>;
> - clocks = <&clks 35>;
> + clocks = <&clks IMX5_CLK_I2C2_GATE>;
> status = "disabled";
> };
>
> @@ -440,7 +465,7 @@
> compatible = "fsl,imx51-i2c", "fsl,imx21-i2c";
> reg = <0x83fc8000 0x4000>;
> interrupts = <62>;
> - clocks = <&clks 34>;
> + clocks = <&clks IMX5_CLK_I2C1_GATE>;
> status = "disabled";
> };
>
> @@ -448,7 +473,7 @@
> compatible = "fsl,imx51-ssi", "fsl,imx21-ssi";
> reg = <0x83fcc000 0x4000>;
> interrupts = <29>;
> - clocks = <&clks 48>;
> + clocks = <&clks IMX5_CLK_SSI1_IPG_GATE>;
> dmas = <&sdma 28 0 0>,
> <&sdma 29 0 0>;
> dma-names = "rx", "tx";
> @@ -460,6 +485,8 @@
> audmux: audmux@83fd0000 {
> compatible = "fsl,imx51-audmux", "fsl,imx31-audmux";
> reg = <0x83fd0000 0x4000>;
> + clocks = <&clks IMX5_CLK_DUMMY>;
> + clock-names = "audmux";
> status = "disabled";
> };
>
> @@ -468,7 +495,7 @@
> #size-cells = <1>;
> compatible = "fsl,imx51-weim";
> reg = <0x83fda000 0x1000>;
> - clocks = <&clks 57>;
> + clocks = <&clks IMX5_CLK_EMI_SLOW_GATE>;
> ranges = <
> 0 0 0xb0000000 0x08000000
> 1 0 0xb8000000 0x08000000
> @@ -484,7 +511,7 @@
> compatible = "fsl,imx51-nand";
> reg = <0x83fdb000 0x1000 0xcfff0000 0x10000>;
> interrupts = <8>;
> - clocks = <&clks 60>;
> + clocks = <&clks IMX5_CLK_NFC_GATE>;
> status = "disabled";
> };
>
> @@ -492,7 +519,7 @@
> compatible = "fsl,imx51-pata", "fsl,imx27-pata";
> reg = <0x83fe0000 0x4000>;
> interrupts = <70>;
> - clocks = <&clks 172>;
> + clocks = <&clks IMX5_CLK_PATA_GATE>;
> status = "disabled";
> };
>
> @@ -500,7 +527,7 @@
> compatible = "fsl,imx51-ssi", "fsl,imx21-ssi";
> reg = <0x83fe8000 0x4000>;
> interrupts = <96>;
> - clocks = <&clks 50>;
> + clocks = <&clks IMX5_CLK_SSI3_IPG_GATE>;
> dmas = <&sdma 46 0 0>,
> <&sdma 47 0 0>;
> dma-names = "rx", "tx";
> @@ -513,336 +540,12 @@
> compatible = "fsl,imx51-fec", "fsl,imx27-fec";
> reg = <0x83fec000 0x4000>;
> interrupts = <87>;
> - clocks = <&clks 42>, <&clks 42>, <&clks 42>;
> + clocks = <&clks IMX5_CLK_FEC_GATE>,
> + <&clks IMX5_CLK_FEC_GATE>,
> + <&clks IMX5_CLK_FEC_GATE>;
> clock-names = "ipg", "ahb", "ptp";
> status = "disabled";
> };
> };
> };
> };
> -
> -&iomuxc {
> - audmux {
> - pinctrl_audmux_1: audmuxgrp-1 {
> - fsl,pins = <
> - MX51_PAD_AUD3_BB_TXD__AUD3_TXD 0x80000000
> - MX51_PAD_AUD3_BB_RXD__AUD3_RXD 0x80000000
> - MX51_PAD_AUD3_BB_CK__AUD3_TXC 0x80000000
> - MX51_PAD_AUD3_BB_FS__AUD3_TXFS 0x80000000
> - >;
> - };
> - };
> -
> - fec {
> - pinctrl_fec_1: fecgrp-1 {
> - fsl,pins = <
> - MX51_PAD_EIM_EB2__FEC_MDIO 0x80000000
> - MX51_PAD_EIM_EB3__FEC_RDATA1 0x80000000
> - MX51_PAD_EIM_CS2__FEC_RDATA2 0x80000000
> - MX51_PAD_EIM_CS3__FEC_RDATA3 0x80000000
> - MX51_PAD_EIM_CS4__FEC_RX_ER 0x80000000
> - MX51_PAD_EIM_CS5__FEC_CRS 0x80000000
> - MX51_PAD_NANDF_RB2__FEC_COL 0x80000000
> - MX51_PAD_NANDF_RB3__FEC_RX_CLK 0x80000000
> - MX51_PAD_NANDF_D9__FEC_RDATA0 0x80000000
> - MX51_PAD_NANDF_D8__FEC_TDATA0 0x80000000
> - MX51_PAD_NANDF_CS2__FEC_TX_ER 0x80000000
> - MX51_PAD_NANDF_CS3__FEC_MDC 0x80000000
> - MX51_PAD_NANDF_CS4__FEC_TDATA1 0x80000000
> - MX51_PAD_NANDF_CS5__FEC_TDATA2 0x80000000
> - MX51_PAD_NANDF_CS6__FEC_TDATA3 0x80000000
> - MX51_PAD_NANDF_CS7__FEC_TX_EN 0x80000000
> - MX51_PAD_NANDF_RDY_INT__FEC_TX_CLK 0x80000000
> - >;
> - };
> -
> - pinctrl_fec_2: fecgrp-2 {
> - fsl,pins = <
> - MX51_PAD_DI_GP3__FEC_TX_ER 0x80000000
> - MX51_PAD_DI2_PIN4__FEC_CRS 0x80000000
> - MX51_PAD_DI2_PIN2__FEC_MDC 0x80000000
> - MX51_PAD_DI2_PIN3__FEC_MDIO 0x80000000
> - MX51_PAD_DI2_DISP_CLK__FEC_RDATA1 0x80000000
> - MX51_PAD_DI_GP4__FEC_RDATA2 0x80000000
> - MX51_PAD_DISP2_DAT0__FEC_RDATA3 0x80000000
> - MX51_PAD_DISP2_DAT1__FEC_RX_ER 0x80000000
> - MX51_PAD_DISP2_DAT6__FEC_TDATA1 0x80000000
> - MX51_PAD_DISP2_DAT7__FEC_TDATA2 0x80000000
> - MX51_PAD_DISP2_DAT8__FEC_TDATA3 0x80000000
> - MX51_PAD_DISP2_DAT9__FEC_TX_EN 0x80000000
> - MX51_PAD_DISP2_DAT10__FEC_COL 0x80000000
> - MX51_PAD_DISP2_DAT11__FEC_RX_CLK 0x80000000
> - MX51_PAD_DISP2_DAT12__FEC_RX_DV 0x80000000
> - MX51_PAD_DISP2_DAT13__FEC_TX_CLK 0x80000000
> - MX51_PAD_DISP2_DAT14__FEC_RDATA0 0x80000000
> - MX51_PAD_DISP2_DAT15__FEC_TDATA0 0x80000000
> - >;
> - };
> - };
> -
> - ecspi1 {
> - pinctrl_ecspi1_1: ecspi1grp-1 {
> - fsl,pins = <
> - MX51_PAD_CSPI1_MISO__ECSPI1_MISO 0x185
> - MX51_PAD_CSPI1_MOSI__ECSPI1_MOSI 0x185
> - MX51_PAD_CSPI1_SCLK__ECSPI1_SCLK 0x185
> - >;
> - };
> - };
> -
> - ecspi2 {
> - pinctrl_ecspi2_1: ecspi2grp-1 {
> - fsl,pins = <
> - MX51_PAD_NANDF_RB3__ECSPI2_MISO 0x185
> - MX51_PAD_NANDF_D15__ECSPI2_MOSI 0x185
> - MX51_PAD_NANDF_RB2__ECSPI2_SCLK 0x185
> - >;
> - };
> - };
> -
> - esdhc1 {
> - pinctrl_esdhc1_1: esdhc1grp-1 {
> - fsl,pins = <
> - MX51_PAD_SD1_CMD__SD1_CMD 0x400020d5
> - MX51_PAD_SD1_CLK__SD1_CLK 0x20d5
> - MX51_PAD_SD1_DATA0__SD1_DATA0 0x20d5
> - MX51_PAD_SD1_DATA1__SD1_DATA1 0x20d5
> - MX51_PAD_SD1_DATA2__SD1_DATA2 0x20d5
> - MX51_PAD_SD1_DATA3__SD1_DATA3 0x20d5
> - >;
> - };
> - };
> -
> - esdhc2 {
> - pinctrl_esdhc2_1: esdhc2grp-1 {
> - fsl,pins = <
> - MX51_PAD_SD2_CMD__SD2_CMD 0x400020d5
> - MX51_PAD_SD2_CLK__SD2_CLK 0x20d5
> - MX51_PAD_SD2_DATA0__SD2_DATA0 0x20d5
> - MX51_PAD_SD2_DATA1__SD2_DATA1 0x20d5
> - MX51_PAD_SD2_DATA2__SD2_DATA2 0x20d5
> - MX51_PAD_SD2_DATA3__SD2_DATA3 0x20d5
> - >;
> - };
> - };
> -
> - i2c2 {
> - pinctrl_i2c2_1: i2c2grp-1 {
> - fsl,pins = <
> - MX51_PAD_KEY_COL4__I2C2_SCL 0x400001ed
> - MX51_PAD_KEY_COL5__I2C2_SDA 0x400001ed
> - >;
> - };
> -
> - pinctrl_i2c2_2: i2c2grp-2 {
> - fsl,pins = <
> - MX51_PAD_EIM_D27__I2C2_SCL 0x400001ed
> - MX51_PAD_EIM_D24__I2C2_SDA 0x400001ed
> - >;
> - };
> -
> - pinctrl_i2c2_3: i2c2grp-3 {
> - fsl,pins = <
> - MX51_PAD_GPIO1_2__I2C2_SCL 0x400001ed
> - MX51_PAD_GPIO1_3__I2C2_SDA 0x400001ed
> - >;
> - };
> - };
> -
> - ipu_disp1 {
> - pinctrl_ipu_disp1_1: ipudisp1grp-1 {
> - fsl,pins = <
> - MX51_PAD_DISP1_DAT0__DISP1_DAT0 0x5
> - MX51_PAD_DISP1_DAT1__DISP1_DAT1 0x5
> - MX51_PAD_DISP1_DAT2__DISP1_DAT2 0x5
> - MX51_PAD_DISP1_DAT3__DISP1_DAT3 0x5
> - MX51_PAD_DISP1_DAT4__DISP1_DAT4 0x5
> - MX51_PAD_DISP1_DAT5__DISP1_DAT5 0x5
> - MX51_PAD_DISP1_DAT6__DISP1_DAT6 0x5
> - MX51_PAD_DISP1_DAT7__DISP1_DAT7 0x5
> - MX51_PAD_DISP1_DAT8__DISP1_DAT8 0x5
> - MX51_PAD_DISP1_DAT9__DISP1_DAT9 0x5
> - MX51_PAD_DISP1_DAT10__DISP1_DAT10 0x5
> - MX51_PAD_DISP1_DAT11__DISP1_DAT11 0x5
> - MX51_PAD_DISP1_DAT12__DISP1_DAT12 0x5
> - MX51_PAD_DISP1_DAT13__DISP1_DAT13 0x5
> - MX51_PAD_DISP1_DAT14__DISP1_DAT14 0x5
> - MX51_PAD_DISP1_DAT15__DISP1_DAT15 0x5
> - MX51_PAD_DISP1_DAT16__DISP1_DAT16 0x5
> - MX51_PAD_DISP1_DAT17__DISP1_DAT17 0x5
> - MX51_PAD_DISP1_DAT18__DISP1_DAT18 0x5
> - MX51_PAD_DISP1_DAT19__DISP1_DAT19 0x5
> - MX51_PAD_DISP1_DAT20__DISP1_DAT20 0x5
> - MX51_PAD_DISP1_DAT21__DISP1_DAT21 0x5
> - MX51_PAD_DISP1_DAT22__DISP1_DAT22 0x5
> - MX51_PAD_DISP1_DAT23__DISP1_DAT23 0x5
> - MX51_PAD_DI1_PIN2__DI1_PIN2 0x5 /* hsync */
> - MX51_PAD_DI1_PIN3__DI1_PIN3 0x5 /* vsync */
> - >;
> - };
> - };
> -
> - ipu_disp2 {
> - pinctrl_ipu_disp2_1: ipudisp2grp-1 {
> - fsl,pins = <
> - MX51_PAD_DISP2_DAT0__DISP2_DAT0 0x5
> - MX51_PAD_DISP2_DAT1__DISP2_DAT1 0x5
> - MX51_PAD_DISP2_DAT2__DISP2_DAT2 0x5
> - MX51_PAD_DISP2_DAT3__DISP2_DAT3 0x5
> - MX51_PAD_DISP2_DAT4__DISP2_DAT4 0x5
> - MX51_PAD_DISP2_DAT5__DISP2_DAT5 0x5
> - MX51_PAD_DISP2_DAT6__DISP2_DAT6 0x5
> - MX51_PAD_DISP2_DAT7__DISP2_DAT7 0x5
> - MX51_PAD_DISP2_DAT8__DISP2_DAT8 0x5
> - MX51_PAD_DISP2_DAT9__DISP2_DAT9 0x5
> - MX51_PAD_DISP2_DAT10__DISP2_DAT10 0x5
> - MX51_PAD_DISP2_DAT11__DISP2_DAT11 0x5
> - MX51_PAD_DISP2_DAT12__DISP2_DAT12 0x5
> - MX51_PAD_DISP2_DAT13__DISP2_DAT13 0x5
> - MX51_PAD_DISP2_DAT14__DISP2_DAT14 0x5
> - MX51_PAD_DISP2_DAT15__DISP2_DAT15 0x5
> - MX51_PAD_DI2_PIN2__DI2_PIN2 0x5 /* hsync */
> - MX51_PAD_DI2_PIN3__DI2_PIN3 0x5 /* vsync */
> - MX51_PAD_DI2_DISP_CLK__DI2_DISP_CLK 0x5 /* CLK */
> - MX51_PAD_DI_GP4__DI2_PIN15 0x5 /* DE */
> - >;
> - };
> - };
> -
> - kpp {
> - pinctrl_kpp_1: kppgrp-1 {
> - fsl,pins = <
> - MX51_PAD_KEY_ROW0__KEY_ROW0 0xe0
> - MX51_PAD_KEY_ROW1__KEY_ROW1 0xe0
> - MX51_PAD_KEY_ROW2__KEY_ROW2 0xe0
> - MX51_PAD_KEY_ROW3__KEY_ROW3 0xe0
> - MX51_PAD_KEY_COL0__KEY_COL0 0xe8
> - MX51_PAD_KEY_COL1__KEY_COL1 0xe8
> - MX51_PAD_KEY_COL2__KEY_COL2 0xe8
> - MX51_PAD_KEY_COL3__KEY_COL3 0xe8
> - >;
> - };
> - };
> -
> - pata {
> - pinctrl_pata_1: patagrp-1 {
> - fsl,pins = <
> - MX51_PAD_NANDF_WE_B__PATA_DIOW 0x2004
> - MX51_PAD_NANDF_RE_B__PATA_DIOR 0x2004
> - MX51_PAD_NANDF_ALE__PATA_BUFFER_EN 0x2004
> - MX51_PAD_NANDF_CLE__PATA_RESET_B 0x2004
> - MX51_PAD_NANDF_WP_B__PATA_DMACK 0x2004
> - MX51_PAD_NANDF_RB0__PATA_DMARQ 0x2004
> - MX51_PAD_NANDF_RB1__PATA_IORDY 0x2004
> - MX51_PAD_GPIO_NAND__PATA_INTRQ 0x2004
> - MX51_PAD_NANDF_CS2__PATA_CS_0 0x2004
> - MX51_PAD_NANDF_CS3__PATA_CS_1 0x2004
> - MX51_PAD_NANDF_CS4__PATA_DA_0 0x2004
> - MX51_PAD_NANDF_CS5__PATA_DA_1 0x2004
> - MX51_PAD_NANDF_CS6__PATA_DA_2 0x2004
> - MX51_PAD_NANDF_D15__PATA_DATA15 0x2004
> - MX51_PAD_NANDF_D14__PATA_DATA14 0x2004
> - MX51_PAD_NANDF_D13__PATA_DATA13 0x2004
> - MX51_PAD_NANDF_D12__PATA_DATA12 0x2004
> - MX51_PAD_NANDF_D11__PATA_DATA11 0x2004
> - MX51_PAD_NANDF_D10__PATA_DATA10 0x2004
> - MX51_PAD_NANDF_D9__PATA_DATA9 0x2004
> - MX51_PAD_NANDF_D8__PATA_DATA8 0x2004
> - MX51_PAD_NANDF_D7__PATA_DATA7 0x2004
> - MX51_PAD_NANDF_D6__PATA_DATA6 0x2004
> - MX51_PAD_NANDF_D5__PATA_DATA5 0x2004
> - MX51_PAD_NANDF_D4__PATA_DATA4 0x2004
> - MX51_PAD_NANDF_D3__PATA_DATA3 0x2004
> - MX51_PAD_NANDF_D2__PATA_DATA2 0x2004
> - MX51_PAD_NANDF_D1__PATA_DATA1 0x2004
> - MX51_PAD_NANDF_D0__PATA_DATA0 0x2004
> - >;
> - };
> - };
> -
> - uart1 {
> - pinctrl_uart1_1: uart1grp-1 {
> - fsl,pins = <
> - MX51_PAD_UART1_RXD__UART1_RXD 0x1c5
> - MX51_PAD_UART1_TXD__UART1_TXD 0x1c5
> - >;
> - };
> -
> - pinctrl_uart1_rtscts_1: uart1rtscts-1 {
> - fsl,pins = <
> - MX51_PAD_UART1_RTS__UART1_RTS 0x1c5
> - MX51_PAD_UART1_CTS__UART1_CTS 0x1c5
> - >;
> - };
> - };
> -
> - uart2 {
> - pinctrl_uart2_1: uart2grp-1 {
> - fsl,pins = <
> - MX51_PAD_UART2_RXD__UART2_RXD 0x1c5
> - MX51_PAD_UART2_TXD__UART2_TXD 0x1c5
> - >;
> - };
> - };
> -
> - uart3 {
> - pinctrl_uart3_1: uart3grp-1 {
> - fsl,pins = <
> - MX51_PAD_EIM_D25__UART3_RXD 0x1c5
> - MX51_PAD_EIM_D26__UART3_TXD 0x1c5
> - >;
> - };
> -
> - pinctrl_uart3_rtscts_1: uart3rtscts-1 {
> - fsl,pins = <
> - MX51_PAD_EIM_D27__UART3_RTS 0x1c5
> - MX51_PAD_EIM_D24__UART3_CTS 0x1c5
> - >;
> - };
> -
> - pinctrl_uart3_2: uart3grp-2 {
> - fsl,pins = <
> - MX51_PAD_UART3_RXD__UART3_RXD 0x1c5
> - MX51_PAD_UART3_TXD__UART3_TXD 0x1c5
> - >;
> - };
> - };
> -
> - usbh1 {
> - pinctrl_usbh1_1: usbh1grp-1 {
> - fsl,pins = <
> - MX51_PAD_USBH1_DATA0__USBH1_DATA0 0x1e5
> - MX51_PAD_USBH1_DATA1__USBH1_DATA1 0x1e5
> - MX51_PAD_USBH1_DATA2__USBH1_DATA2 0x1e5
> - MX51_PAD_USBH1_DATA3__USBH1_DATA3 0x1e5
> - MX51_PAD_USBH1_DATA4__USBH1_DATA4 0x1e5
> - MX51_PAD_USBH1_DATA5__USBH1_DATA5 0x1e5
> - MX51_PAD_USBH1_DATA6__USBH1_DATA6 0x1e5
> - MX51_PAD_USBH1_DATA7__USBH1_DATA7 0x1e5
> - MX51_PAD_USBH1_CLK__USBH1_CLK 0x1e5
> - MX51_PAD_USBH1_DIR__USBH1_DIR 0x1e5
> - MX51_PAD_USBH1_NXT__USBH1_NXT 0x1e5
> - MX51_PAD_USBH1_STP__USBH1_STP 0x1e5
> - >;
> - };
> - };
> -
> - usbh2 {
> - pinctrl_usbh2_1: usbh2grp-1 {
> - fsl,pins = <
> - MX51_PAD_EIM_D16__USBH2_DATA0 0x1e5
> - MX51_PAD_EIM_D17__USBH2_DATA1 0x1e5
> - MX51_PAD_EIM_D18__USBH2_DATA2 0x1e5
> - MX51_PAD_EIM_D19__USBH2_DATA3 0x1e5
> - MX51_PAD_EIM_D20__USBH2_DATA4 0x1e5
> - MX51_PAD_EIM_D21__USBH2_DATA5 0x1e5
> - MX51_PAD_EIM_D22__USBH2_DATA6 0x1e5
> - MX51_PAD_EIM_D23__USBH2_DATA7 0x1e5
> - MX51_PAD_EIM_A24__USBH2_CLK 0x1e5
> - MX51_PAD_EIM_A25__USBH2_DIR 0x1e5
> - MX51_PAD_EIM_A27__USBH2_NXT 0x1e5
> - MX51_PAD_EIM_A26__USBH2_STP 0x1e5
> - >;
> - };
> - };
> -};
> diff --git a/include/dt-bindings/clock/imx5-clock.h b/include/dt-bindings/clock/imx5-clock.h
> new file mode 100644
> index 0000000..5f2667e
> --- /dev/null
> +++ b/include/dt-bindings/clock/imx5-clock.h
> @@ -0,0 +1,203 @@
> +/*
> + * Copyright 2013 Lucas Stach, Pengutronix <l.stach@pengutronix.de>
> + *
> + * 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.
> + *
> + */
> +
> +#ifndef __DT_BINDINGS_CLOCK_IMX5_H
> +#define __DT_BINDINGS_CLOCK_IMX5_H
> +
> +#define IMX5_CLK_DUMMY 0
> +#define IMX5_CLK_CKIL 1
> +#define IMX5_CLK_OSC 2
> +#define IMX5_CLK_CKIH1 3
> +#define IMX5_CLK_CKIH2 4
> +#define IMX5_CLK_AHB 5
> +#define IMX5_CLK_IPG 6
> +#define IMX5_CLK_AXI_A 7
> +#define IMX5_CLK_AXI_B 8
> +#define IMX5_CLK_UART_PRED 9
> +#define IMX5_CLK_UART_ROOT 10
> +#define IMX5_CLK_ESDHC_A_PRED 11
> +#define IMX5_CLK_ESDHC_B_PRED 12
> +#define IMX5_CLK_ESDHC_C_SEL 13
> +#define IMX5_CLK_ESDHC_D_SEL 14
> +#define IMX5_CLK_EMI_SEL 15
> +#define IMX5_CLK_EMI_SLOW_PODF 16
> +#define IMX5_CLK_NFC_PODF 17
> +#define IMX5_CLK_ECSPI_PRED 18
> +#define IMX5_CLK_ECSPI_PODF 19
> +#define IMX5_CLK_USBOH3_PRED 20
> +#define IMX5_CLK_USBOH3_PODF 21
> +#define IMX5_CLK_USB_PHY_PRED 22
> +#define IMX5_CLK_USB_PHY_PODF 23
> +#define IMX5_CLK_CPU_PODF 24
> +#define IMX5_CLK_DI_PRED 25
> +#define IMX5_CLK_TVE_SEL 27
> +#define IMX5_CLK_UART1_IPG_GATE 28
> +#define IMX5_CLK_UART1_PER_GATE 29
> +#define IMX5_CLK_UART2_IPG_GATE 30
> +#define IMX5_CLK_UART2_PER_GATE 31
> +#define IMX5_CLK_UART3_IPG_GATE 32
> +#define IMX5_CLK_UART3_PER_GATE 33
> +#define IMX5_CLK_I2C1_GATE 34
> +#define IMX5_CLK_I2C2_GATE 35
> +#define IMX5_CLK_GPT_IPG_GATE 36
> +#define IMX5_CLK_PWM1_IPG_GATE 37
> +#define IMX5_CLK_PWM1_HF_GATE 38
> +#define IMX5_CLK_PWM2_IPG_GATE 39
> +#define IMX5_CLK_PWM2_HF_GATE 40
> +#define IMX5_CLK_GPT_HF_GATE 41
> +#define IMX5_CLK_FEC_GATE 42
> +#define IMX5_CLK_USBOH3_PER_GATE 43
> +#define IMX5_CLK_ESDHC1_IPG_GATE 44
> +#define IMX5_CLK_ESDHC2_IPG_GATE 45
> +#define IMX5_CLK_ESDHC3_IPG_GATE 46
> +#define IMX5_CLK_ESDHC4_IPG_GATE 47
> +#define IMX5_CLK_SSI1_IPG_GATE 48
> +#define IMX5_CLK_SSI2_IPG_GATE 49
> +#define IMX5_CLK_SSI3_IPG_GATE 50
> +#define IMX5_CLK_ECSPI1_IPG_GATE 51
> +#define IMX5_CLK_ECSPI1_PER_GATE 52
> +#define IMX5_CLK_ECSPI2_IPG_GATE 53
> +#define IMX5_CLK_ECSPI2_PER_GATE 54
> +#define IMX5_CLK_CSPI_IPG_GATE 55
> +#define IMX5_CLK_SDMA_GATE 56
> +#define IMX5_CLK_EMI_SLOW_GATE 57
> +#define IMX5_CLK_IPU_SEL 58
> +#define IMX5_CLK_IPU_GATE 59
> +#define IMX5_CLK_NFC_GATE 60
> +#define IMX5_CLK_IPU_DI1_GATE 61
> +#define IMX5_CLK_VPU_SEL 62
> +#define IMX5_CLK_VPU_GATE 63
> +#define IMX5_CLK_VPU_REFERENCE_GATE 64
> +#define IMX5_CLK_UART4_IPG_GATE 65
> +#define IMX5_CLK_UART4_PER_GATE 66
> +#define IMX5_CLK_UART5_IPG_GATE 67
> +#define IMX5_CLK_UART5_PER_GATE 68
> +#define IMX5_CLK_TVE_GATE 69
> +#define IMX5_CLK_TVE_PRED 70
> +#define IMX5_CLK_ESDHC1_PER_GATE 71
> +#define IMX5_CLK_ESDHC2_PER_GATE 72
> +#define IMX5_CLK_ESDHC3_PER_GATE 73
> +#define IMX5_CLK_ESDHC4_PER_GATE 74
> +#define IMX5_CLK_USB_PHY_GATE 75
> +#define IMX5_CLK_HSI2C_GATE 76
> +#define IMX5_CLK_MIPI_HSC1_GATE 77
> +#define IMX5_CLK_MIPI_HSC2_GATE 78
> +#define IMX5_CLK_MIPI_ESC_GATE 79
> +#define IMX5_CLK_MIPI_HSP_GATE 80
> +#define IMX5_CLK_LDB_DI1_DIV_3_5 81
> +#define IMX5_CLK_LDB_DI1_DIV 82
> +#define IMX5_CLK_LDB_DI0_DIV_3_5 83
> +#define IMX5_CLK_LDB_DI0_DIV 84
> +#define IMX5_CLK_LDB_DI1_GATE 85
> +#define IMX5_CLK_CAN2_SERIAL_GATE 86
> +#define IMX5_CLK_CAN2_IPG_GATE 87
> +#define IMX5_CLK_I2C3_GATE 88
> +#define IMX5_CLK_LP_APM 89
> +#define IMX5_CLK_PERIPH_APM 90
> +#define IMX5_CLK_MAIN_BUS 91
> +#define IMX5_CLK_AHB_MAX 92
> +#define IMX5_CLK_AIPS_TZ1 93
> +#define IMX5_CLK_AIPS_TZ2 94
> +#define IMX5_CLK_TMAX1 95
> +#define IMX5_CLK_TMAX2 96
> +#define IMX5_CLK_TMAX3 97
> +#define IMX5_CLK_SPBA 98
> +#define IMX5_CLK_UART_SEL 99
> +#define IMX5_CLK_ESDHC_A_SEL 100
> +#define IMX5_CLK_ESDHC_B_SEL 101
> +#define IMX5_CLK_ESDHC_A_PODF 102
> +#define IMX5_CLK_ESDHC_B_PODF 103
> +#define IMX5_CLK_ECSPI_SEL 104
> +#define IMX5_CLK_USBOH3_SEL 105
> +#define IMX5_CLK_USB_PHY_SEL 106
> +#define IMX5_CLK_IIM_GATE 107
> +#define IMX5_CLK_USBOH3_GATE 108
> +#define IMX5_CLK_EMI_FAST_GATE 109
> +#define IMX5_CLK_IPU_DI0_GATE 110
> +#define IMX5_CLK_GPC_DVFS 111
> +#define IMX5_CLK_PLL1_SW 112
> +#define IMX5_CLK_PLL2_SW 113
> +#define IMX5_CLK_PLL3_SW 114
> +#define IMX5_CLK_IPU_DI0_SEL 115
> +#define IMX5_CLK_IPU_DI1_SEL 116
> +#define IMX5_CLK_TVE_EXT_SEL 117
> +#define IMX5_CLK_MX51_MIPI 118
> +#define IMX5_CLK_PLL4_SW 119
> +#define IMX5_CLK_LDB_DI1_SEL 120
> +#define IMX5_CLK_DI_PLL4_PODF 121
> +#define IMX5_CLK_LDB_DI0_SEL 122
> +#define IMX5_CLK_LDB_DI0_GATE 123
> +#define IMX5_CLK_USB_PHY1_GATE 124
> +#define IMX5_CLK_USB_PHY2_GATE 125
> +#define IMX5_CLK_PER_LP_APM 126
> +#define IMX5_CLK_PER_PRED1 127
> +#define IMX5_CLK_PER_PRED2 128
> +#define IMX5_CLK_PER_PODF 129
> +#define IMX5_CLK_PER_ROOT 130
> +#define IMX5_CLK_SSI_APM 131
> +#define IMX5_CLK_SSI1_ROOT_SEL 132
> +#define IMX5_CLK_SSI2_ROOT_SEL 133
> +#define IMX5_CLK_SSI3_ROOT_SEL 134
> +#define IMX5_CLK_SSI_EXT1_SEL 135
> +#define IMX5_CLK_SSI_EXT2_SEL 136
> +#define IMX5_CLK_SSI_EXT1_COM_SEL 137
> +#define IMX5_CLK_SSI_EXT2_COM_SEL 138
> +#define IMX5_CLK_SSI1_ROOT_PRED 139
> +#define IMX5_CLK_SSI1_ROOT_PODF 140
> +#define IMX5_CLK_SSI2_ROOT_PRED 141
> +#define IMX5_CLK_SSI2_ROOT_PODF 142
> +#define IMX5_CLK_SSI_EXT1_PRED 143
> +#define IMX5_CLK_SSI_EXT1_PODF 144
> +#define IMX5_CLK_SSI_EXT2_PRED 145
> +#define IMX5_CLK_SSI_EXT2_PODF 146
> +#define IMX5_CLK_SSI1_ROOT_GATE 147
> +#define IMX5_CLK_SSI2_ROOT_GATE 148
> +#define IMX5_CLK_SSI3_ROOT_GATE 149
> +#define IMX5_CLK_SSI_EXT1_GATE 150
> +#define IMX5_CLK_SSI_EXT2_GATE 151
> +#define IMX5_CLK_EPIT1_IPG_GATE 152
> +#define IMX5_CLK_EPIT1_HF_GATE 153
> +#define IMX5_CLK_EPIT2_IPG_GATE 154
> +#define IMX5_CLK_EPIT2_HF_GATE 155
> +#define IMX5_CLK_CAN_SEL 156
> +#define IMX5_CLK_CAN1_SERIAL_GATE 157
> +#define IMX5_CLK_CAN1_IPG_GATE 158
> +#define IMX5_CLK_OWIRE_GATE 159
> +#define IMX5_CLK_GPU3D_SEL 160
> +#define IMX5_CLK_GPU2D_SEL 161
> +#define IMX5_CLK_GPU3D_GATE 162
> +#define IMX5_CLK_GPU2D_GATE 163
> +#define IMX5_CLK_GARB_GATE 164
> +#define IMX5_CLK_CKO1_SEL 165
> +#define IMX5_CLK_CKO1_PODF 166
> +#define IMX5_CLK_CKO1 167
> +#define IMX5_CLK_CKO2_SEL 168
> +#define IMX5_CLK_CKO2_PODF 169
> +#define IMX5_CLK_CKO2 170
> +#define IMX5_CLK_SRTC_GATE 171
> +#define IMX5_CLK_PATA_GATE 172
> +#define IMX5_CLK_SATA_GATE 173
> +#define IMX5_CLK_SPDIF_XTAL_SEL 174
> +#define IMX5_CLK_SPDIF0_SEL 175
> +#define IMX5_CLK_SPDIF1_SEL 176
> +#define IMX5_CLK_SPDIF0_PRED 177
> +#define IMX5_CLK_SPDIF0_PODF 178
> +#define IMX5_CLK_SPDIF1_PRED 179
> +#define IMX5_CLK_SPDIF1_PODF 180
> +#define IMX5_CLK_SPDIF0_COM_SEL 181
> +#define IMX5_CLK_SPDIF1_COM_SEL 182
> +#define IMX5_CLK_SPDIF0_GATE 183
> +#define IMX5_CLK_SPDIF1_GATE 184
> +#define IMX5_CLK_SPDIF_IPG_GATE 185
> +#define IMX5_CLK_OCRAM 186
> +#define IMX5_CLK_SAHARA_IPG_GATE 187
> +#define IMX5_CLK_SATA_REF 188
> +#define IMX5_CLK_END 189
> +
> +#endif /* __DT_BINDINGS_CLOCK_IMX5_H */
> diff --git a/include/dt-bindings/interrupt-controller/irq.h b/include/dt-bindings/interrupt-controller/irq.h
> new file mode 100644
> index 0000000..33a1003
> --- /dev/null
> +++ b/include/dt-bindings/interrupt-controller/irq.h
> @@ -0,0 +1,19 @@
> +/*
> + * This header provides constants for most IRQ bindings.
> + *
> + * Most IRQ bindings include a flags cell as part of the IRQ specifier.
> + * In most cases, the format of the flags cell uses the standard values
> + * defined in this header.
> + */
> +
> +#ifndef _DT_BINDINGS_INTERRUPT_CONTROLLER_IRQ_H
> +#define _DT_BINDINGS_INTERRUPT_CONTROLLER_IRQ_H
> +
> +#define IRQ_TYPE_NONE 0
> +#define IRQ_TYPE_EDGE_RISING 1
> +#define IRQ_TYPE_EDGE_FALLING 2
> +#define IRQ_TYPE_EDGE_BOTH (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING)
> +#define IRQ_TYPE_LEVEL_HIGH 4
> +#define IRQ_TYPE_LEVEL_LOW 8
> +
> +#endif
> --
> 1.8.3.2
>
>
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] ARM: i.MX51: Sync DT files with kernel
2014-01-10 7:39 ` [PATCH 1/2] ARM: i.MX51: Sync DT files with kernel Sascha Hauer
@ 2014-01-10 7:58 ` Alexander Shiyan
2014-01-10 8:06 ` Sascha Hauer
0 siblings, 1 reply; 5+ messages in thread
From: Alexander Shiyan @ 2014-01-10 7:58 UTC (permalink / raw)
To: Sascha Hauer; +Cc: barebox
Hello.
Пятница, 10 января 2014, 8:39 +01:00 от Sascha Hauer <s.hauer@pengutronix.de>:
> On Wed, Jan 08, 2014 at 09:44:15AM +0400, Alexander Shiyan wrote:
> > This patch includes update i.MX51 template and porting some barebox
> > DTS files to use new template.
> >
> > Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
>
> Applied, thanks
Can you post imx51-genesi-efika-sb.dts into the kernel mainline to handle further
possible updates by kernel community?
Thanks.
---
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] ARM: i.MX51: Sync DT files with kernel
2014-01-10 7:58 ` Alexander Shiyan
@ 2014-01-10 8:06 ` Sascha Hauer
0 siblings, 0 replies; 5+ messages in thread
From: Sascha Hauer @ 2014-01-10 8:06 UTC (permalink / raw)
To: Alexander Shiyan; +Cc: barebox
On Fri, Jan 10, 2014 at 11:58:00AM +0400, Alexander Shiyan wrote:
> Hello.
>
> Пятница, 10 января 2014, 8:39 +01:00 от Sascha Hauer <s.hauer@pengutronix.de>:
> > On Wed, Jan 08, 2014 at 09:44:15AM +0400, Alexander Shiyan wrote:
> > > This patch includes update i.MX51 template and porting some barebox
> > > DTS files to use new template.
> > >
> > > Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
> >
> > Applied, thanks
>
> Can you post imx51-genesi-efika-sb.dts into the kernel mainline to handle further
> possible updates by kernel community?
I want to do that once I have USB working on the efika without
additional patches. The kernel still misses ULPI support. Without
USB the efika is not much more than a paperweight. But you are right,
for the sake of better maintenance it should be in the kernel.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-01-10 8:07 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-08 5:44 [PATCH 1/2] ARM: i.MX51: Sync DT files with kernel Alexander Shiyan
2014-01-08 5:44 ` [PATCH 2/2] ARM: freescale-mx51-pdk: Remove FEC GPIO handling Alexander Shiyan
2014-01-10 7:39 ` [PATCH 1/2] ARM: i.MX51: Sync DT files with kernel Sascha Hauer
2014-01-10 7:58 ` Alexander Shiyan
2014-01-10 8:06 ` Sascha Hauer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox