firefly-linux-kernel-4.4.55.git
10 years agoARM: dts: imx6sx-sdb: Add audio support
Fabio Estevam [Wed, 2 Jul 2014 14:58:52 +0000 (11:58 -0300)]
ARM: dts: imx6sx-sdb: Add audio support

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx6sx: Pass the fsl,fifo-depth property
Fabio Estevam [Wed, 2 Jul 2014 14:58:50 +0000 (11:58 -0300)]
ARM: dts: imx6sx: Pass the fsl,fifo-depth property

Like the other mx6 variants, we need to pass fsl,fifo-depth property in dtsi.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx6sx: Fix sdma node
Fabio Estevam [Wed, 2 Jul 2014 14:58:49 +0000 (11:58 -0300)]
ARM: dts: imx6sx: Fix sdma node

Use the correct compatible string for sdma and also provide the sdma firmware
path.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx6: edmqmx6: Add can bus
Silvio Fricke [Tue, 1 Jul 2014 11:09:01 +0000 (13:09 +0200)]
ARM: dts: imx6: edmqmx6: Add can bus

Signed-off-by: Silvio Fricke <silvio.fricke@gmail.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx6: edmqmx6: Add two other i2c buses
Silvio Fricke [Tue, 1 Jul 2014 11:09:00 +0000 (13:09 +0200)]
ARM: dts: imx6: edmqmx6: Add two other i2c buses

Signed-off-by: Silvio Fricke <silvio.fricke@gmail.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx6: edmqmx6: Add PCIe support
Silvio Fricke [Tue, 1 Jul 2014 11:08:59 +0000 (13:08 +0200)]
ARM: dts: imx6: edmqmx6: Add PCIe support

Add support for the PCI express bus available on MX6 Data Modul
edm-qmx6 board.

Signed-off-by: Silvio Fricke <silvio.fricke@gmail.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx25-pdk: Add USB OTG support
Fabio Estevam [Wed, 25 Jun 2014 20:28:52 +0000 (17:28 -0300)]
ARM: dts: imx25-pdk: Add USB OTG support

Tested by loading the g_ether module and doing a ping between mx25pdk and the
host PC via USB.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: i.MX53: add aipstz nodes
Steffen Trumtrar [Wed, 25 Jun 2014 11:01:30 +0000 (13:01 +0200)]
ARM: dts: i.MX53: add aipstz nodes

The AHB to IP bridges (AIPSTZ) allow fine grained access rights management.
Add both bridges to the DT.

Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: mxs: Split M28EVK into SoM and EVK parts
Marek Vasut [Wed, 25 Jun 2014 18:48:33 +0000 (20:48 +0200)]
ARM: dts: mxs: Split M28EVK into SoM and EVK parts

This patch splits the M28EVK device tree file into a common SoM
part and an EVK part. This is needed to make it easier for users
of the SoM to put it into different, non-reference baseboard.

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: i.MX25: Fix gpt timers clocks.
Denis Carikli [Wed, 25 Jun 2014 12:41:35 +0000 (14:41 +0200)]
ARM: dts: i.MX25: Fix gpt timers clocks.

Without that fix, the board freeze during boot.

This appeared after the following commit:
  496f065 ARM: i.MX: Use of_clk_get_by_name() for timer clocks for DT case.

Signed-off-by: Denis Carikli <denis@eukrea.com>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Tested-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: mx6: Disable the keypad in the dtsi files
Fabio Estevam [Wed, 25 Jun 2014 00:13:44 +0000 (21:13 -0300)]
ARM: dts: mx6: Disable the keypad in the dtsi files

When booting a board that does not have a keypad (such as imx6q-sabresd) the
following error is seen on boot:

imx-keypad 20b8000.kpp: OF: linux,keymap property not defined in /soc/aips-bus@02000000/kpp@020b8000
imx-keypad 20b8000.kpp: failed to build keymap
imx-keypad: probe of 20b8000.kpp failed with error -2

Let's disable the keypad functionality in the dtsi files and let each board dts
enable it when needed.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: cubox-i: disable spread-spectrum for Cubox-i eSATA
Russell King [Tue, 24 Jun 2014 10:20:03 +0000 (11:20 +0100)]
ARM: dts: cubox-i: disable spread-spectrum for Cubox-i eSATA

Spread-spectrum doesn't work with Cubox-i hardware.  eSATA devices are
detected, but then fail on normal IO.  Therefore, disable this feature.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: cubox-i: add eSATA DT configuration
Russell King [Tue, 24 Jun 2014 10:19:58 +0000 (11:19 +0100)]
ARM: dts: cubox-i: add eSATA DT configuration

Add the transmit level, boost and attenuation parameters necessary for
the eSATA interface on Cubox-i to work.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx6sx-sdb: Add PMIC support
Fabio Estevam [Mon, 23 Jun 2014 14:21:06 +0000 (11:21 -0300)]
ARM: dts: imx6sx-sdb: Add PMIC support

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx6sx-sdb: Add USB support
Fabio Estevam [Mon, 23 Jun 2014 14:21:05 +0000 (11:21 -0300)]
ARM: dts: imx6sx-sdb: Add USB support

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx6sx: Fix usbmisc compatible string
Fabio Estevam [Mon, 23 Jun 2014 14:21:04 +0000 (11:21 -0300)]
ARM: dts: imx6sx: Fix usbmisc compatible string

Fix usbmisc compatible string so that usbmisc node can be found and USB
functionality can be functional.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx6sx: iomux-gpr syscon is compatible to imx6q
Anson Huang [Mon, 23 Jun 2014 06:04:01 +0000 (14:04 +0800)]
ARM: dts: imx6sx: iomux-gpr syscon is compatible to imx6q

The imx6sx iomuxc-gpr syscon is compatible to imx6q, so let's add
compatible string 'fsl,imx6q-iomuxc-gpr' for imx6sx iomuxc-gpr syscon node.

This is necessary to enable SW workaround for ERR007265,
please refer to imx6_pm_common_init of arch/arm/mach-imx/pm-imx6.c
for detail.

Signed-off-by: Anson Huang <b20788@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx6qdl: use DT macro for clock ID
Shawn Guo [Sun, 15 Jun 2014 12:36:50 +0000 (20:36 +0800)]
ARM: dts: imx6qdl: use DT macro for clock ID

Switch to use DT macro for clock ID, so that device tree source is more
readable.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx6sx-sdb: add gpio key support
Anson Huang [Fri, 20 Jun 2014 05:17:29 +0000 (13:17 +0800)]
ARM: dts: imx6sx-sdb: add gpio key support

This patch adds support for imx6sx-sdb board's gpio keys:

SW4(FUNC1): KEY_VOLUMEUP
SW5(FUNC2): KEY_VOLUMEDOWN

Signed-off-by: Anson Huang <b20788@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx6: add aristainetos board support
Heiko Schocher [Fri, 20 Jun 2014 14:52:47 +0000 (16:52 +0200)]
ARM: dts: imx6: add aristainetos board support

This patch add support for the imx6dl based aristainetos board
with following configuration:

CPU:   Freescale i.MX6DL rev1.1 at 792 MHz
DRAM:  1 GiB
NAND:  512 MiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
SF: Detected N25Q128 with page size 256 Bytes, erase size 64 KiB, total 16 MiB

As this board can used with 2 different display types, the
differences between them are extracted into 2 DTS files, and
the common settings are collected in a common file.

Signed-off-by: Heiko Schocher <hs@denx.de>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: mbimxsd25: cmo-qvga: Fix lcd regulator
Denis Carikli [Tue, 17 Jun 2014 10:46:37 +0000 (12:46 +0200)]
ARM: dts: mbimxsd25: cmo-qvga: Fix lcd regulator

The fixed-regulator's enable-active-high property
is needed to indicate that the GPIO regulator is
active high.

Before that the regulator state was inverted.

Signed-off-by: Denis Carikli <denis@eukrea.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx: remove ssi fsl,mode for audio cards
Markus Pargmann [Tue, 17 Jun 2014 09:06:33 +0000 (11:06 +0200)]
ARM: dts: imx: remove ssi fsl,mode for audio cards

The DAI mode is and should be configured by the sound card driver as
codec and ssi have to be in the right modes to communicate with each
other. It is possible to operate the ssi unit or the codec in master mode,
sometimes even on the same board in different configurations.

With the latest changes in the fsl-ssi driver, the 'fsl,mode' property
is only handled as a fallback property. If the sound card sets the DAI
mode correctly, this fallback configuration is dropped.

Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx6qdl: remove fsl,ssi-dma-events
Markus Pargmann [Tue, 17 Jun 2014 09:06:32 +0000 (11:06 +0200)]
ARM: dts: imx6qdl: remove fsl,ssi-dma-events

All dtsi files where already moved to generic dma bindings. Remove the
old non-generic DMA properties.

Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx5: remove fsl,ssi-dma-events
Markus Pargmann [Tue, 17 Jun 2014 09:06:31 +0000 (11:06 +0200)]
ARM: dts: imx5: remove fsl,ssi-dma-events

All imx5*.dtsi files define the generic dma bindings. Drop the old
non-generic fsl,ssi-dma-events.

Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx50: add ssi dma properties
Markus Pargmann [Tue, 17 Jun 2014 09:06:30 +0000 (11:06 +0200)]
ARM: dts: imx50: add ssi dma properties

Replace old ssi dma properties by the generic dma properties.

Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx6sx: Use "vddarm" as the regulator name
Fabio Estevam [Tue, 17 Jun 2014 04:07:35 +0000 (01:07 -0300)]
ARM: dts: imx6sx: Use "vddarm" as the regulator name

The other i.mx6 variants use "vddarm" as the name of the internal regulator
that powers the core. Use the same convention here for consistency.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx6: remove non-working spdif rxtx4 and rxtx6 clocks
Anssi Hannula [Sun, 15 Jun 2014 23:39:45 +0000 (02:39 +0300)]
ARM: dts: imx6: remove non-working spdif rxtx4 and rxtx6 clocks

The S/PDIF rxtx4 and rxtx6 clock inputs are "ESAI_HCKT" and "MLB clock",
respectively, according to the SoC documentation, and they are currently
mapped to clocks "esai" and "mlb".

