Robby Cai [Wed, 28 Aug 2013 02:05:20 +0000 (10:05 +0800)]
ENGR00276832-6 epdc: move timing paramater into the driver
Although now in 3.10 there's display timing dts framework but for epdc
driver there are other timing parameters besides the fb_videomode. It also
makes sense to move the timing parameters in epdc driver.
Robby Cai [Wed, 14 Aug 2013 06:12:43 +0000 (14:12 +0800)]
ENGR00276832-5 epdc: set epdc/pxp axi clock to maximum 200MHz
set epdc pix clock's parent clock to pll5_video for imx6sl
set epdc/pxp axi clock's parent clock to pll2_pfd2 for imx6dl
set epdc/pxp axi clock to 200MHz for both imx6dl and imx6sl
(on imx6dl, epdc/pxp axi clock is same one, named 'ipu2')
Robby Cai [Wed, 14 Aug 2013 06:12:43 +0000 (14:12 +0800)]
ENGR00276832-4 epdc: port the driver to 3.10 kernel
merge the mach/epdc.h into linux/mxcfb_epdc.h
drop VM_RESERVED flag as deprecated.
drop VM_IO flag as it's automatically set in remap_pfn_range()
use <linux/platform_data/dma-imx.h> instead of <mach/dma.h>
use module_platform_driver()
add binding dts document for epdc fb driver
change the devname for interrupt from 'fb_dma' to 'epdc' to make it clear
Nicolin Chen [Fri, 30 Aug 2013 08:02:35 +0000 (16:02 +0800)]
ENGR00277471 ASoC: fsl: Fix set-mute-failed issue after WM8962 capture
We only need to mute WM8962 after playback, so add direction check
before doing mute.
And a mute failure would cause hw_free() abruptly return after it,
which might drop the essential procedure code for FLL controlling.
Thus put mute before FLL controlling code and drop its return check.
Acked-by: Wang Shengjiu <b02247@freescale.com> Signed-off-by: Nicolin Chen <b42378@freescale.com>
Nicolin Chen [Wed, 28 Aug 2013 04:04:46 +0000 (12:04 +0800)]
ASoC: fsl: Add S/PDIF machine driver
This patch implements a device-tree-only machine driver for Freescale
i.MX series Soc. It works with spdif_transmitter/spdif_receiver and
fsl_spdif.c drivers.
Signed-off-by: Nicolin Chen <b42378@freescale.com> Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Mark Brown <broonie@linaro.org>
Anson Huang [Thu, 29 Aug 2013 20:36:54 +0000 (16:36 -0400)]
ENGR00277271 ARM: imx: Disable WAIT mode for i.MX6SL during kernel boot up
WAIT mode is enabled by default due to hardware reset,
so we need to disable it during kernel boot up, otherwise,
system may crash without proper setting for WAIT mode.
CPUIdle driver will enable WAIT mode later. Below is the
stack dump when crash, this patch fix it:
Currently RBC is enabled right before DSM in asm code
and disabled after resume, as the RBC enable didn't call
imx6_enable_rbc function, so everytime disabling RBC will
be skipped by the logic inside imx6_enable_rbc, this will
disobey the RBC rules: RBC counter should be cleared
after resume and adding at least 2 CKIL(32KHz) clocks with
all wakeup sources masked in GPC;
Nicolin Chen [Thu, 29 Aug 2013 06:27:32 +0000 (14:27 +0800)]
ENGR00276567-5 mfd: si476x: Add two involatile registers support
These two regsiters would be used by si476x-codec driver. Setting them as
involatile registers would allow codec driver to set the value into cache
and to sync them after power-up.
Nicolin Chen [Fri, 23 Aug 2013 11:42:56 +0000 (19:42 +0800)]
ENGR00276567-3 ARM: imx6q: Set pll4 as ssi's parent
PLL4 is a flexible pll that can be set to a value as we need,
so we set it to an value that can easily derive 44.1K and 48K
and then put ssi baud clock as its child clock.
Sascha Hauer [Mon, 5 Aug 2013 12:40:44 +0000 (14:40 +0200)]
OF: Add helper for matching against linux,stdout-path
devicetrees may have a linux,stdout-path property in the chosen
node describing the console device. This adds a helper function
to match a device against this property so a driver can call
add_preferred_console for a matching device.
Richard Zhu [Wed, 14 Aug 2013 04:15:38 +0000 (12:15 +0800)]
ENGR00275213-1 arm: pcie: enable pcie on imx6 platforms
Add PCIe related clocks definitions and select pci on imx6
platforms
toggle bit18 of grp1 fix pcie pm issue:
Set bit18 of gpr1 before enter into supend, and clean it
after resume, can fix the following errata.
Errata ERR005723_PCIe PCIe does not support L2 Power Down.
Jingoo Han [Wed, 31 Jul 2013 08:14:10 +0000 (17:14 +0900)]
PCI: exynos: Split into Synopsys part and Exynos part
Exynos PCIe IP consists of Synopsys specific part and Exynos
specific part. Only core block is a Synopsys Designware part;
other parts are Exynos specific.
Also, the Synopsys Designware part can be shared with other
platforms; thus, it can be split two parts such as Synopsys
Designware part and Exynos specific part.
Thomas Petazzoni [Wed, 15 May 2013 13:36:54 +0000 (15:36 +0200)]
pci: mvebu: enable driver usage on Kirkwood
We allow the pci-mvebu driver to be compiled on the Kirkwood platform,
and add the 'marvell,kirkwood-pcie' as a compatible string supported
by the driver.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Thomas Petazzoni [Thu, 16 May 2013 15:55:22 +0000 (17:55 +0200)]
pci: PCIe driver for Marvell Armada 370/XP systems
This driver implements the support for the PCIe interfaces on the
Marvell Armada 370/XP ARM SoCs. In the future, it might be extended to
cover earlier families of Marvell SoCs, such as Dove, Orion and
Kirkwood.
The driver implements the hw_pci operations needed by the core ARM PCI
code to setup PCI devices and get their corresponding IRQs, and the
pci_ops operations that are used by the PCI core to read/write the
configuration space of PCI devices.
Since the PCIe interfaces of Marvell SoCs are completely separate and
not linked together in a bus, this driver sets up an emulated PCI host
bridge, with one PCI-to-PCI bridge as child for each hardware PCIe
interface.
In addition, this driver enumerates the different PCIe slots, and for
those having a device plugged in, it sets up the necessary address
decoding windows, using the mvebu-mbus driver.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Bjorn Helgaas <bhelgaas@google.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Andrew Murray [Thu, 16 May 2013 15:55:17 +0000 (17:55 +0200)]
of/pci: Provide support for parsing PCI DT ranges property
This patch factors out common implementation patterns to reduce overall kernel
code and provide a means for host bridge drivers to directly obtain struct
resources from the DT's ranges property without relying on architecture specific
DT handling. This will make it easier to write archiecture independent host bridge
drivers and mitigate against further duplication of DT parsing code.
Additionally the implementation takes care of adjacent ranges and merges them
into a single range (as was the case with powerpc and microblaze).
Signed-off-by: Andrew Murray <Andrew.Murray@arm.com> Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: Rob Herring <rob.herring@calxeda.com> Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: Linus Walleij <linus.walleij@linaro.org> Tested-by: Jingoo Han <jg1.han@samsung.com> Acked-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
The commit fc52e42 (ENGR00269945: ARM: imx6: remove sabresd hdcp dts
files) removes dts but leaves dtb targets in Makefile. This causes
build issue with 'make ARCH=arm dtbs'. Remove the dead targets.
Liu Ying [Wed, 28 Aug 2013 03:07:52 +0000 (11:07 +0800)]
ENGR00277003 IPUv3: Update IC RGB2YUV CSC matrix parameters
This patch updates IPUv3 IC RGB to YUV color space conversion
matrix's parameters to align with the default VIV GPU CSC
implementation so that we may pass relevant Android CTS test
cases.
Shawn Guo [Wed, 28 Aug 2013 08:03:53 +0000 (16:03 +0800)]
ENGR00269945: ARM: imx: add an ARMv7 only defconfig
To utilize ARMv7 optimization, let's maintain an ARMv7 only defconfig
imx_v7_defconfig. It's generated as below.
* make ARCH=arm imx_v6_v7_defconfig
* make ARCH=arm menuconfig
* System Type ---> Multiple platform selection ---> Deselect ARMv6
based platforms (ARM11)
* make ARCH=arm savedefconfig
* cp defconfig arch/arm/configs/imx_v7_defconfig
Sort the label nodes alphabetically in board level dts files, so that
the nodes can be located a little bit easier and new entries can find
the their places for addition.
Shawn Guo [Tue, 27 Aug 2013 03:47:29 +0000 (11:47 +0800)]
ENGR00269945: ARM: imx6: maintain pinctrl setting outside bus topology
The patch moves all pinctrl setting nodes outside bus topology using
label, so that we can reduce some indent levels for these nodes and
avoid churning main device nodes structure chunk.
While at it, the patch also sorts those pinctrl setting nodes
alphabetically.
Since U-Boot provide good support for modify device tree blob (DTB) at
run-time with 'fdt' command, we do not have to maintain extra DTS files
just for pin conflict case.
Robby Cai [Thu, 22 Aug 2013 06:39:42 +0000 (14:39 +0800)]
ENGR00275031-2 ARM: dts: add lcdif and backlight support
Add dts for lcdif, backlight(pwm).
- use display timing dts bindings for lcd timing setting.
- add an axi clock node for mx23/mx28 to accommadate the change in driver
Robby Cai [Thu, 22 Aug 2013 06:35:09 +0000 (14:35 +0800)]
ENGR00275031-1 mx6sl fb: support lcdif framebuffer on 3.10
re-use the upstreaming mxsfb.c code.
- add the lcdif axi clock for register and dram access
- set the lcdif pix's parent as pll5_video to get most accurate pix clock
- add binding doc for lcdif dts
Peter Chen [Tue, 16 Jul 2013 02:23:20 +0000 (10:23 +0800)]
ARM: imx: clk-pllv3: improve the timeout waiting method
There are two improvements for this commit:
- Add comparing pll lock condition after while loop. It can
fix potential fake timeout problem caused by the code is just
scheduled out before compare the timeout, and the time of
scheduling out are more than one jiffies.
- Move timeout assignment more close to compare the timeout.
It can reduce the possibility the code is scheduled out, and
the timeout can be more precise.
Luwei Zhou [Mon, 26 Aug 2013 08:46:48 +0000 (16:46 +0800)]
ENGR00276684-2 hwmon: isl29023: add isl29023 driver support
ISL29023 is an integrated ambient and infrared light to digital
converter with I2C (SMBus Compatible) Interface.
(Cherry-pick from freescale internal kernel 3.0.35_4.1.0 branch)
ENGR00275974-3 [iMX6x] Add busfreq support to the drivers
Add request_bus_freq() and release_bus_freq() calls to the
various drivers to ensure that the DDR and AHB are the requested
frequency before the driver starts its task.
Luwei Zhou [Wed, 21 Aug 2013 08:53:32 +0000 (16:53 +0800)]
ENGR00275983 sensor: Add mma8451 sensor driver
Add mxa-mma8451.c to support mma8451 sensor. Copy
the file from 3.0.35_4.1.0. Modificaiton List:
1.Remove __devinit,__devexit out of code
2.Support device tree.
3.Replace simple_strtoul with strict_strtoul.
Liu Ying [Tue, 20 Aug 2013 07:10:34 +0000 (15:10 +0800)]
ENGR00274172-3 mxcfb: ldb: correct the ldb di clock trees
In ldb split mode, the ldb_di[0|1]_ipu_div should be configured
as clock dividers of 1/3.5, while in others ldb modes of 1/7.
This patch sets the di[0|1]_div_3_5 or di[0|1]_div_7 clocks to be
the parents of di[0|1]_div_sel clocks according to the ldb mode.
Liu Ying [Tue, 20 Aug 2013 07:05:33 +0000 (15:05 +0800)]
ENGR00274172-2 ARM: dts: imx6qdl: add necessary clocks for ldb
This patch adds di[0|1]_div_3_5, di[0|1]_div_7 and di[0|1]_div_sel
clocks to the ldb nodes so that the ldb driver may use them to
setup the display clock tree.
Liu Ying [Tue, 20 Aug 2013 06:37:47 +0000 (14:37 +0800)]
ENGR00274172-1 ARM: imx6q: refactor some ldb related clocks
The ldb_di[0|1]_ipu_div dividers may divide their parent clock
frequencies by either 3.5 or 7. The non-integral dividers cannot
be dealt with the common clock framework, so they cannot be
registered as common clock dividers. So this patch adds a fixed
factor clock of 1/7 and introduces ldb_di[0|1]_div_sel multiplexers
so that the fixed factor clocks of 1/3.5 and 1/7 can be set to be
the parents of ldb_di[0|1]_div_sel multiplexers. The ldb_di[0|1]_podf
dividers are no longer used then.
Anson Huang [Tue, 20 Aug 2013 20:16:01 +0000 (16:16 -0400)]
ENGR00275821-3 ARM: imx: Enable low power mode DSM for i.MX6SL
Support low power mode DSM for i.MX6SL:
1. No need to enable weak 2P5 for i.MX6SL;
2. Need to disconnect VDDHIGH and VDDSNVS in DSM to lower power leakage;
3. Add DDR IO float in DSM to lower DDR power.
Anson Huang [Tue, 20 Aug 2013 15:30:19 +0000 (11:30 -0400)]
ENGR00275821-1 ARM: imx: rename pm-imx6q.c
To support all i.MX6 SOCs' suspend/resume, need to
rename pm-imx6q.c to pm-imx6.c and move common code
of ccm setting from platform specific clk file to
pm-imx6.c to avoid duplicated code.
Hongzhang Yang [Fri, 16 Aug 2013 02:33:41 +0000 (10:33 +0800)]
ENGR00275473-2 Support PU regulator on/off in VPU driver
Add functions to hide different implemention for different
kernel
- vpu_power_get: get/put power/regulator
- vpu_power_up: enable/disable power/regulator
- vpu_reset
Implement regulator operations for Linux 3.10
- find regulator from VPU device node property
pu-supply
Replace printk/pr_xxx with dev_xxx
Signed-off-by: Hongzhang Yang <Hongzhang.Yang@freescale.com>
Thermal sensor's clock is from pll3_usb_otg 480MHz,
we need to enable it before getting thermal sensor
to work and disable it after thermal sensor stop
working.