]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
9 years agoahci-imx: Port to library-ised ahci_platform
Hans de Goede [Sat, 22 Feb 2014 15:53:37 +0000 (16:53 +0100)]
ahci-imx: Port to library-ised ahci_platform

This avoids the ugliness of creating a nested platform device from probe.

While moving it around anyways, move the mk6q phy init code from probe
to imx_sata_enable, as the phy needs to be re-initialized on resume too,
otherwise the drive won't be recognized after resume.

Tested on a wandboard i.mx6 quad.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
(cherry picked from commit 90870d79d4f28711610dd2e72d8fa616c922d110)

9 years agoARM: sunxi: Add support for Allwinner SUNXi SoCs sata to ahci_platform
Olliver Schinagl [Sat, 22 Feb 2014 15:53:36 +0000 (16:53 +0100)]
ARM: sunxi: Add support for Allwinner SUNXi SoCs sata to ahci_platform

This patch adds support for the ahci sata controler found on Allwinner A10
and A20 SoCs to the ahci_platform driver.

Orignally written by Olliver Schinagl using the approach of having a platform
device which probe method creates a new child platform device which gets
driven by ahci_platform.c, as done by ahci_imx.c .

Refactored by Hans de Goede to add most of the non sunxi specific functionality
to ahci_platform.c and use a platform_data pointer from of_device_id for the
sunxi specific bits.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
(cherry picked from commit c5754b5220f01e8722799d35c04a76e82c62d7d8)

9 years agoahci-platform: "Library-ise" suspend / resume functionality
Hans de Goede [Sat, 22 Feb 2014 15:53:35 +0000 (16:53 +0100)]
ahci-platform: "Library-ise" suspend / resume functionality

Split suspend / resume code into host suspend / resume functionality and
resource enable / disabling phases, and export the new suspend_ / resume_host
functions.

tj: Minor comment formatting updates.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
(cherry picked from commit 648cb6fd83b97f0f772db783a280af300fa9f2bc)

9 years agoahci-platform: "Library-ise" ahci_probe functionality
Hans de Goede [Sat, 22 Feb 2014 15:53:34 +0000 (16:53 +0100)]
ahci-platform: "Library-ise" ahci_probe functionality

ahci_probe consists of 3 steps:
1) Get resources (get mmio, clks, regulator)
2) Enable resources, handled by ahci_platform_enable_resouces
3) The more or less standard ahci-host controller init sequence

This commit refactors step 1 and 3 into separate functions, so the platform
drivers for AHCI implementations which need a specific order in step 2,
and / or need to do some custom register poking at some time, can re-use
ahci-platform.c code without needing to copy and paste it.

Note that ahci_platform_init_host's prototype takes the 3 non function
members of ahci_platform_data as arguments, the idea is that drivers using
the new exported utility functions will not use ahci_platform_data at all,
and hopefully in the future ahci_platform_data can go away entirely.

tj: Minor comment formatting updates.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
(cherry picked from commit 23b07d4cb3c0c850055cf968af44019b8da185fb)

9 years agoahci-platform: Add enable_ / disable_resources helper functions
Hans de Goede [Sat, 22 Feb 2014 15:53:33 +0000 (16:53 +0100)]
ahci-platform: Add enable_ / disable_resources helper functions

tj: Minor comment formatting updates.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
(cherry picked from commit 96a01ba52c60fdd74dd6e8cf06645d06515b1396)

9 years agoahci-platform: Add support for an optional regulator for sata-target power
Hans de Goede [Sat, 22 Feb 2014 15:53:32 +0000 (16:53 +0100)]
ahci-platform: Add support for an optional regulator for sata-target power

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
(cherry picked from commit 4b3e603a298db26c6c37e8b08adcce24d014df13)

9 years agoahci-platform: Add support for devices with more then 1 clock
Hans de Goede [Sat, 22 Feb 2014 15:53:31 +0000 (16:53 +0100)]
ahci-platform: Add support for devices with more then 1 clock

The allwinner-sun4i AHCI controller needs 2 clocks to be enabled and the
imx AHCI controller needs 3 clocks to be enabled.

tj: Minor comment formatting updates.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
(cherry picked from commit 156c5887948cd191417f18026aab9ce26e5a95da)

9 years agolibahci: Allow drivers to override start_engine
Hans de Goede [Sat, 22 Feb 2014 15:53:30 +0000 (16:53 +0100)]
libahci: Allow drivers to override start_engine

Allwinner A10 and A20 ARM SoCs have an AHCI sata controller which needs a
special register to be poked before starting the DMA engine.

This register gets reset on an ahci_stop_engine call, so there is no other
place then ahci_start_engine where this poking can be done.

This commit allows drivers to override ahci_start_engine behavior for use by
the Allwinner AHCI driver (and potentially other drivers in the future).

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
(cherry picked from commit 039ece38da45f5e6a94be3aa7611cf3634bc2461)

9 years agoARM: imx: fix register offset of pll7_usb_host gate clock
Shawn Guo [Fri, 12 Sep 2014 02:40:28 +0000 (10:40 +0800)]
ARM: imx: fix register offset of pll7_usb_host gate clock

There is a copy&paste error on register offset of pll7_usb_host gate
clock introduced by i.MX6 PLL bypass support patches.  The error breaks
the ENET function, because it overwrites the pll6_enet gate bit.

Correct the offset for all i.MX6 clock drivers.

Thanks to Fugang for spotting the error.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
9 years agoARM: dts: imx6sl: add baud clock and clock-names for ssi
Shengjiu Wang [Tue, 9 Sep 2014 05:48:20 +0000 (13:48 +0800)]
ARM: dts: imx6sl: add baud clock and clock-names for ssi

Baud clock is used for bit clock generation in master mode. Ipg clock
is peripheral clock and peripheral access clock.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
(cherry picked from commit 3269ddcbd8307fcbaf1e6bfffe65e288cc5faadb)

9 years agoARM: dts: imx6qdl: add baud clock and clock-names for ssi
Shengjiu Wang [Fri, 5 Sep 2014 08:07:37 +0000 (16:07 +0800)]
ARM: dts: imx6qdl: add baud clock and clock-names for ssi

Baud clock is used for bit clock generation in master mode. Ipg clock
is peripheral clock and peripheral access clock.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
(cherry picked from commit 0a7bd571eb07aac8ae18039982e4be8d5c6b44d2)

9 years agoARM: clk-imx6sl: refine clock tree for SSI
Shengjiu Wang [Fri, 5 Sep 2014 11:21:04 +0000 (19:21 +0800)]
ARM: clk-imx6sl: refine clock tree for SSI

Each SSI has "ssi", "ssi_ipg" clocks, and they share same gate bits.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
(cherry picked from commit 3f87323170408418f1c8d298c7152eb15e40fbf1)

9 years agoregulator: pfuze100: Add PFUZE200 support to Kconfig and module description
Axel Lin [Wed, 5 Mar 2014 10:02:43 +0000 (18:02 +0800)]
regulator: pfuze100: Add PFUZE200 support to Kconfig and module description

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Robin Gong <b38343@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 2cee2121db44cfeee206d0854bedd52344eea444)