However, they do not seem to actually work correctly. Testing on a
Cubox-i system with fsl_spdif driver forced to select one of those as
input will result in I/O errors on audio playback, which I believe means
missing clock signal.

Possibly the "ESAI_HCKT" and "MLB clock" refer to some other clocks
related to ESAI and MLB, or we are missing something else.

Since audio playback will not work if fsl_spdif selects these clocks
(which happens rarely), set the inputs do dummy clocks, at least for
now.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Cc: Mark Brown <broonie@kernel.org>
Acked-by: Nicolin Chen <Guangyu.Chen@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx6: remove wrong spdif rxtx2 clock
Anssi Hannula [Sun, 15 Jun 2014 23:39:44 +0000 (02:39 +0300)]
ARM: dts: imx6: remove wrong spdif rxtx2 clock

The rxtx2 clock of i.MX6 S/PDIF is currently set to "asrc" clock.
However, according to SoC documentation, rxtx2 is connected to
ASRC_EXT_CLK, a different external clock.

Testing on Cubox-i system seems to confirm that: when fsl_spdif is
forced to select rxtx2 as input clock, audio playback fails with an I/O
error.

Set rxtx2 to the dummy clock by default to prevent fsl_spdif from
selecting it.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Cc: Mark Brown <broonie@kernel.org>
Acked-by: Nicolin Chen <Guangyu.Chen@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx6: add support for Ka-Ro TX6 modules
Lothar Waßmann [Thu, 12 Jun 2014 13:05:17 +0000 (15:05 +0200)]
ARM: dts: imx6: add support for Ka-Ro TX6 modules

This patch adds support for the Ka-Ro electronics GmbH TX6 modules.
There are five distinct module types with either i.MX6Q or i.MX6DL and
LVDS or LCD display interface and one DTS file for a complete system
with an i.MX6DL based TX6 module and a baseboard mounted on the back
of a display (imx6dl-tx6dl-comtft.dts).

Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: i.MX35: Add GPT node
Alexander Shiyan [Sat, 7 Jun 2014 12:34:18 +0000 (16:34 +0400)]
ARM: dts: i.MX35: Add GPT node

This patch adds the missing (General Purpose Timer) GPT devicetree node
for i.MX35 CPUs.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx6: add missing compatible and clock properties for kpp
Lothar Waßmann [Fri, 6 Jun 2014 11:02:59 +0000 (13:02 +0200)]
ARM: dts: imx6: add missing compatible and clock properties for kpp

Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx6q-udoo: Add USB Host support
Fabio Estevam [Mon, 2 Jun 2014 22:56:21 +0000 (19:56 -0300)]
ARM: dts: imx6q-udoo: Add USB Host support

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx25: mbimxsd25: Add displays support.
Denis Carikli [Thu, 22 May 2014 14:00:43 +0000 (16:00 +0200)]
ARM: dts: imx25: mbimxsd25: Add displays support.

The CMO-QVGA, DVI-VGA and DVI-SVGA displays were added.

Signed-off-by: Denis Carikli <denis@eukrea.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx6qdl: Add CSI device tree port nodes for IPU1 and IPU2
Philipp Zabel [Tue, 27 May 2014 15:26:37 +0000 (17:26 +0200)]
ARM: dts: imx6qdl: Add CSI device tree port nodes for IPU1 and IPU2

This patch adds CSI subnodes for IPU1 and IPU2 that will contain
ports and endpoints connecting to external elements in the video
pipeline.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: pfla02: Add ethernet phy supply regulator
Philipp Zabel [Mon, 26 May 2014 12:42:56 +0000 (14:42 +0200)]
ARM: dts: pfla02: Add ethernet phy supply regulator

The 2.5V VDD_ETH_IO voltage supplied by the DA9063 LDO4 is used
to power the KSZ9031 PHY DVDDH input and to pull the necessary
pins (including bootstrap pins) high.
It also powers the i.MX6 NVCC_RGMII and NVCC_ENET inputs.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx51-babbage: Add PMIC RTC support
Fabio Estevam [Thu, 22 May 2014 17:45:05 +0000 (14:45 -0300)]
ARM: dts: imx51-babbage: Add PMIC RTC support

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx6: ventana: update model to reflect Dual/Solo CPU types
Tim Harvey [Thu, 22 May 2014 06:04:55 +0000 (23:04 -0700)]
ARM: dts: imx6: ventana: update model to reflect Dual/Solo CPU types

The imx6dl dts supports both DualLite and Solo CPU variants
The imx6q dts supports both Dual and Quad CPU variants

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx6: ventana: change sound device name
Tim Harvey [Thu, 22 May 2014 06:04:54 +0000 (23:04 -0700)]
ARM: dts: imx6: ventana: change sound device name

The 'model' property in the imx-audio-sgtl5000 binding specifies the
user-visible name of the audio device. This should be something common and
not baseboard specific.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dt: imx28-cfa10036: introduce a regulator for mmc0
Alexandre Belloni [Thu, 15 May 2014 15:12:48 +0000 (17:12 +0200)]
ARM: dt: imx28-cfa10036: introduce a regulator for mmc0

The PWM3 pinmux configuration conflicts with gpio 3.28. Introduce a regulator
for mmc0 so that it conflicts with the pwm driver and fails gracefully. The
kernel will then able to access mmc0 normally.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx6sl: add fec sleep pinctrl for pin PM state
Fugang Duan [Tue, 20 May 2014 06:50:44 +0000 (14:50 +0800)]
ARM: dts: imx6sl: add fec sleep pinctrl for pin PM state

when system suspend, need to set pins to low power state to
save IO power consumption, there are three states of pinctrl:
"default", "idle" and "sleep". Currently enet supports default
and sleep state.

Signed-off-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx6qdl-sabresd: Configure the ECSPI1 chip select pin
Fabio Estevam [Wed, 14 May 2014 19:53:55 +0000 (16:53 -0300)]
ARM: dts: imx6qdl-sabresd: Configure the ECSPI1 chip select pin

GPIO4_9 is used as ECSPI1 chip select and it needs to be configured as GPIO.

Configure the pin functionality explicitly in the dts file instead of relying
on the fact that it comes configured as GPIO from POR or from the bootloader.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: Add support for the cpuimx27 board from Eukrea and its baseboard
Alexander Shiyan [Tue, 13 May 2014 14:48:15 +0000 (18:48 +0400)]
ARM: dts: Add support for the cpuimx27 board from Eukrea and its baseboard

This patch adds support for the cpuimx27 board from Eukrea and its
baseboard. This change is intended to further remove non-DT support
for this board.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx: add initial imx6sx-sdb board support
Shawn Guo [Tue, 13 May 2014 13:43:36 +0000 (21:43 +0800)]
ARM: dts: imx: add initial imx6sx-sdb board support

Add initial imx6sx-sdb board support with limited devices enabled.

Signed-off-by: Anson Huang <b20788@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx: add initial imx6sx device tree source
Shawn Guo [Tue, 13 May 2014 12:21:35 +0000 (20:21 +0800)]
ARM: dts: imx: add initial imx6sx device tree source

Add initial device tree source for i.MX6 SoloX SoC.

Signed-off-by: Anson Huang <b20788@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx: add pin function header for imx6sx
Shawn Guo [Sun, 11 May 2014 13:59:26 +0000 (21:59 +0800)]
ARM: dts: imx: add pin function header for imx6sx

Add pin function header for i.MX6 SoloX SoC.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoMerge tag 'imx-soc-3.17' into imx/dt
Shawn Guo [Fri, 18 Jul 2014 08:47:26 +0000 (16:47 +0800)]
Merge tag 'imx-soc-3.17' into imx/dt

The i.MX SoC changes for 3.17:
 - Add devicetree support for i.MX1 and i.MX21 clock driver
 - Use CLOCKSOURCE_OF_DECLARE() to initialize timer for DT targets
 - Use of_clk_init() to initialize i.MX25 and i.MX27 clock driver in
   device tree boot
 - Remove i.MX1 camera support
 - Remove i.MX27 IP Camera and Lite-Kit board support
 - Add suspend and cpuidle support for i.mx6sx
 - Clean up unused clk_register_clkdev() lookups
 - Update imx-weim bus driver to support populating devices on a simple
   bus
 - Switch i.MX27 and i.MX6QDL clock driver to use macro for clock IDs
 - Make i.MX51 a DT only platform and clean up the non-DT support code
 - Support disabling supervisor protect via DT
 - Random defconfig updates

10 years agoARM: imx: clk-vf610: fix FlexCAN clock gating
Stefan Agner [Tue, 15 Jul 2014 12:56:19 +0000 (14:56 +0200)]
ARM: imx: clk-vf610: fix FlexCAN clock gating

Extend the clock control for FlexCAN with the second gate which
enable the clocks in the Clock Divider (CCM_CSCDR2) register too.

Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: i.MX: Use CLOCKSOURCE_OF_DECLARE() for DT targets
Alexander Shiyan [Sun, 13 Jul 2014 05:34:00 +0000 (09:34 +0400)]
ARM: i.MX: Use CLOCKSOURCE_OF_DECLARE() for DT targets

This patch uses clocksource_of_init() call for DT targets.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: i.MX53: globally disable supervisor protect
Steffen Trumtrar [Mon, 7 Jul 2014 09:41:27 +0000 (11:41 +0200)]
ARM: i.MX53: globally disable supervisor protect

Most peripherals on the i.MX53 have an
  Off-Platform Peripheral Access Control Register (OPACR)
in which the access rights (together with the MPROT registers) can be declared.
However, this does not seem to work for example for SSI1+SDMA, because the
supervisor bit is not set for the SDMA unit.
It does work for SSI2, the QSB for example uses SSI2 for its audio. But SSI2 only
works because it does NOT have an OPACR.

The right solution would be to fix the access rights for the SDMA, but the unit
responsible for this is the Central Security Unit (CSU), which of course is NOT
documented. So, until documentation for this is openly available, turn off the
supervisor protection because it cripples the hardware.

Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: i.MX: allow disabling supervisor protect via DT
Steffen Trumtrar [Mon, 7 Jul 2014 09:41:26 +0000 (11:41 +0200)]
ARM: i.MX: allow disabling supervisor protect via DT

The i.MX SoCs allow to setup fine grained access rights to peripherals on the
AIPS bus.
This is done via the Peripheral Access Register (PAR) in e.g. the i.MX21
or in later SoC versions the Off-Platform Peripheral Access Control Register
(OPACR), e.g. i.MX53.
Under certain circumstances this leads to problems in which bus masters are
not granted their access rights to peripherals.
To be able to disable these restrictions on DT platforms, add a helper function
that looks for AIPS nodes in the DT and disables them for every compatible node
it finds.
The compatible has to be declared in the mach-specific entry file, where this
helper function should then be called.

Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: i.MX27 clk: Add 26 MHz oscillator circuit clock gate
Alexander Shiyan [Sat, 5 Jul 2014 05:36:09 +0000 (09:36 +0400)]
ARM: i.MX27 clk: Add 26 MHz oscillator circuit clock gate

This patch adds missing 26 MHz oscillator circuit clock gate support.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: i.MX27 clk: Remove unused definitions
Alexander Shiyan [Sat, 5 Jul 2014 05:36:08 +0000 (09:36 +0400)]
ARM: i.MX27 clk: Remove unused definitions

This patch removes definitions which not used anywhere in the driver.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: i.MX27 clk: Introduce DT include for clock provider
Alexander Shiyan [Sat, 5 Jul 2014 05:36:06 +0000 (09:36 +0400)]
ARM: i.MX27 clk: Introduce DT include for clock provider

Use clock defines in order to make devicetrees more human readable.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: i.MX: Remove Freescale Logic Product Development i.MX27 Lite-Kit board support
Alexander Shiyan [Sat, 5 Jul 2014 05:00:01 +0000 (09:00 +0400)]
ARM: i.MX: Remove Freescale Logic Product Development i.MX27 Lite-Kit board support

The board has no insufficient support to be fully functional and seems
has no users. This patch removes support for this board.
However, the support may be added in the future by using the devicetree.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: i.MX: Remove excess symbols ARCH_MX1, ARCH_MX25 and MACH_MX27
Alexander Shiyan [Sat, 5 Jul 2014 04:51:57 +0000 (08:51 +0400)]
ARM: i.MX: Remove excess symbols ARCH_MX1, ARCH_MX25 and MACH_MX27

This patch removes excess symbols ARCH_MX1, ARCH_MX25 and MACH_MX27.
Instead we use SOC_IMX*.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: i.MX: Remove i.MX1 camera support
Alexander Shiyan [Sat, 5 Jul 2014 04:51:38 +0000 (08:51 +0400)]
ARM: i.MX: Remove i.MX1 camera support

i.MX1 camera driver has been removed by the commit 90b055898e.
This patch removes remaining support files for this camera.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: imx: use PTR_ERR_OR_ZERO
Fabian Frederick [Fri, 4 Jul 2014 19:03:10 +0000 (21:03 +0200)]
ARM: imx: use PTR_ERR_OR_ZERO

replace IS_ERR/PTR_ERR

Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Fabian Frederick <fabf@skynet.be>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agobus: imx-weim: populate devices on a simple bus
Liu Ying [Fri, 4 Jul 2014 09:00:41 +0000 (17:00 +0800)]
bus: imx-weim: populate devices on a simple bus

There could be some memory map devices located in
a certain chip select region of the i.MX WEIM.
The devices could be attached to a simple bus(for
example, a AXI bus) whose root node is one child
device tree node of the i.MX WEIM device tree node.
There should be a bridge(very likely, software
transparent) bewteen the i.MX WEIM and the simple bus.
This patch makes the i.MX WEIM driver possible to
populate devices on a simple bus.  In this way, people
may try various IPs(in a FPGA, maybe) outside of i.MX
chips with the i.MX WEIM embedded.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: imx: build cpu_is_imx6sl function conditionally
Arnd Bergmann [Thu, 3 Jul 2014 14:22:54 +0000 (16:22 +0200)]
ARM: imx: build cpu_is_imx6sl function conditionally

imx6q_pm_enter calls imx6sl_set_wait_clk when run on an imx6sl
based machine. However if support for imx6sl is not enabled
at compile time, this prevents us from building the kernel and
we get this link error instead:

arch/arm/mach-imx/built-in.o: In function `imx6q_pm_enter':
:(.text+0x4b84): undefined reference to `imx6sl_set_wait_clk'

This makes the cpu_is_imx6sl function conditionally return false
if imx6sl is disabled at compile-time, which matches what the
older cpu_is_mx* macros did. We have similar inline functions for
the other imx6 variants, but so far I have not run into a case
where the extra #ifdef is necessary.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: imx: imx6sx uses imx6q cpuidle code
Arnd Bergmann [Thu, 3 Jul 2014 14:16:06 +0000 (16:16 +0200)]
ARM: imx: imx6sx uses imx6q cpuidle code

Building a kernel for imx6sx but without imx6q support results in
this link error because of the missing cpuidle driver:

arch/arm/mach-imx/built-in.o: In function `imx6sx_init_late'::(.init.text+0xc228):
 undefined reference to `imx6q_cpuidle_init'

This patch adds a Makefile entry so we always build support for
the imx6q_cpuidle code when at least one of the 6sx or 6q variants
are enabled.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: imx: drop PL310 errata 588369 and 727915
Shawn Guo [Wed, 2 Jul 2014 07:24:30 +0000 (15:24 +0800)]
ARM: imx: drop PL310 errata 588369 and 727915

The PL310 integrated on i.MX6 series and VF610 are revision r3p1 and
later.  Per ARM PL310 errata document, 588369 is fixed in r2p0 and
727915 is fixed in r3p1.  Neither is needed for i.MX6 or VF610.  So
let's drop them.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: imx_v6_v7_defconfig: add FSL_EDMA and PRINTK_TIME
Stefan Agner [Wed, 2 Jul 2014 19:13:19 +0000 (21:13 +0200)]
ARM: imx_v6_v7_defconfig: add FSL_EDMA and PRINTK_TIME

Add EDMA for DMA support for Vybrid SoCs. Also add printk time.

Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: imx: clk-imx6sx: register SSI/SSI_IPG as shared gate clocks
Fabio Estevam [Wed, 2 Jul 2014 14:58:51 +0000 (11:58 -0300)]
ARM: imx: clk-imx6sx: register SSI/SSI_IPG as shared gate clocks

SSI and SSI_IPG are clocks controlled by the same clock gating field, so
register them with imx_clk_gate2_shared.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: imx_v6_v7_defconfig: Enable flexcan driver for can support
Silvio Fricke [Tue, 1 Jul 2014 11:09:02 +0000 (13:09 +0200)]
ARM: imx_v6_v7_defconfig: Enable flexcan driver for can support

Signed-off-by: Silvio Fricke <silvio.fricke@gmail.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: imx_v6_v7_defconfig: Enable STMPE gpio support
Silvio Fricke [Tue, 1 Jul 2014 11:08:58 +0000 (13:08 +0200)]
ARM: imx_v6_v7_defconfig: Enable STMPE gpio support

Enable STMPE gpio support as this is used on MX6 Data Modul edm-qmx6
board.

Signed-off-by: Silvio Fricke <silvio.fricke@gmail.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: imx: mark .dt_compat as const
Shawn Guo [Tue, 1 Jul 2014 08:03:00 +0000 (16:03 +0800)]
ARM: imx: mark .dt_compat as const

Otherwise GCC will mark the .init.rodata section R/W, which causes
a compile error once we add other real R/O data.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: mx6: Only check for 1.2GHz for mx6quad
Fabio Estevam [Tue, 1 Jul 2014 03:12:52 +0000 (00:12 -0300)]
ARM: mx6: Only check for 1.2GHz for mx6quad

It is only the mx6quad variant that can run up to 1.2GHz, so add the check
accordingly.

This avoids getting the following warning on a mx6solo:

failed to disable 1.2 GHz OPP

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: imx_v4_v5_defconfig: Add USB device options
Fabio Estevam [Wed, 25 Jun 2014 20:28:53 +0000 (17:28 -0300)]
ARM: imx_v4_v5_defconfig: Add USB device options

Allow USB device to work by default.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: i.MX25 clk: Use of_clk_init() for DT case
Denis Carikli [Wed, 25 Jun 2014 12:41:36 +0000 (14:41 +0200)]
ARM: i.MX25 clk: Use of_clk_init() for DT case

Replace .init_time() hook with of_clk_init() for DT targets.

Based on:
  d4347ee ARM: i.MX27 clk: Use of_clk_init() for DT case

Signed-off-by: Denis Carikli <denis@eukrea.com>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM i.MX25 clk: Fix gpt timer clock.
Denis Carikli [Wed, 25 Jun 2014 12:41:34 +0000 (14:41 +0200)]
ARM i.MX25 clk: Fix gpt timer clock.

The gpt0 timer clock has been wrong since:
  6bbaec5 ARM i.MX25: implement clocks using common clock framework

Signed-off-by: Denis Carikli <denis@eukrea.com>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: i.MX21 clk: Add devicetree support
Alexander Shiyan [Sun, 22 Jun 2014 13:17:09 +0000 (17:17 +0400)]
ARM: i.MX21 clk: Add devicetree support

This patch adds devicetree support CCM module for i.MX21 CPUs.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: i.MX21 clk: Cleanup driver
Alexander Shiyan [Sun, 22 Jun 2014 13:17:08 +0000 (17:17 +0400)]
ARM: i.MX21 clk: Cleanup driver

This is a cleanup for i.MX21 clk driver. This change includes:
- Reduce license text.
- Remove unused definitions.
- Remove unused #include and sort the rest.
- Remove useless comment.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: i.MX21 clk: Remove clk_register_clkdev() for unused clocks
Alexander Shiyan [Sun, 22 Jun 2014 13:17:07 +0000 (17:17 +0400)]
ARM: i.MX21 clk: Remove clk_register_clkdev() for unused clocks

