Russell King [Tue, 17 Dec 2013 19:42:27 +0000 (19:42 +0000)]
ARM: imx: initial SolidRun HummingBoard support
Add support for the SolidRun HummingBoard. This commit adds support for
the following interfaces on this board:
- Consumer Ir receiver
- S/PDIF output
- Both USB interfaces
- Gigabit Ethernet using AR8035
- UART port
shawn.guo:
- Add pinctrl_hummingboard_i2c1 and pinctrl_microsom_uart1 to replace
pinctrl_i2c1_1 and pinctrl_uart1_1
- Use generic name for fixed voltage regulator nodes
- Fix commment format in mach-imx6q.c
- Move ar8035_phy_fixup around to put PHY_ID_AR8031 and PHY_ID_AR8035
together
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Eric Nelson created a web page to show the
differences between Nitrogen6x and Sabre Lite boards.
http://boundarydevices.com/differences-sabre-lite-nitrogen6x
Troy Kisky [Tue, 17 Dec 2013 01:13:01 +0000 (18:13 -0700)]
ARM: dts: imx6qdl-sabrelite: fix ENET group
GPIO16 is used for I2C3, not ENET_REF_CLK.
Replace MX6QDL_ENET_PINGRP1 with explicit list.
Also, remove pull-ups from tx pins, and ENET_MDIO
which has an external pull-up.
Troy Kisky [Tue, 17 Dec 2013 01:12:57 +0000 (18:12 -0700)]
ARM: dts: imx6qdl-sabrelite: explicitly set pad for SGTL5000 sys_mclk
Explicitly sets the pad GPIO_0 (sys_mclk) to 0x030b0.
Before this patch, it has the value 0x130b0 if using mainline u-boot.
So this patch also removes hysteresis. The 100k pulldown remains so
that a disabled clock will be low.
Troy Kisky [Tue, 17 Dec 2013 01:12:56 +0000 (18:12 -0700)]
ARM: dts: imx6qdl-sabrelite: move phy reset to pinctrl_enet
This patch moves pin EIM_D23 (phy reset) from pinctrl_hog to pinctrl_enet.
It also explicitly sets the pad to 0x000b0.
Before this patch, it has the value 0x1b0b0 if using mainline u-boot.
So this patch also removes hysteresis and a 100K pullup since the pad
is always an output.
Troy Kisky [Tue, 17 Dec 2013 01:12:55 +0000 (18:12 -0700)]
ARM: dts: imx6qdl-sabrelite: move usbotg power enable to pinctrl_usbotg
This patch moves pin EIM_D22(power enable) from pinctrl_hog to pinctrl_usbotg.
It also explicitly sets the pad to 0x000b0, which is also the value
that it has before this patch if using mainline u-boot.
Troy Kisky [Tue, 17 Dec 2013 01:12:53 +0000 (18:12 -0700)]
ARM: dts: imx6qdl-sabrelite: move USDHC3 CD/WP to pinctrl_usdhc3
This patch moves pin SD3_DAT5/4 (CD/WP) from pinctrl_hog to pinctrl_usdhc3.
It also explicitly sets the pad SD3_DAT5 to 0x1b0b0, which is also the value
that it has before this patch if using mainline u-boot.
Troy Kisky [Tue, 17 Dec 2013 01:12:52 +0000 (18:12 -0700)]
ARM: dts: imx6qdl-sabrelite: move USDHC4 CD to pinctrl_usdhc4
This patch moves pin NANDF_D6 (CD) from pinctrl_hog to pinctrl_usdhc4.
It also explicitly sets the pad to 0x1b0b0, which is also the value
that it has before this patch if using mainline u-boot.
Troy Kisky [Fri, 13 Dec 2013 01:49:05 +0000 (18:49 -0700)]
ARM: dts: imx: sabrelite: add Dual Lite/Solo support
This makes the structure of Sabre Lite board files the same
as Sabre SD board files so that they are easier to compare.
By this, I mean that the majority of the file imx6q-sabrelite.dts
is moved to imx6qdl-sabrelite.dtsi so that both imx6q-sabrelite.dts
and imx6dl-sabrelite.dts can include it.
Now Sabre Lite has support for Dual Lite/Solo
processors.
Shawn Guo [Mon, 9 Dec 2013 06:42:54 +0000 (14:42 +0800)]
ARM: dts: vf610: make pinctrl nodes board specific
Currently, all pinctrl setting nodes are defined in <soc>.dtsi, so that
boards that share the same pinctrl setting do not have to define it time
and time again in <board>.dts. However, along with the devices and use
cases being added continuously, the pinctrl setting nodes under iomuxc
becomes more than expected. This bloats device tree blob for particular
board unnecessarily since only a small subset of those pinctrl setting
nodes will be used by the board. It impacts not only the DTB file size
but also the run-time device tree lookup efficiency.
The patch provides a solution to avoid this device tree bloating problem
while still keeping boards share the common pinctrl setting data by
using DTC macro support. It creates <soc>-pingrp.h and move all those
pinctrl setting data into there as macro definitions. The <board>.dts
will instead define the pinctrl setting nodes that are necessary for the
board by referring to the macros in <soc>-pingrp.h, so that only the
pinctrl setting data that will be used by the board will get compiled
into the DTB for the board.
With the changes, the pinctrl setting nodes becomes local to particular
board, and it makes no sense to continue numbering the setting for
given peripheral. Thus, all the pinctrl phandler name gets updated to
have only peripheral name in there.
Denis Carikli [Thu, 5 Dec 2013 14:56:56 +0000 (15:56 +0100)]
ARM: dts: Add support for the cpuimx25 board from Eukrea and its baseboard.
The following devices/functionalities were added:
* Main and secondary UARTs.
* i2c and the pcf8563 device.
* Ethernet.
* NAND.
* The BP1 button.
* The LED.
* Watchdog
* SD.
Cc: Rob Herring <rob.herring@calxeda.com> Cc: Pawel Moll <pawel.moll@arm.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Stephen Warren <swarren@wwwdotorg.org> Cc: Ian Campbell <ijc+devicetree@hellion.org.uk> Cc: devicetree@vger.kernel.org Cc: Sascha Hauer <kernel@pengutronix.de> Cc: linux-arm-kernel@lists.infradead.org Cc: Eric Bénard <eric@eukrea.com> Signed-off-by: Denis Carikli <denis@eukrea.com> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Eric Bénard [Thu, 5 Dec 2013 13:28:06 +0000 (14:28 +0100)]
ARM: mxs: Add support for the eukrea-cpuimx28.
The following devices/functionalities were tested:
* Main UART.
* Ethernet0.
* Ethernet1.
* SD.
* USB host.
* USB otg.
* Display(and its backlight).
* Touchscreen.
* Audio.
* nand.
* i2c and the pcf8563 device.
* The gpio buttons.
* The gpio leds.
* Watchdog
Cc: Rob Herring <rob.herring@calxeda.com> Cc: Pawel Moll <pawel.moll@arm.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Stephen Warren <swarren@wwwdotorg.org> Cc: Ian Campbell <ijc+devicetree@hellion.org.uk> Cc: devicetree@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Signed-off-by: Eric Bénard <eric@eukrea.com> Signed-off-by: Denis Carikli <denis@eukrea.com> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Alexander Shiyan [Sat, 30 Nov 2013 07:03:20 +0000 (11:03 +0400)]
ARM: dts: i.MX27: Configure GPIOs as "input" by default
This patch changes the default direction for pins used
as GPIO to "input". This prevents a short circuit on the
configuration stage when GPIO-pin is connected to the
other output pin.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
This patch updates FEC devicetree node of Phytec PCM038 module:
- Adding missing phy_mode properties.
- Adding fixed regulator to provide functionality without
dummy-regulator in the kernel.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Markus Pargmann [Wed, 20 Nov 2013 08:45:48 +0000 (09:45 +0100)]
ARM: dts: imx27 iomux device node
This patch adds a iomux node for imx27 pinctrl driver. The gpio
registers are embedded in the iomux memory area. So this patch moves
them into the iomux node for a better hardware description.
Signed-off-by: Markus Pargmann <mpa@pengutronix.de> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Maxime Ripard [Mon, 18 Nov 2013 14:37:52 +0000 (15:37 +0100)]
ARM: mxs: cfa10049: Add NAU7802 ADCs to the device tree
The Crystalfontz CFA-10049 has 3 Nuvoton NAU7802 ADCs, plugged behing a
GPIO-controlled I2C muxer because these ADCs don't have a configurable
address.
Marek Vasut [Sun, 17 Nov 2013 03:04:50 +0000 (04:04 +0100)]
ARM: dts: imx53: Add USB support for M53EVK
Add USB support for M53EVK. The configuration is such that USB Host1
port is used as Host and the USB OTG port is used as Peripheral thus
far. Once OTG is properly fixed, the OTG will be further adjusted.
Signed-off-by: Marek Vasut <marex@denx.de> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Marek Vasut [Sun, 17 Nov 2013 01:19:40 +0000 (02:19 +0100)]
ARM: dts: imx53: Fix backlight for M53EVK
Remove the PWM backlight pin from the hog pins list, so it doesn't
collide with the PWM pin group. Moreover, add dummy regulator for
the backlight so that the backlight driver probes correctly.
Signed-off-by: Marek Vasut <marex@denx.de> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Nicolin Chen [Fri, 15 Nov 2013 06:31:11 +0000 (14:31 +0800)]
ARM: dts: imx: specify the value of audmux pinctrl instead of 0x80000000
We must specify the value of audmux pinctrl if we want to use pinctrl_pm().
Thus change bypass value 0x80000000 to what we exactly need.
This patch also seperately unset PUE bit for TXD so that IOMUX won't pull
up/down the pin after turning into tristate. When we use SSI normal mode to
playback monaural audio via I2S signal, there'd be a pulled curve occur to
its signal at the second slot if setting PUE bit for TXD. And it will make
the second channel to play a constant noise. So by keeping the signal level
in the second slot, we can get a constant high level signal (-1) or a low
level one (0).
This patch updates i.MX51 CPU node:
- Alias for CPU is added to allow using this node in the parent DTS files.
- Removed useless "clock_names" property.
- "clock-latency" value increased to safe using with 32 kHz OSC.
- Defined operating points voltages and "voltage tolerance" properties.
Values are safe for both commercial and industrial CPU variants.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Shawn Guo [Wed, 6 Nov 2013 07:55:46 +0000 (15:55 +0800)]
ARM: dts: imx: use generic node name for fixed regulator
The device tree specification recommends that generic name should be
used for nodes. So instead of naming those fixed regulator nodes
arbitrarily, let's use the generic name 'regulator@num' for those nodes.
Shawn Guo [Mon, 4 Nov 2013 08:24:32 +0000 (16:24 +0800)]
ARM: dts: imx50: make pinctrl nodes board specific
Currently, all pinctrl setting nodes are defined in <soc>.dtsi, so that
boards that share the same pinctrl setting do not have to define it time
and time again in <board>.dts. However, along with the devices and use
cases being added continuously, the pinctrl setting nodes under iomuxc
becomes more than expected. This bloats device tree blob for particular
board unnecessarily since only a small subset of those pinctrl setting
nodes will be used by the board. It impacts not only the DTB file size
but also the run-time device tree lookup efficiency.
The patch provides a solution to avoid this device tree bloating problem
while still keeping boards share the common pinctrl setting data by
using DTC macro support. It creates <soc>-pingrp.h and move all those
pinctrl setting data into there as macro definitions. The <board>.dts
will instead define the pinctrl setting nodes that are necessary for the
board by referring to the macros in <soc>-pingrp.h, so that only the
pinctrl setting data that will be used by the board will get compiled
into the DTB for the board.
With the changes, the pinctrl setting nodes becomes local to particular
board, and it makes no sense to continue numbering the setting for
given peripheral. Thus, all the pinctrl phandler name gets updated to
have only peripheral name in there.
Shawn Guo [Mon, 4 Nov 2013 08:05:37 +0000 (16:05 +0800)]
ARM: dts: imx51: make pinctrl nodes board specific
Currently, all pinctrl setting nodes are defined in <soc>.dtsi, so that
boards that share the same pinctrl setting do not have to define it time
and time again in <board>.dts. However, along with the devices and use
cases being added continuously, the pinctrl setting nodes under iomuxc
becomes more than expected. This bloats device tree blob for particular
board unnecessarily since only a small subset of those pinctrl setting
nodes will be used by the board. It impacts not only the DTB file size
but also the run-time device tree lookup efficiency.
The patch provides a solution to avoid this device tree bloating problem
while still keeping boards share the common pinctrl setting data by
using DTC macro support. It creates <soc>-pingrp.h and move all those
pinctrl setting data into there as macro definitions. The <board>.dts
will instead define the pinctrl setting nodes that are necessary for the
board by referring to the macros in <soc>-pingrp.h, so that only the
pinctrl setting data that will be used by the board will get compiled
into the DTB for the board.
With the changes, the pinctrl setting nodes becomes local to particular
board, and it makes no sense to continue numbering the setting for
given peripheral. Thus, all the pinctrl phandler name gets updated to
have only peripheral name in there.