9 years agoregulator: pfuze100: Add terminate entry for [i2c|of]_device_id tables
Axel Lin [Tue, 4 Mar 2014 10:20:14 +0000 (18:20 +0800)]
regulator: pfuze100: Add terminate entry for [i2c|of]_device_id tables

Also remove PFUZE_NUM to avoid below build warnings:

  CC [M]  drivers/regulator/pfuze100-regulator.o
drivers/regulator/pfuze100-regulator.c:86:2: warning: excess elements in array initializer [enabled by default]
drivers/regulator/pfuze100-regulator.c:86:2: warning: (near initialization for 'pfuze_device_id') [enabled by default]
drivers/regulator/pfuze100-regulator.c:93:2: warning: excess elements in array initializer [enabled by default]
drivers/regulator/pfuze100-regulator.c:93:2: warning: (near initialization for 'pfuze_dt_ids') [enabled by default]

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit e6c4c3378d82c5eeb136ed06b1a23651bcdaf739)

9 years agoregulator: pfuze100: add pfuze200 support
Robin Gong [Tue, 4 Mar 2014 09:40:36 +0000 (17:40 +0800)]
regulator: pfuze100: add pfuze200 support

support pfuze200 chip which remove SW1C and SW4 based on pfuze100.

Signed-off-by: Robin Gong <b38343@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit f2518480c7b744296a5587990a54e3a284d932b8)

9 years agopfuze100-regulator: Return error on of_node_get() failure
Fabio Estevam [Thu, 20 Feb 2014 16:47:02 +0000 (13:47 -0300)]
pfuze100-regulator: Return error on of_node_get() failure

If of_node_get() fails, we should return an error.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 6428789e11f056d58ed59c0c0aa7d381d0bf50f8)

9 years agopfuze100-regulator: Fix of_node_get() parameter
Fabio Estevam [Wed, 19 Feb 2014 02:46:14 +0000 (23:46 -0300)]
pfuze100-regulator: Fix of_node_get() parameter

Since commit d7857c42 (regulator: pfuze100: Use of_get_child_by_name) we get
the following probe failure:

pfuze100-regulator 1-0008: Full layer: 1, Metal layer: 0
pfuze100-regulator 1-0008: FAB: 0, FIN: 0
pfuze100-regulator 1-0008: regulators node not found
pfuze100-regulator: probe of 1-0008 failed with error -22

Now that of_get_child_by_name() is used we should adjust the device_node pointer
'np' to not get the parent node anymore.

Suggested-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 3e01c75a45740ef4a0ec657d7ca25ad0aa2f50e0)

9 years agoregulator: pfuze100: Use of_get_child_by_name
Sachin Kamat [Fri, 14 Feb 2014 11:50:00 +0000 (17:20 +0530)]
regulator: pfuze100: Use of_get_child_by_name

of_find_node_by_name walks the allnodes list, and can thus walk
outside of the parent node. Use of_get_child_by_name instead.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit d7857c429475677a6a42d0dce7f870d6241edd41)

9 years agoregulator: Make use of rdev_get_id() function where possible.
Thiago Farina [Sun, 26 Jan 2014 23:57:12 +0000 (21:57 -0200)]
regulator: Make use of rdev_get_id() function where possible.

Signed-off-by: Thiago Farina <tfarina@chromium.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit d55efa4d9bff20c98ca05e0bf458691e6869b5a1)

9 years agoARM: imx: remove ENABLE and BYPASS bits from clk-pllv3 driver
Shawn Guo [Tue, 26 Aug 2014 15:06:33 +0000 (23:06 +0800)]
ARM: imx: remove ENABLE and BYPASS bits from clk-pllv3 driver

Since ENABLE and BYPASS bits of PLLs are now implemented as separate
gate and mux clocks by clock drivers, the code handling these two bits
can be removed from clk-pllv3 driver.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
(cherry-picked from commit 4432f4661644dfa4f6d4df5a25e4d091fce41a73)

9 years agoARM: imx6sx: add BYPASS support for PLL clocks
Shawn Guo [Mon, 1 Sep 2014 07:15:57 +0000 (15:15 +0800)]
ARM: imx6sx: add BYPASS support for PLL clocks

This is the same change for imx6sx clock driver as "ARM: imx6q: add BYPASS
support for PLL clocks" for imx6q.  The difference is that only anaclk1
is available on imx6sx.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
(cherry-picked from commit a1a0c0ac5b0e2bdf9870436b0b4f3075380c3372)

9 years agoARM: imx6sl: add BYPASS support for PLL clocks
Shawn Guo [Mon, 1 Sep 2014 06:29:53 +0000 (14:29 +0800)]
ARM: imx6sl: add BYPASS support for PLL clocks

This is the same change for imx6sl clock driver as "ARM: imx6q: add BYPASS
support for PLL clocks" for imx6q.  The difference is that only anaclk1
is available on imx6sl.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
(cherry-picked from commit d9b51b10e48d8ac5b876e5a492b9816a11046e84)

9 years agoARM: imx6q: add BYPASS support for PLL clocks
Shawn Guo [Mon, 1 Sep 2014 06:17:48 +0000 (14:17 +0800)]
ARM: imx6q: add BYPASS support for PLL clocks

The imx6q clock driver currently hard-codes all PLL clocks to source
from OSC24M without BYPASS support.  The patch adds the missing lvds_in
clock which is mutually exclusive with lvds_gate, and implements BYPASS
and BYPASS_CLK_SRC selection for PLL clocks as per Figure 10-3. Primary
Clock Generation in IMX6DQRM, i.e. both BYPASS_CLK_SRC and BYPASS bits
are implemented as mux clocks, and ENABLE bit of PLL clocks is
implemented as a gate clock after BYPASS mux.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
(cherry-picked from commit 1a829f632c30732ea0dca90e55815284c98d7ea3)

9 years agoARM: imx: add an exclusive gate clock type
Shawn Guo [Tue, 26 Aug 2014 07:06:33 +0000 (15:06 +0800)]
ARM: imx: add an exclusive gate clock type

There are a couple of gate clocks are mutually exclusive on i.MX6, i.e.
LVDSCLK1_IBEN and LVDSCLK1_OBEN.  They cannot be enabled simultaneously.
This patches adds an exclusive gate clock type specifically for such
case.  The clock driver will need to call imx_clk_gate_exclusive() to
register a gate clock with parameter exclusive_mask indicating the mask
of gate bits which are mutually exclusive to this gate clock.

Right now, it only handles the exclusive gate clocks which are defined
in a single hardware register, which is the case we're running into
today.  But it can be extended to handle exclusive gate clocks defined
in different registers later if needed.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
(cherry-picked from commit fa5253d0d8ea0f753bf2e6e066eca0b9bfe981e9)

9 years agoARM: clk-imx6q: refine clock tree for SSI
Shengjiu Wang [Thu, 4 Sep 2014 09:48:59 +0000 (17:48 +0800)]
ARM: clk-imx6q: refine clock tree for SSI

Each SSI has "ssi", "ssi_ipg" clocks, and they share same gate bits.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
(cherry-picked from commit 48e1c2255bacc6cd2e30a7b253801c8799835fe2)

9 years agoARM: clk-imx6q: refine clock tree for ASRC
Shengjiu Wang [Thu, 4 Sep 2014 09:48:58 +0000 (17:48 +0800)]
ARM: clk-imx6q: refine clock tree for ASRC

ASRC has "asrc", "asrc_ipg", "asrc_mem" clocks, and they share
the same gate bits.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
(cherry-picked from commit 5db451dd1cdce0f3c234ca5048802ddc2ed0c5d7)

9 years agoARM: clk-imx6q: refine clock tree for ESAI
Shengjiu Wang [Fri, 8 Aug 2014 07:02:47 +0000 (15:02 +0800)]
ARM: clk-imx6q: refine clock tree for ESAI

There are three clock for ESAI, esai_extal, esai_ipg, esai_mem. Rename
'esai' to 'esai_extal', 'esai_ahb' to 'esai_mem', and add 'esai_ipg'.
Make the clock for ESAI more clear and align them with imx6sx.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
(cherry-picked from commit d140d15ae366a002140dc46b73c7bd22ebe16489)

9 years agoENGR00331054 Revert "ENGR00303629-1: ARM: dts: imx6sx-sdb: support NOR Flash SF25FL128S"
Allen Xu [Tue, 9 Sep 2014 22:01:09 +0000 (17:01 -0500)]
ENGR00331054 Revert "ENGR00303629-1: ARM: dts: imx6sx-sdb:  support NOR Flash SF25FL128S"

The DT node for QSPI has already existed, it's not necessary to cherry-pick this
commit.

This reverts commit 84fef446d673601ce1db811dbadca6df2c131fa8.

Signed-off-by: Allen Xu <b45815@freescale.com>
9 years agoENGR00331003 ARM: dts: imx6qdl-sabreauto: add egalax touch screen for branch 3.14.y
Haibo Chen [Wed, 10 Sep 2014 07:32:13 +0000 (15:32 +0800)]
ENGR00331003 ARM: dts: imx6qdl-sabreauto: add egalax touch screen for branch 3.14.y

Add EETI egalax touch screen for i.MX6q-sabreauto board and
i.MX6dl-sabreauto board in the new branch 3.14.y.

Signed-off-by: Haibo Chen <haibo.chen@freescale.com>
9 years agoENGR00330833 ARM: dts: imx6sx-sdb: Add egalax touch screen for branch 3.14.y
Haibo Chen [Tue, 9 Sep 2014 12:54:41 +0000 (20:54 +0800)]
ENGR00330833 ARM: dts: imx6sx-sdb: Add egalax touch screen for branch 3.14.y

Add EETI egalax touch screen for i.MX6sx-sdb board in the
new branch 3.14.y.

Signed-off-by: Haibo Chen <haibo.chen@freescale.com>
9 years agoENGR00330831 ARM: dts: imx6sx-sdb: Add I2C bus support for i.MX6sx-sdb board
Haibo Chen [Tue, 9 Sep 2014 12:28:34 +0000 (20:28 +0800)]
ENGR00330831 ARM: dts: imx6sx-sdb: Add I2C bus support for i.MX6sx-sdb board

Add I2C1, I2C2, I2C3, I2C4 bus support for i.MX6sx-sdb
board in the new branch 3.14.y.

Signed-off-by: Haibo Chen <haibo.chen@freescale.com>
9 years agoENGR00295892-2: ARM: dts: imx6qdl-sabresd: add retain-state-suspended property in dts
Robin Gong [Tue, 21 Jan 2014 02:44:12 +0000 (10:44 +0800)]
ENGR00295892-2: ARM: dts: imx6qdl-sabresd: add retain-state-suspended property in dts

Add property "retain-state-suspended" in dts.

Signed-off-by: Robin Gong <b38343@freescale.com>
(cherry picked from commit aff480769c26ff7f64059f9631b10e8177c4791b)

9 years agoENGR00290496-1 ARM: imx6: Add charging led support on Sabresd board
Robin Gong [Tue, 3 Dec 2013 06:59:05 +0000 (14:59 +0800)]
ENGR00290496-1 ARM: imx6: Add charging led support on Sabresd board

Enable led lighting while the board in charging status. Implement it on Sabresd
board.

Signed-off-by: Robin Gong <b38343@freescale.com>
(cherry picked from commit 7a47183634c524f5ac11c60fe555b0b18c0fe7e0)

9 years agoENGR00330406-2: ARM: configs: imx_v7_defconfig: add battery driver support
Robin Gong [Tue, 9 Sep 2014 01:59:12 +0000 (09:59 +0800)]
ENGR00330406-2: ARM: configs: imx_v7_defconfig: add battery driver support

Add batter driver and max11801 support in config file.

Signed-off-by: Robin Gong <b38343@freescale.com>
9 years agoENGR00330406-1: ARM: dts: imx6: add battery device node in dts file
Robin Gong [Fri, 5 Sep 2014 06:53:09 +0000 (14:53 +0800)]
ENGR00330406-1: ARM: dts: imx6: add battery device node in dts file

Add battery device node on imx6q/dl-sabresd and imx6sl-evk board

Signed-off-by: Robin Gong <b38343@freescale.com>
9 years agoleds: leds-gpio: add retain-state-suspended property
Robin Gong [Mon, 20 Jan 2014 11:41:26 +0000 (03:41 -0800)]
leds: leds-gpio: add retain-state-suspended property

Some gpio-leds need retain the state even in suspend, such as charger led.
But this property missed in devicetree, add it.

(cooloney@gmail.com: fold DT binding updates into this patch)

Signed-off-by: Robin Gong <b38343@freescale.com>
Signed-off-by: Bryan Wu <cooloney@gmail.com>
(cherry picked from commit 4270a78d23eece0b25a13bff1e71d114ec547de4)

9 years agoENGR00330009-3 ARM: imx: change perclk to be from OSC
Anson Huang [Thu, 4 Sep 2014 05:54:04 +0000 (13:54 +0800)]
ENGR00330009-3 ARM: imx: change perclk to be from OSC

Change perclk to be from OSC for GPT on i.MX6SL, as ipg
clk may be scaled when system enters low bus mode, to make
system timer NOT drift, make perclk stay fixed.

Signed-off-by: Anson Huang <b20788@freescale.com>
9 years agoENGR00330009-2 ARM: imx: source gpt per clk from OSC for system timer
Anson Huang [Thu, 4 Sep 2014 05:49:08 +0000 (13:49 +0800)]
ENGR00330009-2 ARM: imx: source gpt per clk from OSC for system timer

On i.MX6Q TO > 1.0, i.MX6DL and i.MX6SX, gpt per clock
can be from OSC instead of ipg_per, as ipg_per's rate
may be scaled when system enter low bus mode, to keep
system timer NOT drift, better to make gpt per clock
at fixed rate, here add support for gpt per clock to
be from OSC which is at fixed rate always.

There are some difference on this implementation of
gpt per clock source, see below for details:

i.MX6Q TO > 1.0: GPT_CR_CLKSRC, 3b'101 selects fix clock
    of OSC / 8 for gpt per clk;
i.MX6DL and i.MX6SX: GPT_CR_CLKSRC, 3b'101 selects OSC
    for gpt per clk, and we must enable GPT_CR_24MEM to
    enable OSC clk source for gpt per, GPT_PR_PRESCALER24M
    is for pre-scaling of this OSC clk, here set it to 8
    to make gpt per clk is 3MHz;
i.MX6SL: ipg_per can be from OSC directly, so no need to
    implement this new clk source for gpt per.

Signed-off-by: Anson Huang <b20788@freescale.com>
9 years agoENGR00330009-1 ARM: imx: add gpt_3m clk for i.mx6qdl and i.mx6sx
Anson Huang [Thu, 4 Sep 2014 05:47:32 +0000 (13:47 +0800)]
ENGR00330009-1 ARM: imx: add gpt_3m clk for i.mx6qdl and i.mx6sx

Add gpt_3m clock for i.mx6qdl, as gpt can source clock
from OSC, some i.MX6 series SOCs has fixed divider of
8 for gpt clock, so here add a fix clk of gpt_3m, register
this clk for system timer in MSL.

Signed-off-by: Anson Huang <b20788@freescale.com>
9 years agoENGR00276567-6 mfd: si476x: Use default configuration when no platform data
Nicolin Chen [Thu, 29 Aug 2013 06:35:44 +0000 (14:35 +0800)]
ENGR00276567-6 mfd: si476x: Use default configuration when no platform data

This would allow the driver to work normally without specific platform data,
when using devicetree for example.

Signed-off-by: Nicolin Chen <b42378@freescale.com>
(cherry picked from commit 23e369b88b546d7b699ca9ec46e195a05c61b717)

9 years agoENGR00276567-4 mfd: si476x: Fix power up failure
Nicolin Chen [Thu, 29 Aug 2013 06:25:22 +0000 (14:25 +0800)]
ENGR00276567-4 mfd: si476x: Fix power up failure

This's some logical error in power-up code, thus fix it.

Signed-off-by: Nicolin Chen <b42378@freescale.com>
(cherry picked from commit 77d97ad1bb77c0e3c60b9781a06b61d4b4667de1)

9 years agoENGR00330403-4: ASoC: fsl_asrc: Add Memory to Memory support
Shengjiu Wang [Tue, 9 Sep 2014 09:21:25 +0000 (17:21 +0800)]
ENGR00330403-4: ASoC: fsl_asrc: Add Memory to Memory support

ASRC M2M function is not able to put upstream due to its self-designed
ioctl protocol. So I just make a single patch for it and make it merge
into P2P driver as simply as possible.

The patch can only be maintained internally unless some one designs a
new protocol or implement the originally protocol by using some common
approach provided by Linux Kernel.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
9 years agoENGR00330403-3: ASoC: fsl: port si476x machine driver from imx_3.10.y
Shengjiu Wang [Fri, 5 Sep 2014 06:55:04 +0000 (14:55 +0800)]
ENGR00330403-3: ASoC: fsl: port si476x machine driver from imx_3.10.y

Port si476x machine dirver for i.MX series SoC and binding doc from imx_3.10.y

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
9 years agoENGR00330403-2: ASoC: fsl_hdmi: port hdmi audio driver from imx_3.10.y
Shengjiu Wang [Wed, 27 Aug 2014 06:52:50 +0000 (14:52 +0800)]
ENGR00330403-2: ASoC: fsl_hdmi: port hdmi audio driver from imx_3.10.y

Port HDMI audio driver (CPU driver, machine driver, platform driver) from
imx_3.10.y.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
9 years agoENGR00330403-1: ASoC: imx-cs42888: port cs42888 machine driver from imx_3.10.y
Shengjiu Wang [Mon, 4 Aug 2014 08:46:01 +0000 (16:46 +0800)]
ENGR00330403-1: ASoC: imx-cs42888: port cs42888 machine driver from imx_3.10.y

Port the cs42888 machine driver from imx_3.10.y and do update according to
new esai driver and asrc driver.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
9 years agoENGR00303629-1: ARM: dts: imx6sx-sdb: support NOR Flash SF25FL128S
Allen Xu [Fri, 14 Mar 2014 20:11:37 +0000 (15:11 -0500)]
ENGR00303629-1: ARM: dts: imx6sx-sdb:  support NOR Flash SF25FL128S

add Spansion SF25FL128S in sdb dts file.

Signed-off-by: Allen Xu <b45815@freescale.com>
(cherry picked from commit b7efdb815a9cfb63b39823226316806aced21b33)

9 years agoENGR00323263 support accessing two QSPI chips simultaneously
Allen Xu [Sat, 26 Jul 2014 10:27:14 +0000 (05:27 -0500)]
ENGR00323263 support accessing two QSPI chips simultaneously

Add mutex on QSPI controller layer to support accessing two QSPI chips
simultaneously.

removed the conflict ddr_io_mode, it's already obsoleted in community
code.

Signed-off-by: Allen Xu <b45815@freescale.com>
9 years agoENGR00319582 iMX6SX: qspi code change to support DSM
Allen Xu [Thu, 8 May 2014 19:56:42 +0000 (14:56 -0500)]
ENGR00319582 iMX6SX: qspi code change to support DSM

add suspend/resume functions and reset qspi controller when resume.

Signed-off-by: Allen Xu <b45815@freescale.com>
(cherry picked from commit cdea16036e968fe2f1011339dfef476e347fb725)

9 years agoENGR00330776 ARM: dts: imx6sl: add dtb support for I2C in branch 3.14.y
Haibo Chen [Tue, 9 Sep 2014 08:53:41 +0000 (16:53 +0800)]
ENGR00330776 ARM: dts: imx6sl: add dtb support for I2C in branch 3.14.y

Add I2C1, I2C2, I2C3 bus support for i.MX6sl-evk board in the new
branch 3.14.y.

Signed-off-by: Haibo Chen <haibo.chen@freescale.com>
9 years agoARM: dts: imx6sx: fix the pad setting for uart CTS_B
Fugang Duan [Tue, 9 Sep 2014 07:01:04 +0000 (15:01 +0800)]
ARM: dts: imx6sx: fix the pad setting for uart CTS_B

The current pinfunc define all uart CTS_B IO port for DCE uart 'CTS_B'
IP port. Since uart IP port 'CTS_B' is output, and it don't need to
set 'SELECT_INPUT' bit.

Signed-off-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
9 years agoENGR00288351 sabresd_battery: fix usb charger detect when resume back on mx6sl
Robin Gong [Fri, 15 Nov 2013 10:29:03 +0000 (18:29 +0800)]
ENGR00288351 sabresd_battery: fix usb charger detect when resume back on mx6sl

Fix  below redundant log after first resume back on mx6slevk:
max8903-charger max8903.12: USB Charger Connected

It's caused by not add enough prepare for uok&dok which are connected, such as
i.MX6SL-EVK. In this case the board only support DC charger detect, so we
didn't need judge the uok pin for USB charger detect, although uok share with
dok pin.

Signed-off-by: Robin Gong <b38343@freescale.com>
(cherry picked from commit c5ba4940a72e8124db7ef91a67b337df4e45e3b0)

9 years agoENGR00277663-3 power: sabresd_battery: remove check charger offset on mx6slevk
Robin Gong [Fri, 30 Aug 2013 07:29:10 +0000 (15:29 +0800)]
ENGR00277663-3 power: sabresd_battery: remove check charger offset on mx6slevk

No need check the charger offset on mx6slevk, since there is no adc converter

Signed-off-by: Robin Gong <b38343@freescale.com>
(cherry picked from commit 7683c62cf2290629f09983744d5a3987a4d64669)

9 years agoENGR00275004-4: power: sabresd_battery: add sabresd_battery driver
Robin Gong [Tue, 13 Aug 2013 09:49:54 +0000 (17:49 +0800)]
ENGR00275004-4: power: sabresd_battery: add sabresd_battery driver

Add sabresd battery driver which based on Max8903 charger IC.

Signed-off-by: Robin Gong <b38343@freescale.com>
(cherry picked from commit 19ac2dfcd1e0ea3f1ae231cfc230315eaa9a41be)

9 years agoENGR00275004-2 ARM: dts: imx6qdl-sabresd: add max11801_ts device
Robin Gong [Tue, 13 Aug 2013 09:18:26 +0000 (17:18 +0800)]
ENGR00275004-2 ARM: dts: imx6qdl-sabresd: add max11801_ts device

Add max11801_ts device node

Signed-off-by: Robin Gong <b38343@freescale.com>
(cherry picked from commit 4cd339fc0ddf1d09a819238907e42081de65f353)

9 years agoENGR00275004-1 input: touchscreen: max11801_ts: Add DCM mode for max11801 ADC
Robin Gong [Tue, 13 Aug 2013 08:58:26 +0000 (16:58 +0800)]
ENGR00275004-1 input: touchscreen: max11801_ts: Add DCM mode for max11801 ADC

We need add DCM mode/AUX mode for ADC converter function of max11801, so that
it can be used to read voltage of battery. Meanwhile, let the driver based on
device tree. The patchset is based on below patch (V3.5.7):

commit 4001774cf51f0140ae7e4e8e0ec1d86475790682
Author: Rong Dian <b38775@freescale.com>
Date:   Fri Jan 18 14:24:28 2013 +0800

    Engr00240284-1 MAX11801: Add DCM aux adc sample function

        1.Add direct conversion mode operations
2.Add aux adc sample function

Signed-off-by: Robin Gong <b38343@freescale.com>
(cherry picked from commit 57b11d40431336c28f15a8a67af41907948c42b6)

9 years agoENGR00329844-04 ARM: dts: imx6qdl: add uart3 pad set for sabreauto board
Fugang Duan [Tue, 9 Sep 2014 06:53:13 +0000 (14:53 +0800)]
ENGR00329844-04 ARM: dts: imx6qdl: add uart3 pad set for sabreauto board

Add imx6qdl-sabreauto board uart3 DTE pad set. To avoid a flood of
dts files, there comment out DTE pinctrl set. If user want to test
DTE mode, it needs to rebuild the DTB file.

(cherry picked from commit dc6028b08c6bd718d57866a1714f3977ba7820d3)

Signed-off-by: Fugang Duan <B38611@freescale.com>
9 years agoENGR00329844-03 ARM: dts: imx6sl-evk: add uart4 support
Fugang Duan [Tue, 9 Sep 2014 06:43:21 +0000 (14:43 +0800)]
ENGR00329844-03 ARM: dts: imx6sl-evk: add uart4 support

Add uart4 DCE and DTE pinctrl set. Since there have pin confliction,
so add new dts file. To avoid a flood of dts files, there comment out
DTE pinctrl set. If user want to test DTE mode, it needs to rebuild
the DTB file.

(cherry picked from commit a3602fa5796bb86ba432474220389ec712bde92a)

Signed-off-by: Fugang Duan <B38611@freescale.com>
9 years agoENGR00329844-02 ARM: dts: imx6q: add uart5 dte set for sabresd board
Fugang Duan [Tue, 9 Sep 2014 06:36:12 +0000 (14:36 +0800)]
ENGR00329844-02 ARM: dts: imx6q: add uart5 dte set for sabresd board

Add uart5 DTE mode pinctrl set for imx6q-sabresd board. Since there
have pin confliction, so add new dts file.

(cherry picked from commit d63b40d5b1b05992d2328ef0bdc80ec5d96f2dce)

Signed-off-by: Fugang Duan <B38611@freescale.com>
9 years agoENGR00329844-01 ARM: dts: imx6sx: add uart5 dte pad set for imx6sx-sdb board
Fugang Duan [Tue, 9 Sep 2014 06:25:25 +0000 (14:25 +0800)]
ENGR00329844-01 ARM: dts: imx6sx: add uart5 dte pad set for imx6sx-sdb board

Add imx6sx-sdb baord uart5 DTE pad set. To avoid a flood of dts files,
there only comment out DTE pinctrl set. If user want to test DTE mode,
it needs to rebuild the DTB file.

(cherry picked from commit 4bd6e1654495e190e61a70c9b2c44fda931e2727)

Signed-off-by: Fugang Duan <B38611@freescale.com>
9 years agoENGR00329865 tty: serial: support IR wake up source
Fugang Duan [Wed, 3 Sep 2014 10:17:07 +0000 (18:17 +0800)]
ENGR00329865 tty: serial: support IR wake up source

Add IR wake up source support.
(cherry picked from commit 1076fddcbd025c9685aa3b51f3d9a298a47aa73e)

Signed-off-by: Fugang Duan <B38611@freescale.com>
9 years agoENGR00322581-04 serial: imx: fix the software flow control
Huang Shijie [Wed, 18 Jun 2014 06:19:09 +0000 (14:19 +0800)]
ENGR00322581-04 serial: imx: fix the software flow control

Controls the CTS pin when the CTSC bit is negated. CTS has no
function when CTSC is asserted. After The CTS pin is low, it
needs to enable CTSC.

The patch just fix the issue.

(cherry picked from commit c6808adc3ccdfa2f3452978b998467d6a21e5b9f)

Signed-off-by: Fugang Duan <B38611@freescale.com>
9 years agoENGR00322581-03 tty: serial: imx: start rx_dma once RXFIFO is not empty
Robin Gong [Fri, 11 Jul 2014 09:47:17 +0000 (17:47 +0800)]
ENGR00322581-03 tty: serial: imx: start rx_dma once RXFIFO is not empty

Start rx_dma once RXFIFO is not empty that can avoid dma request lost
and causes data delay issue.

(cherry picked from commit 9271c626e207f9a4578b4696e520253a3bd0ad32)

Signed-off-by: Robin Gong <b38343@freescale.com>
Signed-off-by: Fugang Duan <B38611@freescale.com>
9 years agoENGR00322581-02 tty: serial: imx: add dma sync for dma tx path
Fugang Duan [Sun, 13 Jul 2014 04:04:17 +0000 (12:04 +0800)]
ENGR00322581-02 tty: serial: imx: add dma sync for dma tx path

For DMA tx path, there have no sync between prepare the tx BD and
dma callback which can ensure tx_wor submit next dma request after
the last finished.

(cherry picked from commit 945d45c39f2afd98fd82464fee005d1e66807367)

Signed-off-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: Robin Gong <b38343@freescale.com>
9 years agoENGR00322581-01 tty: serial: imx: use workque to increase tx performance
Robin Gong [Fri, 11 Jul 2014 09:56:55 +0000 (17:56 +0800)]
ENGR00322581-01 tty: serial: imx: use workque to increase tx performance

Use workque to submit tx dma request to increase tx performance.

(cherry picked from commit 17c20d9d290deb0dd24caed5c074125b0895bad5)

Signed-off-by: Robin Gong <b38343@freescale.com>
Signed-off-by: Fugang Duan <B38611@freescale.com>
9 years agoENGR00321246 tty: serial: imx: fix wakeup fail after suspend for more than 30s
Fugang Duan [Thu, 3 Jul 2014 06:03:27 +0000 (14:03 +0800)]
ENGR00321246 tty: serial: imx: fix wakeup fail after suspend for more than 30s

Before DMA finish, we have to disable flow control, otherwise
there have one corner issue like:
Flow control enable, RTS always is high while there have no uart
terminal connect to imx uart, and then user transmit data by the
uart, after some time, TX FIFO is _FULL_, SDMA still don't complete
the current transcation, so hold on. There no SDMA interrupt generate,
the "dma_wait" event cannot be waked up.

(cherry picked from commit a614a7d01705e1db69956913c810b62bc7f0c83e)

Signed-off-by: Fugang Duan <B38611@freescale.com>
9 years agoENGR00330746 serial: imx: change the wait even to interruptiable
Huang Shijie [Wed, 11 Jun 2014 06:55:53 +0000 (14:55 +0800)]
ENGR00330746 serial: imx: change the wait even to interruptiable

The wait_event() makes the application hang for ever in the following case:
 [1] the hardware flow control is enabled.
 [2] the other end (or the remote end) is terminated, and the TX is still
     waiting for the hardware flow control signal to become asserted.

This patch fixes it by changing the wait_event to wait_event_interruptible.

(cherry picked from commit 20300f6396635224959453809b49f84f24c73094)

Signed-off-by: Huang Shijie <b32955@freescale.com>
9 years agoENGR00318938-2 serial: imx: terminate the RX DMA when the UART is suspending
Huang Shijie [Wed, 11 Jun 2014 05:12:07 +0000 (13:12 +0800)]
ENGR00318938-2 serial: imx: terminate the RX DMA when the UART is suspending

When the uart port is suspending, the RX data is useless.
So in this case, we can terminate the RX DMA right now.

(cherry picked from commit 49b44d48c6887df2e85ae73481689c5cb0b3a048)

Signed-off-by: Huang Shijie <b32955@freescale.com>
9 years agoENGR00318938-1 serial: imx: add UART save/restore during DSM enter/exit
Anson Huang [Tue, 29 Apr 2014 04:33:52 +0000 (12:33 +0800)]
ENGR00318938-1 serial: imx: add UART save/restore during DSM enter/exit

When Mega/Fast mix is off, UART controller will lost power,
so need to add save/restore to make it work after resume.

(cherry picked from commit 1303148939b5c7e746490b65c855b3cc6e770d56)

Signed-off-by: Anson Huang <b20788@freescale.com>
Signed-off-by: Huang Shijie <b32955@freescale.com>
9 years agoENGR00329948-3: dma: imx-sdma: Add hdmi audio support in sdma
Shengjiu Wang [Fri, 5 Sep 2014 10:51:36 +0000 (18:51 +0800)]
ENGR00329948-3: dma: imx-sdma: Add hdmi audio support in sdma

There's a missing script for hdmi audio support in current sdma driver,
thus add it.

This HDMI script doesn't use bd to copy memory like a normal one does
but only to update the memory address for HDMI internal AHB DMA and
then trigger its procedure automatically.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
9 years agoENGR00329948-2: dma: imx-sdma: Add device to device support
Shengjiu Wang [Thu, 4 Sep 2014 02:52:45 +0000 (10:52 +0800)]
ENGR00329948-2: dma: imx-sdma: Add device to device support

This patch adds DEV_TO_DEV support for i.MX SDMA driver to support data
tranfer between two peripheral FIFOs. The per_2_per script requires two
peripheral addresses and two DMA requests, a bit different from the other
scripts.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
9 years agoENGR00329948-1: firmware: imx: add latest sdma script
Shengjiu Wang [Thu, 4 Sep 2014 08:31:10 +0000 (16:31 +0800)]
ENGR00329948-1: firmware: imx: add latest sdma script

This is V3 version sdma firmware, which add support for qspi and canfd.
Another update sdma driver for this new script.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
9 years agoENGR00330358 ARM: IMX6SL-EVK: PXP-V4L2: add pxp v4l2 support to 3.14 branch
Fancy Fang [Fri, 5 Sep 2014 01:23:27 +0000 (09:23 +0800)]
ENGR00330358 ARM: IMX6SL-EVK: PXP-V4L2: add pxp v4l2 support to 3.14 branch

1. Add the 'pxp_v4l2_out' entry to imx6sl-evk.dtb to enable
   the pxp v4l2 output driver.
2. Correct the backlight device node position in imx6sl-evk.dtb.

Signed-off-by: Fancy Fang <chen.fang@freescale.com>
9 years agoENGR00330128 ARM: IMX6SL: PXP: add pxp support to 3.14 branch
Fancy Fang [Wed, 3 Sep 2014 09:17:54 +0000 (17:17 +0800)]
ENGR00330128 ARM: IMX6SL: PXP: add pxp support to 3.14 branch

1. Add pxp related properties to the imx6sl dts to enable this module.
2. Configure the PXP related clocks properly.

Signed-off-by: Fancy Fang <chen.fang@freescale.com>
9 years agoENGR00330163 ARM: clk-imx6sl: correct the pxp and epdc axi clock selections
Fancy Fang [Thu, 4 Sep 2014 07:38:08 +0000 (15:38 +0800)]
ENGR00330163 ARM: clk-imx6sl: correct the pxp and epdc axi clock selections

The parent clocks of IMX6SL_CLK_PXP_AXI_SEL and IMX6SL_CLK_EPDC_AXI_SEL
clocks are not the same. So split the epdc_pxp_sels into two different
clock selections 'pxp_axi_sels' and 'epdc_axi_sels'.

Signed-off-by: Fancy Fang <chen.fang@freescale.com>
Signed-off-by: Robby Cai <R63905@freescale.com>
Acked-by: Shawn Guo <shawn.guo@freescale.com>
9 years agoENGR00329491 ARM: IMX6SX: PXP-V4L2: add pxp v4l2 support to 3.14 branch
Fancy Fang [Mon, 1 Sep 2014 08:09:31 +0000 (16:09 +0800)]
ENGR00329491 ARM: IMX6SX: PXP-V4L2: add pxp v4l2 support to 3.14 branch

1. Add pxp-v4l2 dts support for imx6sx platform.
2. Add v4l2_device to the pxp-v4l2 driver to pass the WARN_ON()
   check new added in 3.14 kernel.

Signed-off-by: Fancy Fang <chen.fang@freescale.com>
9 years agoENGR00329352-3 dts: imx6: ocotp register access needs clock
Dong Aisheng [Thu, 28 Aug 2014 08:37:13 +0000 (16:37 +0800)]
ENGR00329352-3 dts: imx6: ocotp register access needs clock

Without clock, accessing ocotp register will cause system hang.
So define the clock here in device tree for driver to use.

Signed-off-by: Dong Aisheng <b29396@freescale.com>
(cherry picked from commit fa8e45c7c9865d78480043db87eba55a301edd8f)

9 years agoENGR00329352-2 doc: syscon: add clocks as optional property
Dong Aisheng [Thu, 28 Aug 2014 09:01:34 +0000 (17:01 +0800)]
ENGR00329352-2 doc: syscon: add clocks as optional property

User can specify clocks in devicetree which is used for accessing the registers
in this regmap.

Signed-off-by: Dong Aisheng <b29396@freescale.com>
(cherry picked from commit da7e2a7123dfab6e7ad23e4db072ef4611a2b6cd)

9 years agoENGR00329352-1 regmap: regmap-mmio: make clk_id optionally when getting clock
Dong Aisheng [Wed, 27 Aug 2014 07:55:59 +0000 (15:55 +0800)]
ENGR00329352-1 regmap: regmap-mmio: make clk_id optionally when getting clock

According to clock framework, the clk_id could be NULL when getting clock.
But current code relies on a non null clk_id to get clock.
Changing the code to allow a null clk_id to get clock to make it more
reasonable to use.
And the regmap_mmio_gen_context will try to get clock by default but ignore
error if not finding the clock in case some regmap access not reply on
a specific clock.

Signed-off-by: Dong Aisheng <b29396@freescale.com>
(cherry picked from commit e94692d02c66c87c246af3b7c311d02a2d04c739)

9 years agoENGR00320355 dts: imx6: mmc index fixed by controller order
Dong Aisheng [Thu, 26 Jun 2014 09:39:15 +0000 (17:39 +0800)]
ENGR00320355 dts: imx6: mmc index fixed by controller order

Make the linux mmc index to be fixed according to controller order.
This can make user easily to identify which mmcX corresponding to which
controller and kernel be able find the rootfs in a card plugged in a
specific slot persistently.

This is a eventually solution for finding mmc block devices correctly
for different cards on multi slots.

Signed-off-by: Dong Aisheng <b29396@freescale.com>
(cherry picked from commit f53ed08c6af46fc46a244cf3f5f0b639cd41bd16)

9 years agommc: Allow setting slot index via devicetree alias
Sascha Hauer [Fri, 20 Jun 2014 07:08:16 +0000 (15:08 +0800)]
mmc: Allow setting slot index via devicetree alias

As with gpio, uart and others, allow specifying the name_idx via the
aliases-node in the devicetree.

On embedded devices, there is often a combination of removable (e.g.
SD card) and non-removable mmc devices (e.g. eMMC).
Therefore the name_idx might change depending on
- host of removable device
- removable card present or not

This makes it difficult to hard code the root device, if it is on the
non-removable device. E.g. if SD card is present eMMC will be mmcblk1,
if SD card is not present at boot, eMMC will be mmcblk0.

If the aliases-node is not found, the driver will act as before.

The original patch is from here:
https://www.mail-archive.com/linux-mmc@vger.kernel.org/msg26472.html

The patch requires additional alias_id fix or it won't work.
Because according to function definition the max_idx parameter of idx_alloc
is exclusive, so need add 1 or it will be unable to find the proper idx
within an invalid range.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Dong Aisheng <b29396@freescale.com>
(cherry picked from commit 35928d6c6a76a24a16edfa636f4c08293614a1e0)

9 years agoof: Add helper for getting the maximum alias index for a stem
Sascha Hauer [Thu, 22 May 2014 15:30:22 +0000 (17:30 +0200)]
of: Add helper for getting the maximum alias index for a stem

of_alias_max_index will return the maximum number for which an
alias of a given stem exists. This is useful for frameworks
whishing to reserve a number of device slots from dynamic
allocation.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
(cherry picked from commit 5ce2ad39b36fd48b9f77249198655da7cbcc7ee5)

9 years agoENGR00323682 MMC: Fixed boot_config overwritten by switch partition
Ye.Li [Mon, 21 Jul 2014 13:53:50 +0000 (21:53 +0800)]
ENGR00323682 MMC: Fixed boot_config overwritten by switch partition

In MMC driver, two variables: boot_config and part_config  are used to
keep eCSD(179) PARTITION_CONFIG. The part_config is not updated when
set new boot_config, which causes the eCSD(179) is overwritten by
any following partition switching, so the new boot_config is lost.

Signed-off-by: Ye.Li <B37916@freescale.com>
(cherry picked from commit e66d21ade29855299ce048c97830a4bb79373761)

9 years agoENGR00329475-5 ARM: imx: make sure OCOTP clk is enabled in MSL
Anson Huang [Mon, 1 Sep 2014 08:19:17 +0000 (16:19 +0800)]
ENGR00329475-5 ARM: imx: make sure OCOTP clk is enabled in MSL

As some modules need to access ocotp in MSL, so we need to
make sure it is enabled during MSL, after kernel boot up,
clk dirver will disable it in late init.

Signed-off-by: Anson Huang <b20788@freescale.com>
9 years agoENGR00329475-4 ARM: imx: support perclk and uart clk parent to OSC on i.mx6sx
Anson Huang [Mon, 1 Sep 2014 08:08:07 +0000 (16:08 +0800)]
ENGR00329475-4 ARM: imx: support perclk and uart clk parent to OSC on i.mx6sx

change perclk parent to OSC instead of IPG, as IPG clock may
be changed by busfreq.

when kernel command line has "uart_from_osc" defined, uart clk will
select OSC as its parent, this is to make PLL3 be able to be off
for low power purpose, as we need all PLLs off in low power idle
mode.

Signed-off-by: Anson Huang <b20788@freescale.com>
9 years agoENGR00329475-3 ARM: imx: enable CONFIG_DEBUG_FS by default
Anson Huang [Mon, 1 Sep 2014 08:01:09 +0000 (16:01 +0800)]
ENGR00329475-3 ARM: imx: enable CONFIG_DEBUG_FS by default

enable CONFIG_DEBUG_FS by default for kernel debugging.

Signed-off-by: Anson Huang <b20788@freescale.com>
9 years agoENGR00329475-2 ARM: imx: correct gpu2d_axi and gpu3d_axi clock setting
Anson Huang [Mon, 1 Sep 2014 07:34:08 +0000 (15:34 +0800)]
ENGR00329475-2 ARM: imx: correct gpu2d_axi and gpu3d_axi clock setting

On i.MX6Q, gpu2d_axi and gpu3d_axi are either from AXI or
AHB clock, but on i.MX6DL, gpu2d_axi and gpu3d_axi are
from mmdc_ch0_axi_podf, and they can NOT be gated by mmdc_ch0_axi
's clock gate, the mux option register field(CCM_CBCMR)
is marked as "Reserved" now on i.MX6DL RM, so correct these
two clks setting.

Signed-off-by: Anson Huang <b20788@freescale.com>
9 years agoENGR00329475-1 ARM: dts: imx6sx-sdb: add gpio key support
Anson Huang [Mon, 1 Sep 2014 07:24:53 +0000 (15:24 +0800)]
ENGR00329475-1 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>
9 years agoclk: Support for clock parents and rates assigned from device tree
Sylwester Nawrocki [Wed, 18 Jun 2014 15:29:32 +0000 (17:29 +0200)]
clk: Support for clock parents and rates assigned from device tree

This patch adds helper functions to configure clock parents and rates
as specified through 'assigned-clock-parents', 'assigned-clock-rates'
DT properties for a clock provider or clock consumer device.
The helpers are now being called by the bus code for the platform, I2C
and SPI busses, before the driver probing and also in the clock core
after registration of a clock provider.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
[shawn.guo: cherry-pick commit 86be408bfbd8 from upstream]
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
9 years agoclk: Add of_clk_get_by_clkspec() helper
Sylwester Nawrocki [Mon, 19 May 2014 17:22:50 +0000 (19:22 +0200)]
clk: Add of_clk_get_by_clkspec() helper

This patch adds of_clk_get_by_clkspec() helper function, which does only
a struct clk lookup from the clock providers. It is used in the subsequent
patch where parsing of a clock from device tree and the lookup from
providers needed to be split.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
[shawn.guo: cherry-pick commit 7f05e28f9dd3 from upstream]
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
9 years agoENGR00329774-3 ARM: dts: imx6qdl: Add dts support on i.MX6Q/DL-ARD.
Luwei Zhou [Wed, 3 Sep 2014 06:06:21 +0000 (14:06 +0800)]
ENGR00329774-3 ARM: dts: imx6qdl: Add dts support on i.MX6Q/DL-ARD.

Add device tree support on i.MX6Q/DL-ARD platform.

Signed-off-by: Luwei Zhou <b45643@freescale.com>
9 years agoENGR00329774-2 mxc: mlb: Remove the unnecessary code out.
Luwei Zhou [Wed, 3 Sep 2014 06:24:50 +0000 (14:24 +0800)]
ENGR00329774-2 mxc: mlb: Remove the unnecessary code out.

The regulator is not used by MLB driver. Remove the related code out.

Signed-off-by: Luwei Zhou <b45643@freescale.com>
9 years agoENGR00329774-1 ARM: imx_v7_defconfig: Compile MLB to module
Luwei Zhou [Wed, 3 Sep 2014 06:18:46 +0000 (14:18 +0800)]
ENGR00329774-1 ARM: imx_v7_defconfig: Compile MLB to module

Modify the compile MLB driver as a module.

Signed-off-by: Luwei Zhou <b45643@freescale.com>
9 years agoENGR00314144 mxc: mlb: Rename the mxc_mlb150 to mxc_mlb.
luweizhou [Tue, 24 Jun 2014 04:15:00 +0000 (12:15 +0800)]
ENGR00314144 mxc: mlb: Rename the mxc_mlb150 to mxc_mlb.

Since i.MX6SX doesn't supports MLB150 , it is not strictly explicit to
name driver module as mxc_mlb150.ko. Rename it to mxc_mlb.ko.It would be
more common.

Signed-off-by: Luwei Zhou <b45643@freescale.com>
(cherry picked from commit feaf9522a759863c58e47a00f0a070ced8f9e749)

9 years agoENGR00311027 gpu:Limit the memory consumption for webgl
Loren Huang [Thu, 3 Jul 2014 09:54:04 +0000 (17:54 +0800)]
ENGR00311027 gpu:Limit the memory consumption for webgl

-When system memory is less than 200M, we will block further
memory allocation for webgl.
It's for pass webgl 1.0.2 conformance case conformance/rendering/multisample-cor
ruption.html
It's a temperory patch from vivante, should be removed in 5.0.11p2.
Original patch name:5x_crash_patch.diff

Date: Jul 03, 2014
Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Shawn Guo
(cherry picked from commit 0d83d7e87d8d16a097c3c8bec6fa6ac25da225be)

9 years agoENGR00317558 gpu:5.0.11p1 gpu driver kernel part integration
Shawn Xiao [Mon, 1 Sep 2014 05:03:15 +0000 (13:03 +0800)]
ENGR00317558 gpu:5.0.11p1 gpu driver kernel part integration

(cherry picked from commit a6f5349968e494d67f9da339dad433b528ce52fe)

Conflict:
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.c
Revert "ENGR00317981: gpu-viv: use runtime pm for VDDPU management" and
move the same change logic to file gc_hal_kernel_platform_imx6q14.c for
following p1 framework change.

Date: Jun 16, 2014
Signed-off-by: Loren Huang <b02279@freescale.com>
Signed-off-by: Shawn Xiao <b49994@freescale.com>
Acked-by: Shawn Guo
9 years agoENGR00317981 ARM: imx: remove imx_scu_standby_enable()
Shawn Guo [Mon, 1 Sep 2014 01:46:25 +0000 (09:46 +0800)]
ENGR00317981 ARM: imx: remove imx_scu_standby_enable()

With commit 4ed95424c715 ("ARM: 8122/1: smp_scu: enable SCU standby
support"), the STANDBY bit of SCU is handled by core function
scu_enable().  So imx_scu_standby_enable() can be removed now.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
9 years agoENGR00329330 ARM: IMX6SX: PXP: thread wait queue should be init before thread creation
Fancy Fang [Fri, 29 Aug 2014 07:21:54 +0000 (15:21 +0800)]
ENGR00329330 ARM: IMX6SX: PXP: thread wait queue should be init before thread creation

Since the thread function will use the thread wait queue
as soon as the thread is created.

Signed-off-by: Fancy Fang <chen.fang@freescale.com>
(cherry picked from commit 325544504ea2bd73749ef65064be0b4ab885b987)

9 years agoENGR00329334 ARM: IMX6SX: PXP: add dtb support for PXP in 3.14 kernel branch
Fancy Fang [Fri, 29 Aug 2014 07:41:55 +0000 (15:41 +0800)]
ENGR00329334 ARM: IMX6SX: PXP: add dtb support for PXP in 3.14 kernel branch

Add the dtb support for PXP to the new kernel branch
3.14.

Signed-off-by: Fancy Fang <chen.fang@freescale.com>
9 years agoENGR00329278-03 dtsi: imx6sx: sdb: enable lcdif driver
Sandor Yu [Fri, 29 Aug 2014 08:05:15 +0000 (16:05 +0800)]
ENGR00329278-03 dtsi: imx6sx: sdb: enable lcdif driver

-Enable lcdif driver
-Enable pwm backlight driver.

Signed-off-by: Sandor Yu <R01008@freescale.com>
9 years agoENGR00329278-02 dtsi: imx6sl: evk: enable lcdif driver
Sandor Yu [Fri, 29 Aug 2014 03:14:45 +0000 (11:14 +0800)]
ENGR00329278-02 dtsi: imx6sl: evk: enable lcdif driver

-Enable lcdif driver
-Enable pwm backlight driver.

Signed-off-by: Sandor Yu <R01008@freescale.com>