This patch removes clk_register_clkdev() for the clocks that do not
have any users for boards and drivers.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: i.MX21 clk: Clock initialization rework
Alexander Shiyan [Sun, 22 Jun 2014 13:17:06 +0000 (17:17 +0400)]
ARM: i.MX21 clk: Clock initialization rework

This patch perform rework i.MX21 clock initialization. This includes
adding missing clocks and sort clocks by register address.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: clk-imx51-imx53: Remove clk_register_clkdev()
Fabio Estevam [Tue, 24 Jun 2014 18:42:58 +0000 (15:42 -0300)]
ARM: clk-imx51-imx53: Remove clk_register_clkdev()

mx51 and mx53 are device tree only platforms, so we no longer need all these
calls to clk_register_clkdev().

Only keep cpu0 and gpc_dvfs clk_register_clkdev() calls.

Tested on imx51-babbage and imx53-qsb boards.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: imx: add standby mode support for suspend
Anson Huang [Mon, 23 Jun 2014 08:42:44 +0000 (16:42 +0800)]
ARM: imx: add standby mode support for suspend

Add standby mode support for suspend, to enter standby mode:

echo standby > /sys/power/state;

Use UART or RTC alarm to wake up system, when system enters
standby mode, SOC will enter STOP mode with ARM core kept
power on and 24M XTAL on.

Signed-off-by: Anson Huang <b20788@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: imx: mem bit must be cleared before entering DSM mode
Anson Huang [Mon, 23 Jun 2014 08:42:43 +0000 (16:42 +0800)]
ARM: imx: mem bit must be cleared before entering DSM mode

According to hardware design, mem bit must be clear before
entering DSM mode, as ARM core will be power gated in DSM mode.

Signed-off-by: Anson Huang <b20788@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: imx6qdl: switch to use macro for clock ID
Shawn Guo [Sun, 15 Jun 2014 11:35:10 +0000 (19:35 +0800)]
ARM: imx6qdl: switch to use macro for clock ID

Instead of using enum for clock ID, let's switch imx6qdl clock driver to
use macro.  In this case, device tree can reuse these macros to improve
readability.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: imx: add cpuidle support for i.mx6sx
Anson Huang [Fri, 20 Jun 2014 05:44:05 +0000 (13:44 +0800)]
ARM: imx: add cpuidle support for i.mx6sx

Add cpuidle support for i.MX6SX, derive from i.MX6Q's
cpuidle, two levels supported:

1. WFI;
2. WAIT mode.

Signed-off-by: Anson Huang <b20788@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: imx: add suspend support for i.mx6sx
Anson Huang [Fri, 20 Jun 2014 05:20:54 +0000 (13:20 +0800)]
ARM: imx: add suspend support for i.mx6sx

Add suspend support for i.MX6SX.

To enter suspend, echo mem > /sys/power/state.
To exit suspend, using RTC alarm or enable debug UART wakeup.

Signed-off-by: Anson Huang <b20788@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: i.MX: Remove Freescale i.MX27 IP Camera board support
Alexander Shiyan [Wed, 18 Jun 2014 17:26:39 +0000 (21:26 +0400)]
ARM: i.MX: Remove Freescale i.MX27 IP Camera board support

The board has no insufficient support to be fully functional and seems
has no users. This patch removes support for this board. However, the
support may be added in the future by using the devicetree.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: i.MX system: Add a reset fallback if base address of watchdog is not set
Alexander Shiyan [Fri, 13 Jun 2014 07:26:13 +0000 (11:26 +0400)]
ARM: i.MX system: Add a reset fallback if base address of watchdog is not set

This patch adds a reset fallback if base address of watchdog is not set.
This is intended for a targets not compatible with imx-21 watchdog,
i.MX1 for example.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: i.MX system: Simplify handling watchdog clock
Alexander Shiyan [Fri, 13 Jun 2014 07:26:12 +0000 (11:26 +0400)]
ARM: i.MX system: Simplify handling watchdog clock

This patch simplifies handling watchdog clock a bit.
As an additional change, now we properly check WDT clock in a reset
function.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: imx_v6_v7_defconfig: Select CONFIG_SOC_IMX6SX
Fabio Estevam [Tue, 17 Jun 2014 00:15:52 +0000 (21:15 -0300)]
ARM: imx_v6_v7_defconfig: Select CONFIG_SOC_IMX6SX

Let mx6sx be built by default.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: i.MX clk: Move clock check function in common location
Alexander Shiyan [Tue, 10 Jun 2014 15:40:26 +0000 (19:40 +0400)]
ARM: i.MX clk: Move clock check function in common location

This patch moves clock check function in common i.MX location
and switch i.MX clk drivers to use this new function.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: i.MX27 clk: Use of_clk_init() for DT case
Alexander Shiyan [Sat, 7 Jun 2014 16:09:26 +0000 (20:09 +0400)]
ARM: i.MX27 clk: Use of_clk_init() for DT case

Replace .init_time() hook with of_clk_init() for DT targets.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: i.MX27 clk: Separate DT and non-DT init procedure
Alexander Shiyan [Sat, 7 Jun 2014 16:09:25 +0000 (20:09 +0400)]
ARM: i.MX27 clk: Separate DT and non-DT init procedure

