From: Shawn Guo <shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
To: "Lothar Waßmann" <LW-bxm8fMRDkQLDiMYJYoSAnRvVK+yQ3ZXh@public.gmane.org>
Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-arm-kernel-bounces-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>,
Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
Subject: Re: [PATCH RESEND] ARM: dts: tx28: restructure and update DTS file
Date: Sun, 22 Sep 2013 14:41:26 +0800 [thread overview]
Message-ID: <20130922064124.GB31787@S2101-09.ap.freescale.net> (raw)
In-Reply-To: <1379573990-27556-5-git-send-email-LW-bxm8fMRDkQLDiMYJYoSAnRvVK+yQ3ZXh@public.gmane.org>
On Thu, Sep 19, 2013 at 08:59:50AM +0200, Lothar Waßmann wrote:
> Update the Ka-Ro TX28 DTS file.
>
> - add Copyright header
> - use label references for better readability
> - sort the entries alphabetically
> - add some aliases used by U-Boot to modify the DT data
>
> This patch requires the patch "ARM: dts: mxs: add pinctrl header files"
> to be applied.
The dependency of applying should generally go below '---', so that it
does not appear in the final commit log.
>
> Signed-off-by: Lothar Waßmann <LW-bxm8fMRDkQLDiMYJYoSAnRvVK+yQ3ZXh@public.gmane.org>
> ---
> arch/arm/boot/dts/imx28-tx28.dts | 720 +++++++++++++++++++++++++++++++++-----
> 1 files changed, 637 insertions(+), 83 deletions(-)
>
> diff --git a/arch/arm/boot/dts/imx28-tx28.dts b/arch/arm/boot/dts/imx28-tx28.dts
> index 37be532..b7c79fb 100644
> --- a/arch/arm/boot/dts/imx28-tx28.dts
> +++ b/arch/arm/boot/dts/imx28-tx28.dts
> @@ -1,106 +1,139 @@
> +/*
> + * Copyright 2012 Shawn Guo <shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
> + * Copyright 2013 Lothar Waßmann <LW-bxm8fMRDkQLDiMYJYoSAnRvVK+yQ3ZXh@public.gmane.org>
> + *
> + * The code contained herein is licensed under the GNU General Public
> + * License. You may obtain a copy of the GNU General Public License
> + * Version 2 at the following locations:
> + *
> + * http://www.opensource.org/licenses/gpl-license.html
> + * http://www.gnu.org/copyleft/gpl.html
> + */
> +
> /dts-v1/;
> -/include/ "imx28.dtsi"
> +#include "imx28.dtsi"
The change should belong to patch "ARM: dts: mxs: modify mx23/mx28 dts
files to use pinctrl headers". Otherwise, build of imx28-tx28.dtb will
break right there.
I have fixed it when apply that patch. You may want to rebase this
patch on my imx/dt branch with this change dropped.
> +#include <dt-bindings/gpio/gpio.h>
>
> / {
> model = "Ka-Ro electronics TX28 module";
> compatible = "karo,tx28", "fsl,imx28";
>
> + aliases {
> + can0 = &can0;
> + can1 = &can1;
> + display = &display;
> + ds1339 = &ds1339;
> + gpio5 = &gpio5;
> + stk5led = &user_led;
> + usbotg = &usb0;
> + lcdif = &lcdif;
> + lcdif_24bit_pins = &lcdif_24bit_pins_a;
> + lcdif_23bit_pins = &tx28_lcdif_23bit_pins;
> + };
Please try to sort them alphabetically.
> +
> memory {
> - reg = <0x40000000 0x08000000>;
> - };
> -
> - apb@80000000 {
> - apbh@80000000 {
> - ssp0: ssp@80010000 {
> - compatible = "fsl,imx28-mmc";
> - pinctrl-names = "default";
> - pinctrl-0 = <&mmc0_4bit_pins_a
> - &mmc0_cd_cfg
> - &mmc0_sck_cfg>;
> - bus-width = <4>;
> - status = "okay";
> - };
> + reg = <0 0>; /* will be filled in by U-Boot */
> + };
>
> - pinctrl@80018000 {
> - pinctrl-names = "default";
> - pinctrl-0 = <&hog_pins_a>;
> -
> - hog_pins_a: hog@0 {
> - reg = <0>;
> - fsl,pinmux-ids = <
> - 0x40a3 /* MX28_PAD_ENET0_RXD3__GPIO_4_10 */
> - >;
> - fsl,drive-strength = <0>;
> - fsl,voltage = <1>;
> - fsl,pull-up = <0>;
> - };
> -
> - mac0_pins_gpio: mac0-gpio-mode@0 {
> - reg = <0>;
> - fsl,pinmux-ids = <
> - 0x4003 /* MX28_PAD_ENET0_MDC__GPIO_4_0 */
> - 0x4013 /* MX28_PAD_ENET0_MDIO__GPIO_4_1 */
> - 0x4023 /* MX28_PAD_ENET0_RX_EN__GPIO_4_2 */
> - 0x4033 /* MX28_PAD_ENET0_RXD0__GPIO_4_3 */
> - 0x4043 /* MX28_PAD_ENET0_RXD1__GPIO_4_4 */
> - 0x4063 /* MX28_PAD_ENET0_TX_EN__GPIO_4_6 */
> - 0x4073 /* MX28_PAD_ENET0_TXD0__GPIO_4_7 */
> - 0x4083 /* MX28_PAD_ENET0_TXD1__GPIO_4_8 */
> - 0x4103 /* MX28_PAD_ENET_CLK__GPIO_4_16 */
> - >;
> - fsl,drive-strength = <0>;
> - fsl,voltage = <1>;
> - fsl,pull-up = <0>;
> - };
> - };
> + onewire@0 {
We require @num for a node only when there is a 'reg' property in the
node. You may either drop @0 or add reg = <0> for the node.
> + compatible = "w1-gpio";
> + gpios = <&gpio2 7 0>;
> + status = "disabled";
> + };
> +
> + regulators {
> + compatible = "simple-bus";
> +
> + reg_usb0_vbus: usb0_vbus {
> + compatible = "regulator-fixed";
> + regulator-name = "usb0_vbus";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + gpio = <&gpio0 18 0>;
> + enable-active-high;
> };
>
> - apbx@80040000 {
> - i2c0: i2c@80058000 {
> - pinctrl-names = "default";
> - pinctrl-0 = <&i2c0_pins_a>;
> - status = "okay";
> + reg_usb1_vbus: usb1_vbus {
> + compatible = "regulator-fixed";
> + regulator-name = "usb1_vbus";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + gpio = <&gpio3 27 0>;
> + enable-active-high;
> + };
>
> - ds1339: rtc@68 {
> - compatible = "mxim,ds1339";
> - reg = <0x68>;
> - };
> - };
> + reg_2p5v: 2p5v {
> + compatible = "regulator-fixed";
> + regulator-name = "2P5V";
> + regulator-min-microvolt = <2500000>;
> + regulator-max-microvolt = <2500000>;
> + regulator-always-on;
> + };
>
> - pwm: pwm@80064000 {
> - pinctrl-names = "default";
> - pinctrl-0 = <&pwm0_pins_a>;
> - status = "okay";
> - };
> + reg_3p3v: 3p3v {
> + compatible = "regulator-fixed";
> + regulator-name = "3P3V";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-always-on;
> + };
>
> - duart: serial@80074000 {
> - pinctrl-names = "default";
> - pinctrl-0 = <&duart_4pins_a>;
> - status = "okay";
> - };
> + reg_can_xcvr: can-xcvr {
> + compatible = "regulator-fixed";
> + regulator-name = "CAN XCVR";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + gpio = <&gpio1 0 0>;
> + enable-active-low;
> + pinctrl-names = "default";
> + pinctrl-0 = <&tx28_flexcan_xcvr_pins>;
> + };
>
> - auart1: serial@8006c000 {
> - pinctrl-names = "default";
> - pinctrl-0 = <&auart1_pins_a>;
> - status = "okay";
> - };
> + reg_lcd: lcd-power {
> + compatible = "regulator-fixed";
> + regulator-name = "LCD POWER";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + gpio = <&gpio1 31 0>;
> + enable-active-high;
> + };
> +
> + reg_lcd_reset: lcd-reset {
> + compatible = "regulator-fixed";
> + regulator-name = "LCD RESET";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + gpio = <&gpio3 30 0>;
> + startup-delay-us = <300000>;
> + enable-active-high;
> + regulator-always-on;
> + regulator-boot-on;
> };
> };
>
> - ahb@80080000 {
> - mac0: ethernet@800f0000 {
> - phy-mode = "rmii";
> - pinctrl-names = "default", "gpio_mode";
> - pinctrl-0 = <&mac0_pins_a>;
> - pinctrl-1 = <&mac0_pins_gpio>;
> - status = "okay";
> + clocks {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + mclk: codec_clock {
> + compatible = "fixed-clock";
> + reg = <0>;
With the property in place, you may want to use a generic name for the
node, like 'mclk: clock@0'.
> + #clock-cells = <0>;
> + clock-frequency = <27000000>;
> };
> };
>
> + sound {
> + compatible = "fsl,imx28-tx28-sgtl5000",
> + "fsl,mxs-audio-sgtl5000";
> + model = "imx28-tx28-sgtl5000";
> + saif-controllers = <&saif0 &saif1>;
> + audio-codec = <&sgtl5000>;
> + };
> +
> leds {
> compatible = "gpio-leds";
>
> - user {
> + user_led: user {
> label = "Heartbeat";
> gpios = <&gpio4 10 0>;
> linux,default-trigger = "heartbeat";
> @@ -109,8 +142,529 @@
>
> backlight {
> compatible = "pwm-backlight";
> - pwms = <&pwm 0 5000000>;
> - brightness-levels = <0 4 8 16 32 64 128 255>;
> - default-brightness-level = <6>;
> + pwms = <&pwm 0 500000>;
> + /*
> + * a silly way to create a 1:1 relationship between the
> + * PWM value and the actual duty cycle
> + */
> + brightness-levels = < 0 1 2 3 4 5 6 7 8 9
> + 10 11 12 13 14 15 16 17 18 19
> + 20 21 22 23 24 25 26 27 28 29
> + 30 31 32 33 34 35 36 37 38 39
> + 40 41 42 43 44 45 46 47 48 49
> + 50 51 52 53 54 55 56 57 58 59
> + 60 61 62 63 64 65 66 67 68 69
> + 70 71 72 73 74 75 76 77 78 79
> + 80 81 82 83 84 85 86 87 88 89
> + 90 91 92 93 94 95 96 97 98 99
> + 100>;
> + default-brightness-level = <50>;
> + };
> +
> + matrix_keypad: matrix-keypad@0 {
> + compatible = "gpio-matrix-keypad";
> + col-gpios = <
> + &gpio5 0 0
> + &gpio5 1 0
> + &gpio5 2 0
> + &gpio5 3 0
> + >;
> +
We generally have blank lines between nodes but not the properties.
> + row-gpios = <
> + &gpio5 4 0
> + &gpio5 5 0
> + &gpio5 6 0
> + &gpio5 7 0
> + >;
> +
> + /* sample keymap */
> + linux,keymap = <
> + 0x00000074 /* row 0, col 0, KEY_POWER */
> + 0x00010052 /* row 0, col 1, KEY_KP0 */
> + 0x0002004f /* row 0, col 2, KEY_KP1 */
> + 0x00030050 /* row 0, col 3, KEY_KP2 */
> + 0x01000051 /* row 1, col 0, KEY_KP3 */
> + 0x0101004b /* row 1, col 1, KEY_KP4 */
> + 0x0102004c /* row 1, col 2, KEY_KP5 */
> + 0x0103004d /* row 1, col 3, KEY_KP6 */
> + 0x02000047 /* row 2, col 0, KEY_KP7 */
> + 0x02010048 /* row 2, col 1, KEY_KP8 */
> + 0x02020049 /* row 2, col 2, KEY_KP9 */
> + >;
Can the macros in include/dt-bindings/input/input.h help here?
> + gpio-activelow;
> + linux,wakeup;
> +
> + debounce-delay-ms = <100>;
> + col-scan-delay-us = <5000>;
> + linux,no-autorepeat;
> };
> };
> +
> +/* 2nd TX-Std UART - (A)UART1 */
> +&auart1 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&auart1_pins_a>;
> + status = "okay";
> +};
> +
> +/* 3rd TX-Std UART - (A)UART3 */
> +&auart3 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&auart3_pins_a>;
> + status = "okay";
> +};
> +
> +&can0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&can0_pins_a>;
> + xceiver-supply = <®_can_xcvr>;
> + status = "okay";
> +};
> +
> +&can1 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&can1_pins_a>;
> + xceiver-supply = <®_can_xcvr>;
> + status = "okay";
> +};
> +
> +&digctl {
> + status = "okay";
> +};
> +
> +/* 1st TX-Std UART - (D)UART */
> +&duart {
> + pinctrl-names = "default";
> + pinctrl-0 = <&duart_4pins_a>;
> + status = "okay";
> +};
> +
> +&gpmi {
> + pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
> + nand-on-flash-bbt;
> + status = "okay";
> +};
> +
> +&i2c0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&i2c0_pins_a>;
> + clock-frequency = <400000>;
> + status = "okay";
> +
> + ds1339: rtc@68 {
Please sort these child nodes @num in 'num'.
> + compatible = "mxim,ds1339";
> + reg = <0x68>;
> + };
> +
> + gpio5: pca953x@20 {
> + compatible = "nxp,pca9554";
> + reg = <0x20>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&tx28_pca9554_pins>;
> + interrupt-parent = <&gpio3>;
> + interrupts = <28 0>;
> + gpio-controller;
> + #gpio-cells = <2>;
> + interrupt-controller;
> + #interrupt-cells = <2>;
> + };
> +
> + touchscreen: tsc2007@48 {
> + compatible = "ti,tsc2007";
> + reg = <0x48>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&tx28_tsc2007_pins>;
> + interrupt-parent = <&gpio3>;
> + interrupts = <20 0>;
> + pendown-gpio = <&gpio3 20 1>;
> + ti,x-plate-ohms = /bits/ 16 <660>;
> + };
> +
> + polytouch: edt-ft5x06@38 {
> + compatible = "edt,edt-ft5x06";
> + reg = <0x38>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&tx28_edt_ft5x06_pins>;
> + interrupt-parent = <&gpio2>;
> + interrupts = <5 0>;
> + reset-gpios = <&gpio2 6 1>;
> + wake-gpios = <&gpio4 9 0>;
> + };
> +
> + sgtl5000: sgtl5000@0a {
> + compatible = "fsl,sgtl5000";
> + reg = <0x0a>;
> + VDDA-supply = <®_2p5v>;
> + VDDIO-supply = <®_3p3v>;
> + clocks = <&mclk>;
> + };
> +};
> +
> +&lcdif {
> + pinctrl-names = "default";
> + pinctrl-0 = <&lcdif_24bit_pins_a &lcdif_sync_pins_a &tx28_lcdif_ctrl_pins>;
> + lcd-supply = <®_lcd>;
> + display = <&display>;
> + status = "okay";
> +
> + display: display@0 {
> + bits-per-pixel = <32>;
> + bus-width = <24>;
> +
> + display-timings {
> + native-mode = <&timing5>;
> + timing0: timing0 {
> + panel-name = "VGA";
> + clock-frequency = <25175000>;
> + hactive = <640>;
> + vactive = <480>;
> + hback-porch = <48>;
> + hsync-len = <96>;
> + hfront-porch = <16>;
> + vback-porch = <33>;
> + vsync-len = <2>;
> + vfront-porch = <10>;
> + hsync-active = <0>;
> + vsync-active = <0>;
> + de-active = <1>;
> + pixelclk-active = <1>;
> + };
> +
> + timing1: timing1 {
> + panel-name = "ETV570";
> + clock-frequency = <25175000>;
> + hactive = <640>;
> + vactive = <480>;
> + hback-porch = <114>;
> + hsync-len = <30>;
> + hfront-porch = <16>;
> + vback-porch = <32>;
> + vsync-len = <3>;
> + vfront-porch = <10>;
> + hsync-active = <0>;
> + vsync-active = <0>;
> + de-active = <1>;
> + pixelclk-active = <1>;
> + };
> +
> + timing2: timing2 {
> + panel-name = "ET0350";
> + clock-frequency = <6500000>;
> + hactive = <320>;
> + vactive = <240>;
> + hback-porch = <34>;
> + hsync-len = <34>;
> + hfront-porch = <20>;
> + vback-porch = <15>;
> + vsync-len = <3>;
> + vfront-porch = <4>;
> + hsync-active = <0>;
> + vsync-active = <0>;
> + de-active = <1>;
> + pixelclk-active = <1>;
> + };
> +
> + timing3: timing3 {
> + panel-name = "ET0430";
> + clock-frequency = <9000000>;
> + hactive = <480>;
> + vactive = <272>;
> + hback-porch = <2>;
> + hsync-len = <41>;
> + hfront-porch = <2>;
> + vback-porch = <2>;
> + vsync-len = <10>;
> + vfront-porch = <2>;
> + hsync-active = <0>;
> + vsync-active = <0>;
> + de-active = <1>;
> + pixelclk-active = <1>;
> + };
> +
> + timing4: timing4 {
> + panel-name = "ET0500", "ET0700";
> + clock-frequency = <33260000>;
> + hactive = <800>;
> + vactive = <480>;
> + hback-porch = <88>;
> + hsync-len = <128>;
> + hfront-porch = <40>;
> + vback-porch = <33>;
> + vsync-len = <2>;
> + vfront-porch = <10>;
> + hsync-active = <0>;
> + vsync-active = <0>;
> + de-active = <1>;
> + pixelclk-active = <1>;
> + };
> +
> + timing5: timing5 {
> + panel-name = "ETQ570";
> + clock-frequency = <6400000>;
> + hactive = <320>;
> + vactive = <240>;
> + hback-porch = <38>;
> + hsync-len = <30>;
> + hfront-porch = <30>;
> + vback-porch = <16>;
> + vsync-len = <3>;
> + vfront-porch = <4>;
> + hsync-active = <0>;
> + vsync-active = <0>;
> + de-active = <1>;
> + pixelclk-active = <1>;
> + };
> + };
> + };
> +};
> +
> +&lradc {
> + fsl,lradc-touchscreen-wires = <4>;
> + status = "okay";
> +};
> +
> +&mac0 {
> + phy-mode = "rmii";
> + pinctrl-names = "default", "gpio_mode";
> + pinctrl-0 = <&mac0_pins_a>;
> + pinctrl-1 = <&tx28_mac0_pins_gpio>;
> + status = "okay";
> +};
> +
> +&mac1 {
> + phy-mode = "rmii";
> + pinctrl-names = "default";
> + pinctrl-0 = <&mac1_pins_a>;
> + /* not enabled by default */
> +};
> +
> +&mxs_rtc {
> + status = "okay";
> +};
> +
> +&ocotp {
> + status = "okay";
> +};
> +
> +&pwm {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pwm0_pins_a>;
> + status = "okay";
> +};
> +
> +&pinctrl {
> + pinctrl-names = "default";
> + pinctrl-0 = <&hog_pins_a>;
> +
> + hog_pins_a: hog@0 {
> + reg = <0>;
> + fsl,pinmux-ids = <
> + MX28_PAD_ENET0_RXD3__GPIO_4_10 /* module LED */
> + >;
> + fsl,drive-strength = <MXS_DRIVE_4mA>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + fsl,pull-up = <MXS_PULL_DISABLE>;
> + };
> +
> + tx28_edt_ft5x06_pins: tx28-edt-ft5x06-pins {
> + reg = <0>;
The 'reg' property in this node (and the following ones) is pointless.
> + fsl,pinmux-ids = <
> + MX28_PAD_SSP0_DATA6__GPIO_2_6 /* RESET */
> + MX28_PAD_SSP0_DATA5__GPIO_2_5 /* IRQ */
> + MX28_PAD_ENET0_RXD2__GPIO_4_9 /* WAKE */
> + >;
> + fsl,drive-strength = <MXS_DRIVE_4mA>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + fsl,pull-up = <MXS_PULL_DISABLE>;
> + };
> +
> + tx28_flexcan_xcvr_pins: tx28-flexcan-xcvr-pins {
> + reg = <0>;
> + fsl,pinmux-ids = <
> + MX28_PAD_LCD_D00__GPIO_1_0
> + >;
> + fsl,drive-strength = <MXS_DRIVE_4mA>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + fsl,pull-up = <MXS_PULL_DISABLE>;
> + };
> +
> + tx28_lcdif_23bit_pins: tx28-lcdif-23bit {
> + reg = <0>;
> + fsl,pinmux-ids = <
> + /* LCD_D00 may be used as Flexcan Transceiver Enable on STK5-V5 */
> + MX28_PAD_LCD_D01__LCD_D1
> + MX28_PAD_LCD_D02__LCD_D2
> + MX28_PAD_LCD_D03__LCD_D3
> + MX28_PAD_LCD_D04__LCD_D4
> + MX28_PAD_LCD_D05__LCD_D5
> + MX28_PAD_LCD_D06__LCD_D6
> + MX28_PAD_LCD_D07__LCD_D7
> + MX28_PAD_LCD_D08__LCD_D8
> + MX28_PAD_LCD_D09__LCD_D9
> + MX28_PAD_LCD_D10__LCD_D10
> + MX28_PAD_LCD_D11__LCD_D11
> + MX28_PAD_LCD_D12__LCD_D12
> + MX28_PAD_LCD_D13__LCD_D13
> + MX28_PAD_LCD_D14__LCD_D14
> + MX28_PAD_LCD_D15__LCD_D15
> + MX28_PAD_LCD_D16__LCD_D16
> + MX28_PAD_LCD_D17__LCD_D17
> + MX28_PAD_LCD_D18__LCD_D18
> + MX28_PAD_LCD_D19__LCD_D19
> + MX28_PAD_LCD_D20__LCD_D20
> + MX28_PAD_LCD_D21__LCD_D21
> + MX28_PAD_LCD_D22__LCD_D22
> + MX28_PAD_LCD_D23__LCD_D23
> + >;
> + fsl,drive-strength = <MXS_DRIVE_4mA>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + fsl,pull-up = <MXS_PULL_DISABLE>;
> + };
> +
> + tx28_lcdif_ctrl_pins: tx28-lcdif-ctrl {
> + reg = <0>;
> + fsl,pinmux-ids = <
> + MX28_PAD_LCD_ENABLE__GPIO_1_31 /* Enable */
> + MX28_PAD_LCD_RESET__GPIO_3_30 /* Reset */
> + >;
> + fsl,drive-strength = <MXS_DRIVE_4mA>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + fsl,pull-up = <MXS_PULL_DISABLE>;
> + };
> +
> + tx28_mac0_pins_gpio: tx28-mac0-gpio-pins {
> + reg = <0>;
> + fsl,pinmux-ids = <
> + MX28_PAD_ENET0_MDC__GPIO_4_0
> + MX28_PAD_ENET0_MDIO__GPIO_4_1
> + MX28_PAD_ENET0_RX_EN__GPIO_4_2
> + MX28_PAD_ENET0_RXD0__GPIO_4_3
> + MX28_PAD_ENET0_RXD1__GPIO_4_4
> + MX28_PAD_ENET0_TX_EN__GPIO_4_6
> + MX28_PAD_ENET0_TXD0__GPIO_4_7
> + MX28_PAD_ENET0_TXD1__GPIO_4_8
> + MX28_PAD_ENET_CLK__GPIO_4_16
> + >;
> + fsl,drive-strength = <MXS_DRIVE_4mA>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + fsl,pull-up = <MXS_PULL_DISABLE>;
> + };
> +
> + tx28_pca9554_pins: tx28-pca9554-pins {
> + reg = <0>;
> + fsl,pinmux-ids = <
> + MX28_PAD_PWM3__GPIO_3_28
> + >;
> + fsl,drive-strength = <MXS_DRIVE_4mA>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + fsl,pull-up = <MXS_PULL_DISABLE>;
> + };
> +
> + tx28_tsc2007_pins: tx28-tsc2007-pins {
> + reg = <0>;
> + fsl,pinmux-ids = <
> + MX28_PAD_SAIF0_MCLK__GPIO_3_20 /* TSC2007 IRQ */
> + >;
> + fsl,drive-strength = <MXS_DRIVE_4mA>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + fsl,pull-up = <MXS_PULL_DISABLE>;
> + };
> +
> +
> + tx28_usbphy0_pins: tx28-usbphy0-pins {
> + reg = <2>;
> + fsl,pinmux-ids = <
> + MX28_PAD_GPMI_CE2N__GPIO_0_18 /* USBOTG_VBUSEN */
> + MX28_PAD_GPMI_CE3N__GPIO_0_19 /* USBOTH_OC */
> + >;
> + fsl,drive-strength = <MXS_DRIVE_12mA>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + fsl,pull-up = <MXS_PULL_DISABLE>;
> + };
> +
> + tx28_usbphy1_pins: tx28-usbphy1-pins {
> + reg = <1>;
> + fsl,pinmux-ids = <
> + MX28_PAD_SPDIF__GPIO_3_27 /* USBH_VBUSEN */
> + MX28_PAD_JTAG_RTCK__GPIO_4_20 /* USBH_OC */
> + >;
> + fsl,drive-strength = <MXS_DRIVE_12mA>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + fsl,pull-up = <MXS_PULL_DISABLE>;
> + };
> +};
> +
> +&saif0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&saif0_pins_b>;
> + fsl,saif-master;
> + status = "okay";
> +};
> +
> +&saif1 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&saif1_pins_a>;
> + status = "okay";
> +};
> +
> +&ssp0 {
> + compatible = "fsl,imx28-mmc";
> + pinctrl-names = "default", "special";
> + pinctrl-0 = <&mmc0_4bit_pins_a
> + &mmc0_cd_cfg
> + &mmc0_sck_cfg>;
> + bus-width = <4>;
> + status = "okay";
> +};
> +
> +&ssp3 {
> + compatible = "fsl,imx28-spi";
> + pinctrl-names = "default";
> + pinctrl-0 = <&spi3_pins_a>;
> + clock-frequency = <57600000>;
> + status = "okay";
> +
> + spidev0: spi@0 {
> + compatible = "spidev";
> + reg = <0>;
> + spi-max-frequency = <57600000>;
> + };
> +
> + spidev1: spi@1 {
> + compatible = "spidev";
> + reg = <1>;
> + spi-max-frequency = <57600000>;
> + };
> +};
> +
> +&timer {
> + status = "okay";
> +};
The timer is already enabled in imx28.dtsi.
Shawn
> +
> +&usb0 {
> + vbus-supply = <®_usb0_vbus>;
> + disable-over-current;
> + dr_mode = "peripheral";
> + status = "okay";
> +};
> +
> +&usb1 {
> + vbus-supply = <®_usb1_vbus>;
> + disable-over-current;
> + dr_mode = "host";
> + status = "okay";
> +};
> +
> +&usbphy0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&tx28_usbphy0_pins>;
> + phy_type = "utmi";
> + status = "okay";
> +};
> +
> +&usbphy1 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&tx28_usbphy1_pins>;
> + phy_type = "utmi";
> + status = "okay";
> +};
> --
> 1.7.2.5
>
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2013-09-22 6:41 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-19 6:59 [PATCH RESEND 0/3] ARM: dts: mxs: add pinctrl header files Lothar Waßmann
[not found] ` <1379573990-27556-1-git-send-email-LW-bxm8fMRDkQLDiMYJYoSAnRvVK+yQ3ZXh@public.gmane.org>
2013-09-19 6:59 ` [PATCH RESEND 1/3] " Lothar Waßmann
2013-09-19 6:59 ` [PATCH RESEND 2/3] ARM: dts: mxs: modify mx23/mx28 dts files to use pinctrl headers Lothar Waßmann
2013-09-19 6:59 ` [PATCH RESEND 3/3] ARM: dts: mxs: modify mx23/mx28 dts files to use padconfig defines Lothar Waßmann
2013-09-19 6:59 ` [PATCH RESEND] ARM: dts: tx28: restructure and update DTS file Lothar Waßmann
[not found] ` <1379573990-27556-5-git-send-email-LW-bxm8fMRDkQLDiMYJYoSAnRvVK+yQ3ZXh@public.gmane.org>
2013-09-22 6:41 ` Shawn Guo [this message]
[not found] ` <20130922064124.GB31787-rvtDTF3kK1ictlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2013-09-23 9:37 ` Lothar Waßmann
2013-09-23 10:20 ` [PATCH v4] " Lothar Waßmann
[not found] ` <1379931648-12448-1-git-send-email-LW-bxm8fMRDkQLDiMYJYoSAnRvVK+yQ3ZXh@public.gmane.org>
2013-09-24 14:27 ` Shawn Guo
2013-09-22 6:11 ` [PATCH RESEND 0/3] ARM: dts: mxs: add pinctrl header files Shawn Guo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130922064124.GB31787@S2101-09.ap.freescale.net \
--to=shawn.guo-qsej5fyqhm4dnm+yrofe0a@public.gmane.org \
--cc=LW-bxm8fMRDkQLDiMYJYoSAnRvVK+yQ3ZXh@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-arm-kernel-bounces-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org \
--cc=swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox