linux.git
7 years agoMLK-16671-6 - [i.MX8QXP/Malone]: Add vpu malone decoder
Zhou Peng-B04994 [Fri, 3 Nov 2017 06:03:00 +0000 (14:03 +0800)]
MLK-16671-6 - [i.MX8QXP/Malone]: Add vpu malone decoder

enable vpu module in dts

Signed-off-by: Zhou Peng-B04994 <eagle.zhou@nxp.com>
7 years agoMGS-3214-2: gpu-viv: integrate 6.2.4 formal driver
Xianzhong [Fri, 3 Nov 2017 06:12:38 +0000 (14:12 +0800)]
MGS-3214-2: gpu-viv: integrate 6.2.4 formal driver

Support GEM DRM feature for Android DRM and X11 DRI3,
Fixed GC7000XSVX OpenVX 1.1 CTS failures for i.MX8QM,
Add more performance optimization for GPU benchmarks.

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
7 years agoMLK-16760 soc: imx: support i.MX8MQ new revision SoC
Anson Huang [Fri, 3 Nov 2017 10:31:55 +0000 (18:31 +0800)]
MLK-16760 soc: imx: support i.MX8MQ new revision SoC

On i.MX8MQ, the new revision SoC does NOT update the
revision info in ANATOP_DIGPROG register, to support
dynamic SOC id/revision detection, only reading info
from ANATOP_DIGPROG is not working now, change to read
SOC id/revision from ATF which is in secure world.

The ATF will read the ANATOP_DIGPROG as well as ROM
version to decide the SOC revision.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Bai Ping <ping.bai@nxp.com>
7 years agoMLK-16754 ARM64: dts: imx8qm: enable the smmu on sata
Richard Zhu [Thu, 2 Nov 2017 05:46:20 +0000 (13:46 +0800)]
MLK-16754 ARM64: dts: imx8qm: enable the smmu on sata

enable the smmu on sata

BuildInfo:
- SCFW 9559d5ec, IMX-MKIMAGE 06bc2767, ATF
- U-Boot 2017.03-imx_v2017.03_4.9.51_imx8_beta1+g6dc7b0f

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
7 years agoMLK-16697 staging: typec: tcpci: add notfication for device attach
Li Jun [Thu, 26 Oct 2017 18:28:15 +0000 (02:28 +0800)]
MLK-16697 staging: typec: tcpci: add notfication for device attach

Some usb device driver can't know the connect and disconnect to host
if the vbus is always on, if use typec we can rely on cc line status
to know that, so add a notification to let controller driver know
device attach and detach from host.

Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
7 years agoMLK-16686-2 ARM64: dts: imx8mq: enable rpmsg on imx8mq
Richard Zhu [Mon, 30 Oct 2017 07:25:11 +0000 (15:25 +0800)]
MLK-16686-2 ARM64: dts: imx8mq: enable rpmsg on imx8mq

Enable rpmsg support on imx8mq platforms.
- To avoid the potenial confliction, reduce the allocation
scope of CMA.
- Reserved the 0xb800_0000 1Mbyte for RPMSG

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
7 years agoMLK-16686-1 clk: imx8mq: add the mu clk
Richard Zhu [Fri, 20 Oct 2017 06:01:55 +0000 (14:01 +0800)]
MLK-16686-1 clk: imx8mq: add the mu clk

add the mu clock

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
7 years agoMLK-16746 imx8mq: support m4
Peng Fan [Thu, 2 Nov 2017 02:45:33 +0000 (10:45 +0800)]
MLK-16746 imx8mq: support m4

Support M4/A53 work together
1. add imx_src_is_m4_enabled
2. introduce a new dts dedicated for m4
3. add more pwm nodes
4. Since clk initialization is at very early stage, add m4 enabled check
   in the beginning of clk code.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Richard Zhu <hongxing.zhu@nxp.com>
7 years agoMLK-16706-4 video: fbdev: mipi_dsi_northwest: improve phy pll config
Fancy Fang [Wed, 25 Oct 2017 03:53:46 +0000 (11:53 +0800)]
MLK-16706-4 video: fbdev: mipi_dsi_northwest: improve phy pll config

The MXL PLL uses the following function to generate
the output clock 'CLKOUT' based on the input 'CLKREF'
(which is the reference clock):

"
CLKOUT = CLKREF * CM / (CN * CO);
CM range is in [16, 255];
CN range is in [1, 16];
CO range is in {1, 2, 4, 8};
"

So the DSI driver needs to derive proper 'CM', 'CN'
and 'CO' to get the required 'CLKOUT' based on the
'CLKREF'. This commit provides a general method to
derive the best 'CM', 'CN' and 'CO' values for any
required 'CLKOUT' and input 'CLKREF' combinations.
'best' means the actual generated output clock freq
is closest to the required 'CLKOUT' by using the
derived 'CM', 'CN' and 'CO'.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
7 years agoMLK-16706-3 video: fbdev: mipi_dsi_northwest: add map tables for 'CM', 'CN' and 'CO'
Fancy Fang [Fri, 20 Oct 2017 15:08:08 +0000 (23:08 +0800)]
MLK-16706-3 video: fbdev: mipi_dsi_northwest: add map tables for 'CM', 'CN' and 'CO'

The 'CM', 'CN' and 'CO' possible values have no apparent
relationships with their registers config values. So add
three tables to describe mappings for them.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
7 years agoMLK-16706-2 video: fbdev: mipi_dsi_northwest: add 'phy_ref_clkfreq' field
Fancy Fang [Fri, 20 Oct 2017 11:01:58 +0000 (19:01 +0800)]
MLK-16706-2 video: fbdev: mipi_dsi_northwest: add 'phy_ref_clkfreq' field

Add 'phy_ref_clkfreq' field to 'struct mipi_dsi_info'
to save the reference clock frequency configed in dtb
file for mipi phy pll.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
7 years agoMLK-16706-1 video: fbdev: mipi_dsi_northwest: replace 'PICOS2KHZ' by 'PICOS2KHZ2'
Fancy Fang [Fri, 20 Oct 2017 10:44:23 +0000 (18:44 +0800)]
MLK-16706-1 video: fbdev: mipi_dsi_northwest: replace 'PICOS2KHZ' by 'PICOS2KHZ2'

The 'PICOS2KHZ' macro is used to get pixel clock frequency
from 'pixclock' value to derive the required mipi phy bit
clock frequency. But the result precision get from this
macro is not good enough in some cases. The patch defines
an new improved macro 'PICOS2KHZ2' to replace 'PICOS2KHZ'.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
7 years agoMLK-16592: arm64: dts: fsl-imx8qm-mek: Enable cs42888 codec
Cosmin-Gabriel Samoila [Thu, 26 Oct 2017 11:31:54 +0000 (14:31 +0300)]
MLK-16592: arm64: dts: fsl-imx8qm-mek: Enable cs42888 codec

cs42888 can be found on i.mx8 QM MEK CPU board. It uses esai0 as a
digital audio interface.

Signed-off-by: Cosmin-Gabriel Samoila <cosmin.samoila@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
7 years agoMLK-16743-1: Add iMX8QM dual LVDS device tree
Nitin Garg [Wed, 1 Nov 2017 02:30:48 +0000 (21:30 -0500)]
MLK-16743-1: Add iMX8QM dual LVDS device tree

Add iMX8QM dual it6263 lvds to hdmi device tree file