This patch separates DT and non-DT clock initialization procedure,
so we can avoid a lot of unneeded clk_register_clkdev() for DT case.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: i.MX: Remove excess variable
Alexander Shiyan [Tue, 27 May 2014 09:04:47 +0000 (13:04 +0400)]
ARM: i.MX: Remove excess variable

Base address for driver is global, there are no need to use
intermediate variable for it.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: i.MX: Use of_clk_get_by_name() for timer clocks for DT case.
Alexander Shiyan [Tue, 27 May 2014 09:04:46 +0000 (13:04 +0400)]
ARM: i.MX: Use of_clk_get_by_name() for timer clocks for DT case.

Use of_clk_get_by_name() for timer clocks for DT case.
This patch eliminates a lot of unneeded clk_register_clkdev()
calls for GPT.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: imx: defconfig: Select CONFIG_FHANDLE
Fabio Estevam [Fri, 23 May 2014 13:27:37 +0000 (10:27 -0300)]
ARM: imx: defconfig: Select CONFIG_FHANDLE

CONFIG_FHANDLE=y is needed when running systemd with version >=210, so that it
can spawn a serial tty via getty.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: imx5: remove mx51.h and mx53.h
Shawn Guo [Tue, 20 May 2014 07:54:58 +0000 (15:54 +0800)]
ARM: imx5: remove mx51.h and mx53.h

Now all the macros in mx51.h and mx53.h are used nowhere, so remove
them.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: imx5: clean function declarations in mx51.h
Shawn Guo [Tue, 20 May 2014 07:09:42 +0000 (15:09 +0800)]
ARM: imx5: clean function declarations in mx51.h

The mx51_display_revision() is a dead declaration.  Remove it.  Also,
move mx51_revision() into common.h.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: imx5: remove file mm-imx5.c
Shawn Guo [Tue, 20 May 2014 07:46:46 +0000 (15:46 +0800)]
ARM: imx5: remove file mm-imx5.c

The only code left in mm-imx5.c is to create static mapping.  While all
IMX platform code are moved to use dynamic mapping, the file can just be
removed now.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: imx5: move init hooks into mach-imx5x.c
Shawn Guo [Tue, 20 May 2014 07:34:06 +0000 (15:34 +0800)]
ARM: imx5: move init hooks into mach-imx5x.c

These imx5 init_early[late] hooks are called only from mach-imx5x.c.
Let's move them into mach-imx5x.c.

While at it, replace the static mapping in imx51_ipu_mipi_setup() with
dynamic mapping.  Also this function and imx_src_init() do not
necessarily to be called at .init_early hook, so move them into
.init_machine.

The mxc_iomux_v3_init() is dropped from imx51_init_early() in the
moving, since it's only needed by non-DT boot.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: imx5: use dynamic mapping for Cortex and GPC block
Shawn Guo [Tue, 20 May 2014 06:55:15 +0000 (14:55 +0800)]
ARM: imx5: use dynamic mapping for Cortex and GPC block

The imx5 pm code uses static mapping to access Cortex and GPC registers.
The patch create struct imx5_pm_data to encode physical address of
Cortex and GPC block, and create dynamic mapping for them at run-time.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: imx5: reuse clock CCM mapping in pm code
Shawn Guo [Tue, 20 May 2014 05:41:36 +0000 (13:41 +0800)]
ARM: imx5: reuse clock CCM mapping in pm code

The imx5 pm code needs to access CCM registers.  Let's remove the use
of CCM static mapping in pm code by reusing the dynamic mapping created
in clock code.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: imx5: use dynamic mapping for DPLL block
Shawn Guo [Tue, 20 May 2014 05:08:45 +0000 (13:08 +0800)]
ARM: imx5: use dynamic mapping for DPLL block

Replace the static mapping of DPLL block with dynamic mapping by
calling ioremap().  Ideally, this should be done by calling of_iomap(),
so that the physical address of DPLL can also be retrieved from device
tree.  But unfortunately, DPLL blocks are not defined in DT in the first
place.  So to maintain the compatibility of existing DTB, we use
ioremap() with physical address defines in the code.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: imx5: use dynamic mapping for CCM block
Shawn Guo [Tue, 20 May 2014 03:20:28 +0000 (11:20 +0800)]
ARM: imx5: use dynamic mapping for CCM block

Replace the static mapping of CCM block with dynamic mapping and
retrieve CCM base address from device tree.  Though it's not nice to
encode the variable ccm_base in macros, it helps to avoid a massive
churn on the code.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: imx5: remove header crm-regs-imx5.h
Shawn Guo [Tue, 20 May 2014 02:23:50 +0000 (10:23 +0800)]
ARM: imx5: remove header crm-regs-imx5.h

Most of the macros in crm-regs-imx5.h are used nowhere.  Let's move the
needed ones into the C files, and remove the header.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: imx5: retrieve iim base from device tree
Shawn Guo [Mon, 19 May 2014 14:23:43 +0000 (22:23 +0800)]
ARM: imx5: retrieve iim base from device tree

Instead of using static define and mapping, the patch changes imx5 code
that reads chip revision from IIM to retrieve base address from device
tree and use dynamic mapping.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>