Signed-off-by: Nitin Garg <nitin.garg@nxp.com>
7 years agoMLK-16745-2: arm64: dts: dedicate dtb file for QM lpspi
Han Xu [Tue, 31 Oct 2017 20:45:20 +0000 (15:45 -0500)]
MLK-16745-2: arm64: dts: dedicate dtb file for QM lpspi

add dedicate dtb file for lpspi nor chip on base board for i.MX8QM,
remove the CS1 pin which is not used.

 BuildInfo:
  - SCFW 9e9f6ec6, IMX-MKIMAGE 49a2866a, ATF 0
  - U-Boot 2017.03-imx_v2017.03_4.9.11_imx8_alpha+g258936c

Signed-off-by: Han Xu <han.xu@nxp.com>
7 years agoMLK-16745-1: arm64: dts: dedicate dtb file for QXP lpspi
Han Xu [Tue, 31 Oct 2017 20:37:47 +0000 (15:37 -0500)]
MLK-16745-1: arm64: dts: dedicate dtb file for QXP lpspi

add a dedicate dtb file for the lpspi nor chip on base board, also
remove the unnecessary CS1 pin setting for the nor chip.

 BuildInfo:
  - SCFW 9e9f6ec6, IMX-MKIMAGE 49a2866a, ATF 0
  - U-Boot 2017.03-imx_v2017.03_4.9.11_imx8_alpha+g258936c

Signed-off-by: Han Xu <han.xu@nxp.com>
7 years agoMLK-16743: Enable LVDS0 in iMX8QM arm2 and mek base device tree
Nitin Garg [Tue, 31 Oct 2017 17:38:30 +0000 (12:38 -0500)]
MLK-16743: Enable LVDS0 in iMX8QM arm2 and mek base device tree

Enable it6263 lvds0 in base device tree for 8QM MEK and ARM2

Signed-off-by: Nitin Garg <nitin.garg@nxp.com>
7 years agoMLK-16689-03 driver: soc: Add busfreq driver for imx8mq
Bai Ping [Mon, 30 Oct 2017 08:27:02 +0000 (16:27 +0800)]
MLK-16689-03 driver: soc: Add busfreq driver for imx8mq

Add busfreq driver support on i.MX8MQ. The busfreq driver is
mainly used for dynamic DDR frequency change for power saving
feature. When there is no peripheral or DMA device has direct
access to DDR memory, we can lower the DDR frequency to save
power. Currently, we support frequency setpoint for LPDDR4:

    (1): 3200mts, the DDRC core clock is sourced from 800MHz
         dram_pll, the DDRC apb clock is 200MHz.

    (2): 400mts, the DDRC core clock is source from sys1_pll_400m,
         the DDRC apb clock is is sourced from sys1_pll_40m.

    (3): 100mts, the DDRC core clock is sourced from sys1_pll_100m,
         the DDRC apb clock is sourced from sys1_pll_40m.

In our busfreq driver, we have three mode supported:
    * high bus mode  <-----> 3200mts;
    * audio bus mode <-----> 400mts;
    * low bus mode   <-----> 100mts;

The actual DDR frequency is done in ARM trusted firmware by calling
the SMCC SiP service call.

    BuildInfo:
     - IMX-MKIMAGE: 05d3d4a7d7, ATF: 724cc2b890
     - SPL/Uboot: f72c10d2db;

Signed-off-by: Bai Ping <ping.bai@nxp.com>
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-16689-02 ARM64: dts: add busfreq node on imx8mq
Bai Ping [Mon, 30 Oct 2017 08:23:48 +0000 (16:23 +0800)]
MLK-16689-02 ARM64: dts: add busfreq node on imx8mq

Add the busfreq node used for DDR DVFS on imx8mq.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-16689-01 driver: clk: add dram_core clock on imx8mq
Bai Ping [Mon, 30 Oct 2017 07:33:47 +0000 (15:33 +0800)]
MLK-16689-01 driver: clk: add dram_core clock on imx8mq

On i.MX8MQ, the dram core clock can be sourced from dram_pll or
the dram_alt clock, when sourced from the dram_alt, it has a fix
divider(1/4). When the DDRC core clock is lower than 800MHz, we
can swith the core clock to dram_alt source.

The dram apb clock's mux option 2 should be sys1_pll_40m, so fixed it.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
7 years agousb: dwc3: gadget: Fix ISO transfer performance
Roger Quadros [Fri, 21 Apr 2017 12:58:08 +0000 (15:58 +0300)]
usb: dwc3: gadget: Fix ISO transfer performance

Commit 08a36b543803 ("usb: dwc3: gadget: simplify __dwc3_gadget_ep_queue()")
caused a small change in the way ISO transfer is handled in the case
when XferInProgress event happens on Isoc EP with an active transfer.
This caused a performance degradation of 50%. e.g. using g_webcam on DUT
and luvcview on host the video frame rate dropped from 16fps to 8fps
@high-speed.

Make the ISO transfer handling equivalent to that prior to that commit
to get back the original ISO performance numbers.

Fixes: 08a36b543803 ("usb: dwc3: gadget: simplify __dwc3_gadget_ep_queue()")
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
(cherry picked from commit f1d6826cae30e97e37a1f2481d7e1dc4faa09ce1)

7 years agousb: dwc3: gadget: cope with XferNotReady before usb_ep_queue()
Felipe Balbi [Fri, 21 Oct 2016 10:07:09 +0000 (13:07 +0300)]
usb: dwc3: gadget: cope with XferNotReady before usb_ep_queue()

If XferNotReady comes before usb_ep_queue() we will
set our PENDING request flag and wait for a
request. However, originally, we were assuming
usb_ep_queue() would always happen before our first
XferNotReady and that causes a corner case where we
could try to issue ENDTRANSFER command before
STARTTRANSFER.

Let's fix that by tracking endpoints which have been
started.

Reported-by: Janusz Dziedzic <januszx.dziedzic@intel.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
(cherry picked from commit 6cb2e4e3de10893f38dbf3923a9cc50c76548a89)

7 years agousb: dwc3: gadget: properly check ep cmd
Felipe Balbi [Thu, 22 Sep 2016 09:25:28 +0000 (12:25 +0300)]
usb: dwc3: gadget: properly check ep cmd

The cmd argument we pass to
dwc3_send_gadget_ep_cmd() could contain extra
arguments embedded. When checking for StartTransfer
command, we need to make sure to match only lower 4
bits which contain the actual command and ignore the
rest.

Reported-by: Janusz Dziedzic <januszx.dziedzic@intel.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
(cherry picked from commit 5999914f227b20addf01297b3df24be6b4161f69)

7 years agoMLK-16700: ARM64: dts: imx8qm-mek: enable audio mixer
Viorel Suman [Thu, 26 Oct 2017 11:54:54 +0000 (14:54 +0300)]
MLK-16700: ARM64: dts: imx8qm-mek: enable audio mixer

Enable audio mixer.

BuildInfo:
 - SCFW f5910b7d, IMX-MKIMAGE 2522fd70, ATF a438801
 - U-Boot 2017.03-00047-g8fe8d6d

Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
7 years agoMLK-16716 nvmem: imx-scu-ocotp do not read invalid address
Peng Fan [Fri, 27 Oct 2017 10:02:45 +0000 (18:02 +0800)]
MLK-16716 nvmem: imx-scu-ocotp do not read invalid address

Fix: hexdump: /sys/bus/nvmem/devices/imx-ocotp0/nvmem: Input/output error

Address space [272,543] is invalid address space on 8QXP, reading from SCU
will get SC_ERR_PARAM. So ignore these words when reading fuse.

 BuildInfo:
  - SCFW 8dcff26, IMX-MKIMAGE ea027c4b, ATF
  - U-Boot 2017.03-imx_v2017.03_4.9.51_imx8_beta1+g6dc7b0f

Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 years agoMLK-16726 ARM64: dts: fsl-imx8qm-lpddr4-arm2: remove lpuart0 cts/rts pin
Fugang Duan [Mon, 30 Oct 2017 03:13:32 +0000 (11:13 +0800)]
MLK-16726 ARM64: dts: fsl-imx8qm-lpddr4-arm2: remove lpuart0 cts/rts pin

Since lpuart0 configure as console port only, cts/rts pins are not necessary.
And lpuart2 is moved into M4 partition that will use these two pins.
So remove the two pins from dts file.

BuildInfo:
 - SCFW 88456c73, IMX-MKIMAGE 06bc2767, ATF a438801
 - U-Boot 2017.03-imx_v2017.03_4.9.51_imx8_beta1+g7953d47

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
7 years agoMLK-16712 tty: serial: lpuart: keep per clock disabled during suspend
Fugang Duan [Fri, 27 Oct 2017 01:45:25 +0000 (09:45 +0800)]
MLK-16712 tty: serial: lpuart: keep per clock disabled during suspend

Keep per clock disabled during system suspend.

BuildInfo:
 - SCFW 88456c73, IMX-MKIMAGE 06bc2767, ATF a438801
 - U-Boot 2017.03-imx_v2017.03_4.9.51_imx8_beta1+g7953d47

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-16704-3: ARM64: configs: defconfig: add imx8_wdt
Robin Gong [Fri, 27 Oct 2017 02:04:23 +0000 (10:04 +0800)]
MLK-16704-3: ARM64: configs: defconfig: add imx8_wdt

Enable imx8_wdt driver by default.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-16704-2: ARM64: dts: freescale: imx8qm/qxp: add watchdog
Robin Gong [Fri, 27 Oct 2017 02:02:44 +0000 (10:02 +0800)]
MLK-16704-2: ARM64: dts: freescale: imx8qm/qxp: add watchdog

add watchdog in dts.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-16704-1: watchdog: imx8_wdt: add watchdog driver for i.mx8QM/QXP
Robin Gong [Fri, 27 Oct 2017 01:40:30 +0000 (09:40 +0800)]
MLK-16704-1: watchdog: imx8_wdt: add watchdog driver for i.mx8QM/QXP

This watchdog driver is a virtual driver in Linux and call ATF interface
where call SCFW eventually. In SCFW, it's done by SCU timer tick instead
of hardware watchdog.This is why we have to call ATF because such system
resource owned by secure patition.Currently, booard reset happen if not
ping this software watchdog in time in linux side, may change to partition
reboot once SCFW support this feature in the future.
 BuildInfo:
   - SCFW 93c142a9, IMX-MKIMAGE 2522fd70, ATF f2547fb
   - U-Boot 2017.03-00097-gd7599cf

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-16701 JPEG: add rum time pm support
Frank Li [Thu, 26 Oct 2017 15:58:53 +0000 (10:58 -0500)]
MLK-16701 JPEG: add rum time pm support

Support run time pm

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Acked-by: Sandor Yu <sandor.yu@nxp.com>
7 years agoMLK-16710 cpufreq: imx8mq: avoid duplicated OPP table initialization
Anson Huang [Fri, 27 Oct 2017 15:40:15 +0000 (23:40 +0800)]
MLK-16710 cpufreq: imx8mq: avoid duplicated OPP table initialization

On i.MX8MQ, since the OPP table is initialized in cpu-freq platform
device register according to chip type, so no need to redo the OPP
table initialization in cpu-freq driver, this patch adds check for
OPP table initialization to avoid below warning during boot up:

[    1.468378] cpu cpu0: _opp_add: duplicate OPPs detected. Existing: freq: 1501
[    1.468388] cpu cpu0: _opp_add: duplicate OPPs detected. Existing: freq: 1301
[    1.468417] cpu cpu0: _of_add_opp_table_v1: Failed to add OPP 1300000000
[    1.468425] cpu cpu0: _opp_add: duplicate OPPs detected. Existing: freq: 1001
[    1.468434] cpu cpu0: _opp_add: duplicate OPPs detected. Existing: freq: 8001
[    1.468443] cpu cpu0: _of_add_opp_table_v1: Failed to add OPP 800000000

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Bai Ping <ping.bai@nxp.com>
7 years agoMLK-16705-3 ARM64: dts: freescale: imx8qxp: add resource wakeup support
Anson Huang [Fri, 27 Oct 2017 10:34:16 +0000 (18:34 +0800)]
MLK-16705-3 ARM64: dts: freescale: imx8qxp: add resource wakeup support

Add wakeup unit to support resource wakeup management on i.MX8QXP,
also enable wakeup function for LPUARTx and FLEXCANx.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Bai Ping <ping.bai@nxp.com>
7 years agoMLK-16705-2 ARM64: dts: freescale: imx8qm: add resource wakeup support
Anson Huang [Fri, 27 Oct 2017 10:31:59 +0000 (18:31 +0800)]
MLK-16705-2 ARM64: dts: freescale: imx8qm: add resource wakeup support

Add wakeup unit to support resource wakeup management on i.MX8QM,
also enable wakeup function for LPUARTx and FLEXCANx.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Bai Ping <ping.bai@nxp.com>
7 years agoMLK-16705-1 soc: imx: pm-domains: add wakeup unit irqchip to manage wakeup source
Anson Huang [Fri, 27 Oct 2017 10:24:12 +0000 (18:24 +0800)]
MLK-16705-1 soc: imx: pm-domains: add wakeup unit irqchip to manage wakeup source

For a resource enabled as wakeup source, its power needs to
be kept on during suspend, this is required by SCFW to support
wakeup ability for a resource.

This patch adds a virtual wakeup unit to support this function,
wakeup unit is registered as a irqchip being a child of GIC,
if a resource can be enabled as a wakeup source, needs to pass
its irq number in device tree power domain node using
"wakeup-irq = <x>" format, as power domain driver needs to map
the irq number to resource ID, also needs to assign its interrupt
parent to wakeup unit instead of GIC. During suspend, when power
domain driver intends to power off a resource, it will skip power
off operation if the resource is enabled as wakeup source.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Bai Ping <ping.bai@nxp.com>
7 years agoMLK-16708 clk: imx: change the nand_usdhc_bus clock's source
Bai Ping [Fri, 27 Oct 2017 06:47:26 +0000 (14:47 +0800)]
MLK-16708 clk: imx: change the nand_usdhc_bus clock's source

Change NAND_USDHC_BUS clock's source to SYS PLL1 266M.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
7 years agoMLK-16709 dts: imx8qm: Disable the UART2 on MEK base board
Ye Li [Fri, 27 Oct 2017 06:57:44 +0000 (01:57 -0500)]
MLK-16709 dts: imx8qm: Disable the UART2 on MEK base board

CM4_1 core will use the UART2 on QM MEK base board as its console. Since this port currently
is a backup debug port on A core side, not really used. We disable it in dts to yield the port
for CM4_1.

Signed-off-by: Ye Li <ye.li@nxp.com>
Acked-by: Fugang Duan <fugang.duan@nxp.com>
7 years agoMLK-16702 soc:imx8qm/qxp Adding additional frequencies
Oliver Brown [Thu, 26 Oct 2017 00:15:01 +0000 (19:15 -0500)]
MLK-16702 soc:imx8qm/qxp Adding additional frequencies

Adding defines for 864 MHz and 432 MHz from the following commits:

"
commit 655ed33f3b2e158ea92ab96c3999a5bd73791d76
Author: Oliver Brown <oliver.brown@nxp.com>
Date:   Thu Oct 26 11:49:49 2017 -0500

    MIPI DSI V2: Adding define for 432 MHz.
"

"
commit 88456c73b3c1ffde496622f2e66614a46a073410
Author: Oliver Brown <oliver.brown@nxp.com>
Date:   Tue Oct 17 10:53:58 2017 -0500

MIPI DSI: change the fixed clocks to allow for a 27MHz PHY reference clock.
"

Signed-off-by: Oliver Brown <oliver.brown@nxp.com>
7 years agoMLK-16694-2: ARM64: dts: fix assigned-clocks for audio device node
Shengjiu Wang [Mon, 23 Oct 2017 03:12:33 +0000 (11:12 +0800)]
MLK-16694-2: ARM64: dts: fix assigned-clocks for audio device node

Even the clock is not used by current device, but it is used by
other devices, it also need to be included in the assigned-clocks
list. For in kernel side, clock rate is stored, but in scfw
the clock rate is cleared when power off, this mismatch cause
the parent rate is not set in next device, then children clock rate
is wrong.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
7 years agoMLK-16694-1: ASoC: wm8960: add pm runtime for wm8960
Shengjiu Wang [Mon, 23 Oct 2017 03:06:12 +0000 (11:06 +0800)]
MLK-16694-1: ASoC: wm8960: add pm runtime for wm8960

As in imx8 mek board, the codec's mclk is from the audio subsystem,
the subsystem's power domain should be disabled when subsystem is idle.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
7 years agoMLK-16590 ARM64: dts: fsl-imx8qxp-mek: enable USB3 and PTN5110
Peter Chen [Mon, 16 Oct 2017 01:17:11 +0000 (09:17 +0800)]
MLK-16590 ARM64: dts: fsl-imx8qxp-mek: enable USB3 and PTN5110

All imx8qxp mek board will replace NTB0104 with NTS0104, so it is ok
to enable PTN5110 and USB3 by default, see below commit for detail:
commit 5989fe321b3026 ("MLK-16522-4 ARM64: dts: fsl-imx8qxp-mek:
add USB3 support")

BuildInfo:
- SCFW 1f59442e, IMX-MKIMAGE fb52c576, ATF
- U-Boot 2017.03-imx_v2017.03+g34be5a2

Acked-by: Li Jun <jun.li@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
7 years agoMLK-16678-2: ASoC: fsl_hifi4: move hifi4 firmware to SDRAM
Weiguang Kong [Mon, 23 Oct 2017 01:42:08 +0000 (09:42 +0800)]
MLK-16678-2: ASoC: fsl_hifi4: move hifi4 firmware to SDRAM

move hifi4 dsp firmware's code and data section to SDRAM space
move hifi4 dsp codec lib's code section to SDRAM space

Signed-off-by: Weiguang Kong <weiguang.kong@nxp.com>
7 years agoMLK-16678-1: arm64: dts: distribute reserved memory for hifi4 dsp in SDRAM
Weiguang Kong [Mon, 23 Oct 2017 01:36:04 +0000 (09:36 +0800)]
MLK-16678-1: arm64: dts: distribute reserved memory for hifi4 dsp in SDRAM

Because the OCRAM memory size for hifi4 dsp is too small to keep its
code and data section, so distribute one reserved memory for hifi4 dsp
to save its code and data section in SDRAM, the address space that hifi4
can access in SDRAM is 0x81000000 - 0x9FFFFFFF, so the reserved memory
is as following:
   hifi4_reserved: hifi4@0x8e000000 {
       no-map;
       reg = <0 0x8e000000 0 0x1ffffff>;
   };

Signed-off-by: Weiguang Kong <weiguang.kong@nxp.com>
7 years agoMLK-16691: ASoC: fsl_hifi4: unlock mutex before return error
Weiguang Kong [Wed, 25 Oct 2017 10:16:21 +0000 (18:16 +0800)]
MLK-16691: ASoC: fsl_hifi4: unlock mutex before return error

When error occurs in fsl_hifi4_open() function, before this
function exists, "hifi4_priv->hifi4_mutex" should be unlocked.
If not, when the device is opened next time, the kernel will
be hanged.

Signed-off-by: Weiguang Kong <weiguang.kong@nxp.com>
7 years agoMLK-16688 driver: media: mxc_jpeg: Remove the unused function to kill the build warnnings
Jason Liu [Tue, 24 Oct 2017 22:29:19 +0000 (06:29 +0800)]
MLK-16688 driver: media: mxc_jpeg: Remove the unused function to kill the build warnnings

The patch fixes the following build warnnings by removing unused function:

drivers/media/platform/imx8/mxc-jpeg.c:228:13: warning: ‘print_output’ defined
but not used [-Wunused-function]
 static void print_output(void *addr)
             ^~~~~~~~~~~~

This patch also does the minor clean up by removing some commented-out code

Signed-off-by: Jason Liu <jason.hui.liu@nxp.com>
Acked-by: Fugang Duan <fugang.duan@nxp.com>
7 years agoMLK-16684-3 ata: imx: enable imx8qm sata
Richard Zhu [Wed, 25 Oct 2017 02:48:48 +0000 (10:48 +0800)]
MLK-16684-3 ata: imx: enable imx8qm sata

enable sata on imx8qm.
sata function is relied on the usage of pcie ports.

BuildInfo:
- SCFW 9559d5ec, IMX-MKIMAGE 06bc2767, ATF
- U-Boot 2017.03-imx_v2017.03_4.9.51_imx8_beta1+g6dc7b0f

Reviewed-by: Frank Li <frank.li@nxp.com>
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
7 years agoMLK-16684-2 clk: imx: correct the pd of the sata phy pclk
Richard Zhu [Wed, 25 Oct 2017 02:47:40 +0000 (10:47 +0800)]
MLK-16684-2 clk: imx: correct the pd of the sata phy pclk

Correct the pd of the sata phy pclk.

BuildInfo:
- SCFW 9559d5ec, IMX-MKIMAGE 06bc2767, ATF
- U-Boot 2017.03-imx_v2017.03_4.9.51_imx8_beta1+g6dc7b0f

Reviewed-by: Frank Li <frank.li@nxp.com>
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
7 years agoMLK-16684-1 ARM: dts: enable imx8qm sata
Richard Zhu [Mon, 19 Jun 2017 03:14:10 +0000 (11:14 +0800)]
MLK-16684-1 ARM: dts: enable imx8qm sata

- enable imx8qm sata.
- correct sata power supply.
- sata clks:
satahost_clk hsio_lpcg_sata
phyx1_pclk phyx1_lpcg
phyx1_epcs_tx_clk phyx1_lpcg
hyx1_epcs_rx_clk phyx1_lpcg
phyx2_pclk0 phyx2_lpcg
phyx2_pclk1 phyx2_lpcg

BuildInfo:
- SCFW 9559d5ec, IMX-MKIMAGE 06bc2767, ATF
- U-Boot 2017.03-imx_v2017.03_4.9.51_imx8_beta1+g6dc7b0f

Reviewed-by: Frank Li <frank.li@nxp.com>
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
7 years agoMLK-16645-4 JPEG: Encode: fix wrong use dma descriptor address
Frank Li [Fri, 20 Oct 2017 21:47:30 +0000 (16:47 -0500)]
MLK-16645-4 JPEG: Encode: fix wrong use dma descriptor address

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Acked-by: Sandor Yu <sandor.yu@nxp.com>
7 years agoMLK-16645-3 JPEG: fixed crash caused by call dma_free_coherence in irq
Frank Li [Fri, 20 Oct 2017 21:34:37 +0000 (16:34 -0500)]
MLK-16645-3 JPEG: fixed crash caused by call dma_free_coherence in irq

move dma_free_coherence function to buf_cleanup

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Acked-by: Sandor Yu <sandor.yu@nxp.com>
7 years agoMLK-16645-2: dts: qxp: Enable JPEG encode/decode IP
Frank Li [Fri, 20 Oct 2017 17:56:06 +0000 (12:56 -0500)]
MLK-16645-2: dts: qxp: Enable JPEG encode/decode IP

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Acked-by: Sandor Yu <sandor.yu@nxp.com>
7 years agoMLK-16645-1: clk: mx8qxp: correct JPEG clock source
Frank Li [Fri, 20 Oct 2017 17:55:07 +0000 (12:55 -0500)]
MLK-16645-1: clk: mx8qxp: correct JPEG clock source

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Acked-by: Sandor Yu <sandor.yu@nxp.com>
7 years agoMLK-13946-8: ASoC: fsl_sai: use min(channels,slots) for xMR setting
Viorel Suman [Tue, 24 Oct 2017 10:09:27 +0000 (13:09 +0300)]
MLK-13946-8: ASoC: fsl_sai: use min(channels,slots) for xMR setting

xMR setting must be set as min(channels,slots) since
both "channels < slots" and "channels > slots" scenarios
are possible.

Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
7 years agoMLK-16690 ARM64: dts: freescale: imx8qm: update A53 cpu-freq table
Anson Huang [Wed, 25 Oct 2017 14:55:26 +0000 (22:55 +0800)]
MLK-16690 ARM64: dts: freescale: imx8qm: update A53 cpu-freq table

SCFW removes A53 1.26GHz cpu-freq set-point, update it
for linux kernel cpu-freq driver accordingly.

SCFW patch: (674c078 Fix CPU frequency related issues)

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-16671-5 - [i.MX8QXP/Malone]: Add vpu malone decoder driver
Zhou Peng-B04994 [Wed, 25 Oct 2017 01:13:15 +0000 (09:13 +0800)]
MLK-16671-5 - [i.MX8QXP/Malone]: Add vpu malone decoder driver

Change statement from LGPL to GPL for malone header files

Signed-off-by: Zhou Peng-B04994 <eagle.zhou@nxp.com>
7 years agoMLK-16671-4 - [i.MX8QXP/Malone]: Add vpu malone decoder driver
Zhou Peng-B04994 [Tue, 24 Oct 2017 08:41:59 +0000 (16:41 +0800)]
MLK-16671-4 - [i.MX8QXP/Malone]: Add vpu malone decoder driver

Only build malone for ARCH_MXC_ARM64

Signed-off-by: Zhou Peng-B04994 <eagle.zhou@nxp.com>
7 years agoMLK-16671-3 - [i.MX8QXP/Malone]: Add vpu malone decoder driver
Zhou Peng-B04994 [Tue, 24 Oct 2017 07:47:19 +0000 (15:47 +0800)]
MLK-16671-3 - [i.MX8QXP/Malone]: Add vpu malone decoder driver

Refine makefile to fix yocto build issue:
Remove redundant space after -D and -I

Signed-off-by: Zhou Peng-B04994 <eagle.zhou@nxp.com>
7 years agoMLK-16681-2 ARM64: dts: freescale: imx8mq: update cpu-freq set-points
Anson Huang [Mon, 23 Oct 2017 12:46:04 +0000 (20:46 +0800)]
MLK-16681-2 ARM64: dts: freescale: imx8mq: update cpu-freq set-points

Update cpu-freq set-points according to datasheet Rev-E:

Normal          Over-Drive
Consumer 1GHz@0.9V 1.5GHz@1V
Industrial 800MHz@0.9V 1.3GHz@1V

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Bai Ping <ping.bai@nxp.com>
7 years agoMLK-16681-1 soc: imx: add speed grading check for i.MX8MQ different parts
Anson Huang [Mon, 23 Oct 2017 12:36:10 +0000 (20:36 +0800)]
MLK-16681-1 soc: imx: add speed grading check for i.MX8MQ different parts

i.MX8MQ has different parts like consumer, industrial and auto etc.,
different parts have different cpu-freq set-points, this patch adds
fuse check to select correct cpu-freq set-points for each part. The
default dtb has all set-points available, then kernel will check fuse
to disable those unused set-points, definition as below:

OCOTP offset 0x440, bit [7:6]

'00' - Consumer 0C to 95C
'01' - Ext. Consumer -20C to 105C
'10' - Industrial -40C to 105C
'11' - Automotive -40C to 125C

cpu-freq set-points definition as below (datasheet Rev-E):

Normal Over-Drive
Consumer 1GHz@0.9V 1.5GHz@1V
Industrial 800MHz@0.9V 1.3GHz@1V

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Bai Ping <ping.bai@nxp.com>
7 years agoMLK-16671-2 - [i.MX8QXP/Malone]: Add vpu malone decoder driver
Zhou Peng-B04994 [Mon, 23 Oct 2017 02:58:55 +0000 (10:58 +0800)]
MLK-16671-2 - [i.MX8QXP/Malone]: Add vpu malone decoder driver

Add vpu module in device tree and makefile

Signed-off-by: Zhou Peng-B04994 <eagle.zhou@nxp.com>
7 years agoMLK-16676-5 ARM64: dts: freescale: imx8qxp: add debug_console property
Anson Huang [Fri, 20 Oct 2017 15:57:21 +0000 (23:57 +0800)]
MLK-16676-5 ARM64: dts: freescale: imx8qxp: add debug_console property

Pass debug_console port info for power domain awareness.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-16676-4 ARM64: dts: freescale: imx8qm: add debug_console property
Anson Huang [Fri, 20 Oct 2017 15:55:34 +0000 (23:55 +0800)]
MLK-16676-4 ARM64: dts: freescale: imx8qm: add debug_console property

Pass debug_console port info for power domain driver awareness.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-16676-3 soc: imx: pm-domains: add debug console power management
Anson Huang [Fri, 20 Oct 2017 15:52:41 +0000 (23:52 +0800)]
MLK-16676-3 soc: imx: pm-domains: add debug console power management

On i.MX8QM/i.MX8QXP, when "no_console_suspend" is added,
need to keep debug uart power on for debug message output,
support this case by reading debug uart resource from
dtb and checking console suspend settings.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-16676-2 ARM64: dts: freescale: imx8qm: add early_power_on for intmux
Anson Huang [Fri, 20 Oct 2017 15:49:42 +0000 (23:49 +0800)]
MLK-16676-2 ARM64: dts: freescale: imx8qm: add early_power_on for intmux

On i.MX8QM, intmux is registered as irq chip driver,
it resumes earlier then generic power domain, so need
to add early_power_on property.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-16676-1 soc: imx: pm-domains: support multiple early_power_on resource
Anson Huang [Fri, 20 Oct 2017 15:42:24 +0000 (23:42 +0800)]
MLK-16676-1 soc: imx: pm-domains: support multiple early_power_on resource

On i.MX8QM/i.MX8QXP, there could be multiple resources
need to be powered on earlier after resume, current variable
of index could be reset for different power domain nodes and
cause resource id overwrite issue, fix the array index type
to support multiple early power on case.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-16481: ASoC: fsl: amix: remove automatic OUTSRC selection
Viorel Suman [Thu, 19 Oct 2017 14:07:38 +0000 (17:07 +0300)]
MLK-16481: ASoC: fsl: amix: remove automatic OUTSRC selection

Refactor AMIX driver by removing automatic OUTSRC selection
and enforcing OUTSRC transition constraints as specified in
AMIX documentation, "Mixer output processing" chapter.

Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
7 years agoMLK-16607: arm64: fsl-imx8qm-mek: Add headphone detect property
Daniel Baluta [Wed, 18 Oct 2017 11:15:37 +0000 (14:15 +0300)]
MLK-16607: arm64: fsl-imx8qm-mek: Add headphone detect property

With this patch 'Playback Volume' control is now usable and
we can notice that the sound volume changes.

 BuildInfo:
  - SCFW f5910b7d, IMX-MKIMAGE fb52c576, ATF a438801
  - U-Boot 2017.03-00047-g8fe8d6d

Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
7 years agoMLK-16674: ASoC: fsl_hifi4: enable pm runtime for hifi4
Shengjiu Wang [Thu, 19 Oct 2017 07:06:37 +0000 (15:06 +0800)]
MLK-16674: ASoC: fsl_hifi4: enable pm runtime for hifi4

Enable pm runtime for hifi4, so the firmware may load many times,
The shdr->sh_addr can't be refined in hifi4_load_firmware, otherwise
it should impact the load operation in next time.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
7 years agoMLK-16671-1 - [i.MX8QXP/Malone]: Add vpu malone decoder driver
Zhou Peng-B04994 [Fri, 20 Oct 2017 05:06:34 +0000 (13:06 +0800)]
MLK-16671-1 - [i.MX8QXP/Malone]: Add vpu malone decoder driver

Integrate amphion release kernel functions

Signed-off-by: Zhou Peng-B04994 <eagle.zhou@nxp.com>
7 years agoMLK-16603: dtb: Disable imx8qm native hdmi/dp driver in it6263 dtb
Sandor Yu [Wed, 18 Oct 2017 09:29:20 +0000 (17:29 +0800)]
MLK-16603: dtb: Disable imx8qm native hdmi/dp driver in it6263 dtb

Only 25% iMX8QM SOC chip can support DP/HDMI function now.
We may not find enough hdmi/dp work SOC chip for everyone.
So lvds-hdmi display is the prime display for iMX8QM ARM2 board.
Disable imx8qm native hdmi/dp driver in it6263 dtb
make sure lvds-hdmi display is working with
hdmi/dp function failed chip.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
(cherry picked from commit d4235299d583126edb5996e008be5366590252ee)

7 years agoMLK-16614: dtb: Add mipi csi support in imx8qxp mek board
Sandor Yu [Thu, 19 Oct 2017 07:08:26 +0000 (15:08 +0800)]
MLK-16614: dtb: Add mipi csi support in imx8qxp mek board

Enable mipi csi driver imx8qxp mek board.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
7 years agoMLK-16613: dtb: Add mipi csi support in imx8qm mek board
Sandor Yu [Thu, 19 Oct 2017 07:02:13 +0000 (15:02 +0800)]
MLK-16613: dtb: Add mipi csi support in imx8qm mek board

Enable mipi csi driver in imx8qm mek board.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
7 years agoMLK-16669: arm64: dts: access nor chip via lpspi on i.MX8QXP ARM2 base board
Han Xu [Thu, 19 Oct 2017 21:07:45 +0000 (16:07 -0500)]
MLK-16669: arm64: dts: access nor chip via lpspi on i.MX8QXP ARM2 base board

To access the nor chip on i.MX8QXP ARM2 base board, enable the lpspi in
device tree, the gpio_cs is also needed.

BuildInfo:
- SCFW 9e9f6ec6, IMX-MKIMAGE e1b3bc76, ATF 0
- U-Boot 2017.03-00072-gfdcf70a

Reviewed-by: Frank Li <frank.li@nxp.com>
Signed-off-by: Han Xu <han.xu@nxp.com>
7 years agoMLK-16502 - [i.MX8MQ/Hantro]: Implement dynamic clock adjustement in high temperature
Zhou Peng-B04994 [Thu, 21 Sep 2017 03:52:38 +0000 (11:52 +0800)]
MLK-16502 - [i.MX8MQ/Hantro]: Implement dynamic clock adjustement in high temperature

Register thermal notifier and implment dynamic clock
- One module parameter is added to enable or disable dynamic clock: 'hantro_dynamic_clock'
  Default, dynamic clock is disabled
- One module parameter is added to adjust ratio: 'hantro_clock_ratio'
  Default, decrease to 1/2 clock when receiving hot event

Signed-off-by: Zhou Peng-B04994 <eagle.zhou@nxp.com>
7 years agoMA-10480 Make CONFIG_I2C_IMX to depend on CONFIG_ARCH_MXC_ARM64
guoyin.chen [Thu, 19 Oct 2017 11:00:02 +0000 (19:00 +0800)]
MA-10480 Make CONFIG_I2C_IMX to depend on CONFIG_ARCH_MXC_ARM64

imx8mscale evk uses the i2c imx driver to control the pfuze driver
otherwise pfuze driver wont be probed with I2C_IMX

Change-Id: Iaeacde58a4cbe34a3d18cb16814d2334c74c2b79
(cherry-picked from commit ad7200824fa740a1fe9d418d3f949ff97b083bdf)
Signed-off-by: guoyin.chen <guoyin.chen@nxp.com>
7 years agoMLK-16576 usb: phy: mxs: set hold_ring_off for USB2 PLL power up
Li Jun [Mon, 16 Oct 2017 15:13:19 +0000 (23:13 +0800)]
MLK-16576 usb: phy: mxs: set hold_ring_off for USB2 PLL power up

USB2 PLL use ring VCO, when the PLL power up, the ring VCO’s supply also
ramp up. There is a possibility that the ring VCO start oscillation at
multi nodes in this phase, especially for VCO which has many stages, then
the multiwave will kept until PLL power down. Hold_ring_off(bit11) can
force the VCO in one determined state when VCO supply start ramp up, to
avoid this multiwave issue. Per IC design's suggestion it's better this
bit can be off from 25us after pll power up to 25us before USB TX/RX.

Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
(cherry picked from commit a094377f04c9ed2c8e702ee7bfab843caa03eb96)

7 years agoMLK-16606-4 arm64: dts: imx8qm-mek: add flexcan support
Dong Aisheng [Wed, 18 Oct 2017 12:54:16 +0000 (20:54 +0800)]
MLK-16606-4 arm64: dts: imx8qm-mek: add flexcan support

CAN0 and CAN1 share the same transceiver STBY and EN signals while
CAN2 uses a separated one.

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
7 years agoMLK-16606-3 arm64: dts: imx8qm-mek: add pca6416 IO expander support
Dong Aisheng [Wed, 18 Oct 2017 12:44:30 +0000 (20:44 +0800)]
MLK-16606-3 arm64: dts: imx8qm-mek: add pca6416 IO expander support

NXP pca6416 is compatible with TI tca6416 and it's on M41 I2C bus.

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
7 years agoMLK-16606-2 arm64: dts: imx8qm: add M40 and M41 I2C devices
Dong Aisheng [Wed, 18 Oct 2017 10:54:43 +0000 (18:54 +0800)]
MLK-16606-2 arm64: dts: imx8qm: add M40 and M41 I2C devices

add M40 and M41 I2C devices

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
7 years agoMLK-16606-1 clk: imx8qm: add M4 I2C clocks
Dong Aisheng [Thu, 12 Oct 2017 11:43:39 +0000 (19:43 +0800)]
MLK-16606-1 clk: imx8qm: add M4 I2C clocks

There're two M4 I2C instances in MX8QM.

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
7 years agoMLK-16595 rpmsg: imx: enable multi-core string demo
Richard Zhu [Tue, 17 Oct 2017 06:23:40 +0000 (14:23 +0800)]
MLK-16595 rpmsg: imx: enable multi-core string demo

Because that there are two M4 cores on iMX8QM.
Enable the multi-core string echo support.

BuildInfo:
- SCFW a6fd9a48, IMX-MKIMAGE 0, ATF 0
- U-Boot 2017.03-imx_v2017.03_4.9.11_imx8_alpha+g258936c

Reviewed-by: Frank Li <frank.li@nxp.com>
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
7 years agoMLK-16609: arm64: dts: support flexspi on i.MX8QM MEK
Han Xu [Wed, 18 Oct 2017 20:52:37 +0000 (15:52 -0500)]
MLK-16609: arm64: dts: support flexspi on i.MX8QM MEK

add device tree node to support flexspi on i.MX8QM MEK board.

 BuildInfo:
  - SCFW 9e9f6ec6, IMX-MKIMAGE e1b3bc76, ATF 0
  - U-Boot 2017.03-00072-gfdcf70a

Signed-off-by: Han Xu <han.xu@nxp.com>
7 years agoMLK-16601: ARM64: dts: imx8mq: support spdif on mscale evk
Shengjiu Wang [Mon, 16 Oct 2017 08:12:39 +0000 (16:12 +0800)]
MLK-16601: ARM64: dts: imx8mq: support spdif on mscale evk

Enable the spdif1 on mscale evk, the tx is tested with fly wire to
MX51EXP (sch-26109) board, rx is not tested(waiting the audio board).

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
7 years agoMLK-16597: hdmi: Fix kernel dump issue
Sandor Yu [Tue, 17 Oct 2017 11:13:23 +0000 (19:13 +0800)]
MLK-16597: hdmi: Fix kernel dump issue

Kernel will dump when CONFIG_CC_STACKPROTECTOR_STRONG is enable.

[    2.675537] CDN_API_HDMITX_Set_Mode_blocking ret = 0
[    2.675550] Kernel panic - not syncing: stack-protector: Kernel stack
is corrupted in: ffff000008ad5a50
[    2.675550]
[    2.675557] CPU: 2 PID: 1553 Comm: kworker/2:2 Not tainted
4.9.56-641868-gead64f8 #12
[    2.675559] Hardware name: Freescale i.MX8MQ EVK (DT)
[    2.675576] Workqueue: events deferred_probe_work_func
[    2.675578] Call trace:
[    2.675587] [<ffff00000808974c>] dump_backtrace+0x0/0x1d0
[    2.675594] [<ffff000008089930>] show_stack+0x14/0x1c
[    2.675602] [<ffff000008401650>] dump_stack+0x8c/0xac
[    2.675609] [<ffff0000081b0b24>] panic+0x13c/0x2a8
[    2.675617] [<ffff0000080c5ec4>] print_tainted+0x0/0xa4
[    2.675624] [<ffff000008ad5a50>] Afe_write+0x0/0x50
[    2.675632] [<ffff00000849aff0>] hdmi_init.constprop.3+0x188/0x1d0
[    2.675638] [<ffff00000849b264>] imx_hdmi_probe+0x22c/0x2ac
[    2.675645] [<ffff0000086d543c>] platform_drv_probe+0x50/0xc8
[    2.675650] [<ffff0000086d3530>] driver_probe_device+0x218/0x2b8
[    2.675655] [<ffff0000086d3710>] __device_attach_driver+0x98/0xe8
[    2.675660] [<ffff0000086d126c>] bus_for_each_drv+0x60/0xb0
[    2.675665] [<ffff0000086d31bc>] __device_attach+0xd4/0x128
[    2.675669] [<ffff0000086d38f8>] device_initial_probe+0x10/0x18
[    2.675674] [<ffff0000086d275c>] bus_probe_device+0x90/0x98
[    2.675679] [<ffff0000086d2bf0>] deferred_probe_work_func+0x7c/0xb0
[    2.675685] [<ffff0000080e1580>] process_one_work+0x144/0x434
[    2.675690] [<ffff0000080e1ec4>] worker_thread+0x200/0x4a4
[    2.675696] [<ffff0000080e81f0>] kthread+0xf0/0x104
[    2.675701] [<ffff000008082e80>] ret_from_fork+0x10/0x50

It is cause by array variable access exceed.
Fixed it with correct array size.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
7 years agoMLK-16600 gpu: imx: dpu: common: Initialize pixel link in resume() only if necessary
Liu Ying [Wed, 18 Oct 2017 02:43:20 +0000 (10:43 +0800)]
MLK-16600 gpu: imx: dpu: common: Initialize pixel link in resume() only if necessary

We should initialize pixel link in resume() for DPUv2 which
has pixel link quirks, but not for DPUv1 which hasn't the quirks.

Fixes: 0d7fa2aa1a9f ("MLK-16581-6 gpu: imx: dpu: Add system power management support")
Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-16586-3 rpmsg: imx: enable multi-core rpmsg
Richard Zhu [Mon, 16 Oct 2017 02:18:07 +0000 (10:18 +0800)]
MLK-16586-3 rpmsg: imx: enable multi-core rpmsg

- Init multi-core mu power and clk.
- enable the multi-core rpmsg support

BuildInfo:
- SCFW a6fd9a48, IMX-MKIMAGE 0, ATF 0
- U-Boot 2017.03-imx_v2017.03_4.9.11_imx8_alpha+g258936c

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Reviewed-by: Robin Gong <yibin.gong@nxp.com>
Tested-by: Andy Duan <fugang.duan@nxp.com>
7 years agoMLK-16586-2 ARM64: dts: imx: enable multi-core rpmsg support
Richard Zhu [Mon, 9 Oct 2017 08:23:50 +0000 (16:23 +0800)]
MLK-16586-2 ARM64: dts: imx: enable multi-core rpmsg support

Because there are two m4 cores on imx8qm,
enable imx8qm multi-core rpmsg support

BuildInfo:
- SCFW a6fd9a48, IMX-MKIMAGE 0, ATF 0
- U-Boot 2017.03-imx_v2017.03_4.9.11_imx8_alpha+g258936c

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Reviewed-by: Robin Gong <yibin.gong@nxp.com>
Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>
Reviewed-by: Andy Duan <fugang.duan@nxp.com>
Tested-by: Andy Duan <fugang.duan@nxp.com>
7 years agoMLK-16586-1 clk: imx8qm: add the cm41 ipg clk
Richard Zhu [Mon, 9 Oct 2017 08:25:33 +0000 (16:25 +0800)]
MLK-16586-1 clk: imx8qm: add the cm41 ipg clk

Add the cm41 ipg clk

BuildInfo:
- SCFW a6fd9a48, IMX-MKIMAGE 0, ATF 0
- U-Boot 2017.03-imx_v2017.03_4.9.11_imx8_alpha+g258936c

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Reviewed-by: Robin Gong <yibin.gong@nxp.com>
Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>
Tested-by: Andy Duan <fugang.duan@nxp.com>
7 years agoMLK16557 soc:imx8qm/imx8qx - Resources can request low power idle mode only when...
Ranjani Vaidyanathan [Thu, 28 Sep 2017 18:48:23 +0000 (13:48 -0500)]
MLK16557 soc:imx8qm/imx8qx - Resources can request low power idle mode only when runtime-pm is enabled.

Some drivers use runtime PM callbacks during suspend/resume also and this
in turn results in SCFW calls requesting the resource to enter
low power idle instead OFF state.
This patch fixes this issue by ensuring that low power IDLE request is only
valid when runtime PM is enabled. Runtime PM is disabled when the system is
entering suspend state.

BuildInfo: SCFW 7a725203, IMX-MKIMAGE ee6adff0, ATF 0

Signed-off-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
7 years agoMGS-2717-2 [#ccc] Error message printed on board that didn't support gpu govern when...
Yuchou Gan [Mon, 16 Oct 2017 17:29:36 +0000 (01:29 +0800)]
MGS-2717-2 [#ccc] Error message printed on board that didn't support gpu govern when rmmod galcore

When rmmod galcore.ko on boards that didn't support gpu govern,
some error message will be printed on console, do something to prevent this.

Date: Oct 16, 2017
Signed-off-by: Yuchou Ganyuchou.gan@nxp.com
Reviewed-by: Xianzhong xianzhong.li@nxp.com
Reviewed-by: Prabhu Sundararaj prabhu.sundararaj@nxp.com
7 years agoMLK-16581-7 drm/imx: ldb: Add system power management support
Liu Ying [Fri, 13 Oct 2017 05:22:16 +0000 (13:22 +0800)]
MLK-16581-7 drm/imx: ldb: Add system power management support

This patch adds system power management support for imx-ldb drm driver
by proper PHY power/exit/init handling where necessary and pixel link
re-initialization in the resume operation.  The driver depends on the
imx-drm core driver to handle ldb bridge power management operations.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-16581-6 gpu: imx: dpu: Add system power management support
Liu Ying [Fri, 13 Oct 2017 05:08:41 +0000 (13:08 +0800)]
MLK-16581-6 gpu: imx: dpu: Add system power management support

The dpu core driver currently depends on the client drivers
to do suspend operations to leave dpu a cleaned up state
machine status before the system enters sleep mode.  When the
system resumes, the dpu core driver resume operation will
re-initialize the machine state by enabling intsteer lines,
re-initializing pixel links and re-initializing dpu sub-units.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-16581-5 gpu: imx: dpu: common: Add helper dpu_intsteer_enable_lines() support
Liu Ying [Fri, 13 Oct 2017 05:05:47 +0000 (13:05 +0800)]
MLK-16581-5 gpu: imx: dpu: common: Add helper dpu_intsteer_enable_lines() support

This patch adds helper dpu_intsteer_enable_lines() support so that
users may enable intsteer lines with one function call.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-16581-4 gpu: imx: framegen: Get pll & pixel clock rates before setting their...
Liu Ying [Fri, 13 Oct 2017 04:33:39 +0000 (12:33 +0800)]
MLK-16581-4 gpu: imx: framegen: Get pll & pixel clock rates before setting their rates

Due to i.MX8 clock issue, we need to get pll and pixel clock rates
before setting their rates when system resumes back from PM sleep mode,
otherwise, we'll fail to set the clock rates.  So, this is a workaround
and it can be removed when the clock issue is properly fixed.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-16581-3 drm/imx: ldb: Get bypass & pixel clock rates before setting their rates
Liu Ying [Fri, 13 Oct 2017 04:30:46 +0000 (12:30 +0800)]
MLK-16581-3 drm/imx: ldb: Get bypass & pixel clock rates before setting their rates

Due to i.MX8 clock issue, we need to get bypass and pixel clock rates
before setting their rates when system resumes back from PM sleep mode,
otherwise, we'll fail to set the clock rates.  So, this is a workaround
and it can be removed when the clock issue is properly fixed.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-16581-2 phy: mixel-lvds-combo: Get PHY clock rate before setting it's rate
Liu Ying [Fri, 13 Oct 2017 03:47:51 +0000 (11:47 +0800)]
MLK-16581-2 phy: mixel-lvds-combo: Get PHY clock rate before setting it's rate

Due to i.MX8 clock issue, we need to get PHY clock rate
before setting it's rate when system resumes back from
PM sleep mode, otherwise, we'll fail to set the clock rate.
So, this is a workaround and it can be removed when
the clock issue is properly fixed.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-16581-1 phy: mixel-lvds: Get PHY clock rate before setting it's rate
Liu Ying [Fri, 13 Oct 2017 03:37:18 +0000 (11:37 +0800)]
MLK-16581-1 phy: mixel-lvds: Get PHY clock rate before setting it's rate

Due to i.MX8 clock issue, we need to get PHY clock rate
before setting it's rate when system resumes back from
PM sleep mode, otherwise, we'll fail to set the clock rate.
So, this is a workaround and it can be removed when
the clock issue is properly fixed.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agodrm: Take ownership of the dmabuf->obj when exporting
Chris Wilson [Wed, 7 Dec 2016 21:45:27 +0000 (21:45 +0000)]
drm: Take ownership of the dmabuf->obj when exporting

Currently the reference for the dmabuf->obj is incremented for the
dmabuf in drm_gem_prime_handle_to_fd() (at the high level userspace
interface), but is released in drm_gem_dmabuf_release() (the lowlevel
handler). Improve the symmetry of the dmabuf->obj ownership by acquiring
the reference in drm_gem_dmabuf_export(). This makes it easier to use
the prime functions directly.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
[danvet: Update kerneldoc.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20161207214527.22533-1-chris@chris-wilson.co.uk
Cherry-picked 72a93e8dd52c9feea42f1258d555e6070680a347 from
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/
This is required by VSI to implement DRM support.

Signed-off-by: Marius Vlad <marius-cristian.vlad@nxp.com>
Acked-by: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
7 years agoMLK-16571-5: arm: dts: i.MX7ULP LPSPI IPG clock change
Han Xu [Thu, 12 Oct 2017 22:15:26 +0000 (17:15 -0500)]
MLK-16571-5: arm: dts: i.MX7ULP LPSPI IPG clock change

i.MX7ULP LPSPI also use both ipg/per clock for the module, which ipg
clock was not exposed. Add one dummy clock as ipg clock to make the
lpspi code neat and clear.

Reviewed-by: Pan Gao <pandy.gao@nxp.com>
Signed-off-by: Han Xu <han.xu@nxp.com>
7 years agoMLK-16571-4: lpspi: support nor chip access from lpspi
Han Xu [Wed, 11 Oct 2017 20:55:41 +0000 (15:55 -0500)]
MLK-16571-4: lpspi: support nor chip access from lpspi

i.MX8QM connects the AT45DB041E nor chip to lpspi, change the lpspi
driver to request irq before bitbang starts, add both ipg and per clock
for i.MX8QM and add gpio cs to keep the cs asserted during nor access.

BuildInfo: SCFW 9e9f6ec6, IMX-MKIMAGE 0, ATF 0

Reviewed-by: Pan Gao <pandy.gao@nxp.com>
Signed-off-by: Han Xu <han.xu@nxp.com>