linux.git
7 years agoMLK-15949-2 ARM64: dts: fsl-imx8qxp: correct USDHC per clock rate
Haibo Chen [Tue, 11 Jul 2017 03:19:49 +0000 (11:19 +0800)]
MLK-15949-2 ARM64: dts: fsl-imx8qxp: correct USDHC per clock rate

Set USDHC2/3 per clock's parent clock to 200MHz.

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
7 years agoMLK-15949-1 clk: imx: fix IMX8QXP_SDHC2_CLK parent issue
Haibo Chen [Tue, 11 Jul 2017 02:55:06 +0000 (10:55 +0800)]
MLK-15949-1 clk: imx: fix IMX8QXP_SDHC2_CLK parent issue

Correct IMX8QXP_SDHC2_CLK clock's parent to IMX8QXP_SDHC2_DIV

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
7 years agoMLK-15350 ARM64: dts: fsl-imx8mq-evk: add SD3.0 support
Haibo Chen [Thu, 6 Jul 2017 10:21:27 +0000 (18:21 +0800)]
MLK-15350 ARM64: dts: fsl-imx8mq-evk: add SD3.0 support

Add SD3.0 and eMMC HS400 support for imx8mq-evk.

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
7 years agoMLK-14765: Enable DCP SHA workaround on all platforms
Radu Solea [Thu, 13 Jul 2017 12:00:09 +0000 (15:00 +0300)]
MLK-14765: Enable DCP SHA workaround on all platforms

Remove variant restriction for DCP SHA workaround. All integrations of
DCP seem affected.

Signed-off-by: Radu Solea <radu.solea@nxp.com>
7 years agoMGS-3083 [#imx-662] fix gpu kernel build error with kasan config
Xianzhong [Thu, 13 Jul 2017 02:28:14 +0000 (10:28 +0800)]
MGS-3083 [#imx-662] fix gpu kernel build error with kasan config

remove _eventRecord and _commandBufferObject instrances, use stack to avoid below error:

hal/kernel/gc_hal_kernel_command.c: In function gckCOMMAND_Commit:
hal/kernel/gc_hal_kernel_command.c:2718:1:
error: the frame size of 2288 bytes is larger than 2048 bytes [-Werror=frame-larger-than=]

Date: Jul 13, 2017
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
7 years agoMLK-15954:[i.MX8MQ/ION]: Add ioctrl for 32 bit application
Zhou Peng-B04994 [Wed, 12 Jul 2017 06:28:02 +0000 (14:28 +0800)]
MLK-15954:[i.MX8MQ/ION]: Add ioctrl for 32 bit application

Implement compat_ioctl for 32bit application

Signed-off-by: Zhou Peng-B04994 <eagle.zhou@nxp.com>
7 years agoMLK-15004: ASoC: fsl: Refactor DMA workaround
Daniel Baluta [Tue, 11 Jul 2017 13:06:58 +0000 (16:06 +0300)]
MLK-15004: ASoC: fsl: Refactor DMA workaround

Commit 2f756e7aa8840 ("ASoC: fsl_esai: esai workaround for imx8qxp
Rev1") introduced a workaround for ESAI.

Because the same workaround needs to be done for SPDIF, we refactor
GPT handling in order to avoid code duplication.

Notice that we isolate code related to workaround into
fsl_dma_workaround so that only few lines of code from ESAI/SPDIF
are modified. Thus when the hardware issue will be fixed there will
be very little things to revert in our modules.

Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
7 years agoMLK-15959: ASoc: fsl: fix hifi4 driver build warning
Weiguang Kong [Wed, 12 Jul 2017 09:31:48 +0000 (17:31 +0800)]
MLK-15959: ASoc: fsl: fix hifi4 driver build warning

When building sound/soc/fsl/fsl_hifi4.c file, a warning
occurs:
      warning: cast to pointer from integer of different
      size [-Wint-to-pointer-cast]
      (struct timestamp_info_t *)pext_msg->dtstamp;

By forced conversing int type to long type to fix this
issue.

Signed-off-by: Weiguang Kong <weiguang.kong@nxp.com>
7 years agoMLK-15955 gpu: imx: dpu: Sort dpu unit names in struct dpu_soc alphabetically
Liu Ying [Wed, 12 Jul 2017 03:04:41 +0000 (11:04 +0800)]
MLK-15955 gpu: imx: dpu: Sort dpu unit names in struct dpu_soc alphabetically

This patch sorts DPU unit names in structure dpu_soc alphabetically.
So, just code change only.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-15951: ARM64: dts: fsl-imx8qxp: Fix SAI master clock assignment
Mihai Serban [Tue, 11 Jul 2017 11:05:40 +0000 (14:05 +0300)]
MLK-15951: ARM64: dts: fsl-imx8qxp: Fix SAI master clock assignment

The SAI driver maps the DTS master clock names to the registers settings
that select the audio Master Clock used for internally generated bit clock
when SAI operates in master mode.
The mapping is defined as follows:

mclk0 -> Bus Clock
mclk1 -> Master Clock (MCLK) 1
mclk2 -> Master Clock (MCLK) 2
mclk3 -> Master Clock (MCLK) 3

In iMX8QXP the SAIs are connected to MCLK 1 so we have to use it in DTS.

Signed-off-by: Mihai Serban <mihai.serban@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
7 years agoMLK-15953-04 ARM64: config: Enable i.mx8mq thermal driver support
Bai Ping [Wed, 12 Jul 2017 02:26:09 +0000 (10:26 +0800)]
MLK-15953-04 ARM64: config: Enable i.mx8mq thermal driver support

Enable the thermal driver support in default config for i.MX8MQ

Signed-off-by: Bai Ping <ping.bai@nxp.com>
7 years agoMLK-15953-03 ARM64: dts: Add tmu thermal device node support for imx8mq
Bai Ping [Wed, 12 Jul 2017 02:16:16 +0000 (10:16 +0800)]
MLK-15953-03 ARM64: dts: Add tmu thermal device node support for imx8mq

Add the tmu thermal zone device support on i.MX8MQ. At present, only
support one thermal zone, other two thermal zone support will be added
later.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
7 years agoMLK-15953-02 driver: thermal: Add tmu thermal driver support for i.mx8mq
Bai Ping [Wed, 12 Jul 2017 01:52:13 +0000 (09:52 +0800)]
MLK-15953-02 driver: thermal: Add tmu thermal driver support for i.mx8mq

On i.MX8MQ, we use the same TMU as on QorIQ platform, so the TMU driver
for QorIQ platform can be resued on our i.MX8M platform.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
7 years agoMLK-15953-01 driver: clk: Add tmu root clock for i.mx8mq
Bai Ping [Wed, 12 Jul 2017 01:27:51 +0000 (09:27 +0800)]
MLK-15953-01 driver: clk: Add tmu root clock for i.mx8mq

Add the tmu root clock for i.mx8mq.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
7 years agoMLK-15356-2:[i.MX8MQ/Hantro] Add support for android platform
Zhou Peng-B04994 [Wed, 12 Jul 2017 01:51:33 +0000 (09:51 +0800)]
MLK-15356-2:[i.MX8MQ/Hantro] Add support for android platform

Add compat ioctl for 32 bit application
This is re-commit: only reserve hantro driver change
           remove mxc_ion change

Signed-off-by: Zhou Peng-B04994 <eagle.zhou@nxp.com>
7 years agoMLK-15337: pxp-v3: add pxp v3 crop feature
Guoniu.Zhou [Wed, 5 Jul 2017 06:03:06 +0000 (14:03 +0800)]
MLK-15337: pxp-v3: add pxp v3 crop feature

Add pxp v3 crop feature support.
Update the pxp_dma.h file.

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
7 years agoMLK-15325: pxp-v3: Modify pxp pitch parameter and csc
Guoniu.Zhou [Wed, 5 Jul 2017 04:20:33 +0000 (12:20 +0800)]
MLK-15325: pxp-v3: Modify pxp pitch parameter and csc
coefficient setting.

Because the caller of pxp-v3 does not set the stride parameter,
this will cause pitch parameter to be zero and pxp can't work.

Correct the csc1 coefficient when use pxp convert YUV to RGB format.

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
7 years agoRevert "MLK-15356-2:[i.MX8MQ/Hantro] Add support for android platform"
Octavian Purdila [Tue, 11 Jul 2017 09:36:26 +0000 (12:36 +0300)]
Revert "MLK-15356-2:[i.MX8MQ/Hantro] Add support for android platform"

This reverts commit b5d7e2af70d25568835a813a95032998194bc262 as it
breaks the build on imx6/7.

Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
7 years agoMLK-15356-2:[i.MX8MQ/Hantro] Add support for android platform
Zhou Peng-B04994 [Mon, 10 Jul 2017 09:03:07 +0000 (17:03 +0800)]
MLK-15356-2:[i.MX8MQ/Hantro] Add support for android platform

Add compat ioctl for 32 bit application

Signed-off-by: Zhou Peng-B04994 <eagle.zhou@nxp.com>
7 years agoMLK-15932-8 drm/imx: dpu: kms: Add scalers support
Liu Ying [Mon, 10 Jul 2017 04:59:58 +0000 (12:59 +0800)]
MLK-15932-8 drm/imx: dpu: kms: Add scalers support

This patch adds scalers support.  According to the DPU spec, we only
support up-scaling for display controller.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-15932-7 gpu: imx: dpu: common: Add scalers support in dpu plane group
Liu Ying [Mon, 10 Jul 2017 04:47:10 +0000 (12:47 +0800)]
MLK-15932-7 gpu: imx: dpu: common: Add scalers support in dpu plane group

This patch adds scalers support in dpu plane group.  A module parameter,
i.e., display_plane_video_proc, is introduced to enable or disable video
processing capability of display plane, since some video processing units
are shared with capture controllers.  By default, it is enabled.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-15932-6 gpu: imx: dpu: common: Introduce dpu_vproc_get_h/vscale_cap()
Liu Ying [Mon, 10 Jul 2017 04:40:49 +0000 (12:40 +0800)]
MLK-15932-6 gpu: imx: dpu: common: Introduce dpu_vproc_get_h/vscale_cap()

This patch introduces two helpers - dpu_vproc_get_h/vscale_cap().

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-15932-5 gpu: imx: dpu: common: Introduce dpu_vproc_has_h/vscale_cap()
Liu Ying [Mon, 10 Jul 2017 04:38:03 +0000 (12:38 +0800)]
MLK-15932-5 gpu: imx: dpu: common: Introduce dpu_vproc_has_h/vscale_cap()

This patch introduces two helpers - dpu_vproc_has_h/vscale_cap().

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-15932-4 gpu: imx: dpu: fetchdecode: Add scaler support
Liu Ying [Mon, 10 Jul 2017 03:47:25 +0000 (11:47 +0800)]
MLK-15932-4 gpu: imx: dpu: fetchdecode: Add scaler support

The output of FetchDecode can be the input of HScaler and/or VScaler.
If both of the two scalers are wanted, the two scalers can be connected
with each other by themselves as an united scaler unit.  This patch adds
basic scaling capability support for FetchDecode.  Three helpers are
introduced - fetchdecode_get_vproc_mask() and fetchdecode_get_h/vscaler().

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-15932-3 gpu: imx: dpu: common: Add HScaler and VScaler support
Liu Ying [Mon, 10 Jul 2017 03:23:32 +0000 (11:23 +0800)]
MLK-15932-3 gpu: imx: dpu: common: Add HScaler and VScaler support

This patch adds basic HScaler and VScaler support in the DPU core driver.
The two scaler units can be used in the display controller, blit engine
or capture controller.  Currently, we only support the display controller.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-15932-2 video: dpu: Remove the prefix 'lb_' for lb_pixengcfg_clken_t
Liu Ying [Mon, 10 Jul 2017 03:06:51 +0000 (11:06 +0800)]
MLK-15932-2 video: dpu: Remove the prefix 'lb_' for lb_pixengcfg_clken_t

There are several DPU units which have the same clock enable control bits
in their Dynamic registers, e.g., HScaler, VScaler, Rop, Fliter and Matrix,
etc.  So, let's remove the prefix 'lb_' from the enumerator name of
lb_pixengcfg_clk_t so that it can be a little bit generic.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-15932-1 video: dpu: Add prefix 'LB_' to member names of enum lb_mode_t
Liu Ying [Mon, 10 Jul 2017 02:48:41 +0000 (10:48 +0800)]
MLK-15932-1 video: dpu: Add prefix 'LB_' to member names of enum lb_mode_t

The member name 'NEUTRAL' of enum lb_mode_t is a little bit too generic,
since others DPU units have neutral modes as well, e.g., HScaler, VScaler,
Rop, CLuT and Matrix, etc.  So, let's add the prefix 'LB_' to member names
of enum lb_mode_t so that they can be specific to LayerBlends.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMA-9801 Add ION configure to DTS for 8qm&8qxp platform.
ivan.liu [Wed, 28 Jun 2017 08:16:54 +0000 (16:16 +0800)]
MA-9801 Add ION configure to DTS for 8qm&8qxp platform.

Enable ION function on 8qm&8qxp platform.

Change-Id: Ib217b57e4d0706143db34626ddfd1002a25ff2e9
Signed-off-by: ivan.liu <xiaowen.liu@nxp.com>
7 years agoMLK-15938-3 arm64: dts: freescale: imx8mq: add pwm led support
Anson Huang [Mon, 10 Jul 2017 16:24:17 +0000 (00:24 +0800)]
MLK-15938-3 arm64: dts: freescale: imx8mq: add pwm led support

i.MX8MQ EVK board has a PWM LED, add support for it.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-15938-2 arm64: defconfig: add imx pwm led support
Anson Huang [Mon, 10 Jul 2017 16:23:05 +0000 (00:23 +0800)]
MLK-15938-2 arm64: defconfig: add imx pwm led support

Add CONFIG_LEDS_PWM and CONFIG_PWM_IMX support for
i.MX8MQ which has a PWM LED on EVK board.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-15938-1 pwm: Kconfig: add imx pwm support for arm64 platform
Anson Huang [Mon, 10 Jul 2017 16:21:13 +0000 (00:21 +0800)]
MLK-15938-1 pwm: Kconfig: add imx pwm support for arm64 platform

Add ARM64 platform support for i.MX PWM driver.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-15934-3: ASoc: fsl: add hifi4 firmware's status transfer support
Weiguang Kong [Fri, 7 Jul 2017 04:38:09 +0000 (12:38 +0800)]
MLK-15934-3: ASoc: fsl: add hifi4 firmware's status transfer support

1. add cases to receive error value from hifi4 firmware and
   return this error to hifi4 driver's caller.
2. add cases to receive input over indicator variable from
   hifi4 dirver's caller and pass this value to hifi4 firmware

Signed-off-by: Weiguang Kong <weiguang.kong@nxp.com>
7 years agoMLK-15934-2: ASoc: fsl: different pointer length issue for hifi4
Weiguang Kong [Mon, 10 Jul 2017 04:03:53 +0000 (12:03 +0800)]
MLK-15934-2: ASoc: fsl: different pointer length issue for hifi4

when transferring struct icm_open_resp_info_t type
between hifi4 framework and hifi4 driver, because this
struct has an element "*dtstamp" which is a pointer,
but for hifi4 firmware, this pointer occupies 4 bytes,
for hifi4 driver, this pointer occupies 8 bytes.
different pointer length will cause issue when reading
this structure's content in hifi4 driver.

By changing the pointer type to unsigned int type to
fix this issue.

Signed-off-by: Weiguang Kong <weiguang.kong@nxp.com>
7 years agoMLK-15317: ARM64: dts: Fix SAI1 IPG clock
Daniel Baluta [Mon, 10 Jul 2017 11:54:24 +0000 (14:54 +0300)]
MLK-15317: ARM64: dts: Fix SAI1 IPG clock

Fixes: 293f390e81 ("ARM64: dts: Add SAI1 definition")
Reported-by: Viorel Suman <viorel.suman@nxp.com>
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
7 years agoMLK-15935-02 ARM64: configs: Enable trip point writable config for debug purpose
Bai Ping [Mon, 10 Jul 2017 07:19:26 +0000 (15:19 +0800)]
MLK-15935-02 ARM64: configs: Enable trip point writable config for debug purpose

We may need to dynamically change the trip point temp for thermal driver validation,
so enable the trip point writable config in defconfig.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
7 years agoMLK-15935-01 ARM64: dts: update the critical trip point temp for 8qm/qxp
Bai Ping [Mon, 10 Jul 2017 07:15:26 +0000 (15:15 +0800)]
MLK-15935-01 ARM64: dts: update the critical trip point temp for 8qm/qxp

Update the default critical trip point temp to 127C to align with the
SCFW's panic alarm temp.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
7 years agoMLK-15940 video: fbdev: imx_northwest_dsi: refine the horizontal blanking periods.
Fancy Fang [Mon, 10 Jul 2017 09:06:58 +0000 (17:06 +0800)]
MLK-15940 video: fbdev: imx_northwest_dsi: refine the horizontal blanking periods.

The horizontal blanking periods should have bytes unit
instead of pixels.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
7 years agoMLK-15936 clk: imx7d: Fix OCRAM_CLK parent clock
Adriana Reus [Fri, 7 Jul 2017 08:47:25 +0000 (11:47 +0300)]
MLK-15936 clk: imx7d: Fix OCRAM_CLK parent clock

The parent of OCRAM_CLK should be axi_main_root_clk
and not axi_post_div.

before:

axi_src                         1       1       332307692       0 0
  axi_cg                        1       1       332307692       0 0
    axi_pre_div                 1       1       332307692       0 0
      axi_post_div              2       2       332307692       0 0
        ocram_clk               1       1       332307692       0 0
        main_axi_root_clk       1       1       332307692       0 0
          pxp_axi_clk           0       0       332307692       0 0

after:

axi_src                         1       1       332307692       0 0
  axi_cg                        1       1       332307692       0 0
    axi_pre_div                 1       1       332307692       0 0
      axi_post_div              1       1       332307692       0 0
        main_axi_root_clk       2       2       332307692       0 0
          pxp_axi_clk           0       0       332307692       0 0
          ocram_clk             1       1       332307692       0 0

Signed-off-by: Adriana Reus <adriana.reus@nxp.com>
7 years agoMLK-15335 clk: imx7d-ccm: Remove ARM_M0 clock
Adriana Reus [Thu, 6 Jul 2017 10:32:12 +0000 (13:32 +0300)]
MLK-15335 clk: imx7d-ccm: Remove ARM_M0 clock

IMX7d does not contain an M0 Core and this particular
clock doesn't seem connected to anything else.
Remove this entry from the CCM driver.

Signed-off-by: Adriana Reus <adriana.reus@nxp.com>
7 years agoMLK-15927-2: ARM64: dts: iMX8QM and iMX8QXP use specific SAI compatibility string
Mihai Serban [Fri, 7 Jul 2017 13:13:48 +0000 (16:13 +0300)]
MLK-15927-2: ARM64: dts: iMX8QM and iMX8QXP use specific SAI compatibility string

For iMX8QM and iMX8QXP the SAI device driver must to add a constraint
on the period size because of EDMA requirements.

Signed-off-by: Mihai Serban <mihai.serban@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
7 years agoMLK-15927-1: ASoC: fsl_sai: Fix noise when using EDMA
Mihai Serban [Fri, 7 Jul 2017 12:09:51 +0000 (15:09 +0300)]
MLK-15927-1: ASoC: fsl_sai: Fix noise when using EDMA

EDMA requires the period size to be multiple of maxburst. Otherwise the
remaining bytes are not transferred and thus noise is produced.

We can handle this issue by adding a constraint on
SNDRV_PCM_HW_PARAM_PERIOD_SIZE to be multiple of tx/rx maxburst value.

This is based on a similar patch we have for ESAI:
commit bd3f3eb2a37c
("MLK-15109-2: ASoC: fsl_esai: add constrain_period_size")

Signed-off-by: Mihai Serban <mihai.serban@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
7 years agoMLK-15933 arm64: dts: freescale: imx8qm: update A72 cpu freq table
Anson Huang [Mon, 10 Jul 2017 14:09:07 +0000 (22:09 +0800)]
MLK-15933 arm64: dts: freescale: imx8qm: update A72 cpu freq table

i.MX8QM SCFW fixes the HP PLL rate calculation, A72 cluster
CPU frequency has been changed from 1584MHz to 1596MHz,
change the CPU OPP table accordingly.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-15925-3 drm/imx: dpu: kms: Avoid plane src hot migration between 2 disps
Liu Ying [Fri, 7 Jul 2017 09:41:34 +0000 (17:41 +0800)]
MLK-15925-3 drm/imx: dpu: kms: Avoid plane src hot migration between 2 disps

The DPU fetch units(backing DRM planes) are shared by two displays(a.k.a,
CRTCs).  Since the shadow trigger/load mechanism of each display(CRTC)
is independent from each other, on-the-fly/hot migration of plane source
is likely to cause resouce conflict issue when the shadow registers are
loaded.  This patch changes the way we assign fetch units for each DRM
planes so that we may avoid the migrations from happening.  Thanks to
the DRM atomic check nature, cold migrations still can be supported.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-15925-2 gpu: imx: dpu: fetchdecode: Add a helper to report if fd is enabled
Liu Ying [Fri, 7 Jul 2017 09:40:51 +0000 (17:40 +0800)]
MLK-15925-2 gpu: imx: dpu: fetchdecode: Add a helper to report if fd is enabled

This patch adds a helper so that users may know if the fetchdecode is enabled
or not.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-15925-1 gpu: imx: dpu: fetchdecode: Add get/set display stream id support
Liu Ying [Fri, 7 Jul 2017 09:32:43 +0000 (17:32 +0800)]
MLK-15925-1 gpu: imx: dpu: fetchdecode: Add get/set display stream id support

This patch adds two helpers so that users may get or set the display
stream id of fetchdecode.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-15354 clk: imx: imx8mq: add video_pll2 clock
Fancy Fang [Fri, 7 Jul 2017 06:07:06 +0000 (14:07 +0800)]
MLK-15354 clk: imx: imx8mq: add video_pll2 clock

Add video_pll2 SSCG PLL clock in anamix which can
be used by HDMI and DCSS.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
7 years agoMLK-15356-1:[i.MX8MQ/Hantro] Add support for android platform
Zhou Peng-B04994 [Fri, 7 Jul 2017 10:15:25 +0000 (18:15 +0800)]
MLK-15356-1:[i.MX8MQ/Hantro] Add support for android platform

Add hantro register mmap feature

Signed-off-by: Zhou Peng-B04994 <eagle.zhou@nxp.com>
7 years agoMLK-15316: ARM64: dts: fsl-imx8qxp-lpddr4-arm2-wm8962: enable WM8962 codec
Mihai Serban [Wed, 5 Jul 2017 16:43:42 +0000 (19:43 +0300)]
MLK-15316: ARM64: dts: fsl-imx8qxp-lpddr4-arm2-wm8962: enable WM8962 codec

Add DTS configuration for enabling WM8962 codec with iMX8QXP validation
board and the iMX8 debug board V2.

The connection in debug base board v2 is:
CODEC_PWR_EN:    SEAF_B_A18
CODEC_I2C_CLK:   SEAF_B_J32
CODEC_I2C_DAT:   SEAF_B_J31
AUD_MCLK:        SEAF_B_H24
AUD_TXC:         SEAF_B_B35
AUD_TXFS:        SEAF_B_B36
AUD_TXD:         SEAF_B_B37
AUD_RXD:         SEAF_B_A36
HEADPHONE_DET:   SEAF_B_A19
MICROPHONE_DET:  SEAF_B_A20

Signed-off-by: Mihai Serban <mihai.serban@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
7 years agoMLK-15748 drm/imx: dpu: plane: Correct the way we do framebuffer cropping
Liu Ying [Fri, 7 Jul 2017 08:39:59 +0000 (16:39 +0800)]
MLK-15748 drm/imx: dpu: plane: Correct the way we do framebuffer cropping

We should not use fetchdecode clip feature to do framebuffer cropping
since the hardware hehavior differs from what we expected.
According to the spec, it seems that the clip feature will keep the
source frame resolution and fill pixels in the clipped area.  So, let's
take the usual way to do the cropping and just simply tweak the buffer
start address.

Reported-by: Jared Hu <jared.hu@nxp.com>
Tested-by: Jared Hu <jared.hu@nxp.com>
Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-15317-6: ARM64: dts: Add support for MQS in im8xp
Daniel Baluta [Wed, 5 Jul 2017 15:52:51 +0000 (18:52 +0300)]
MLK-15317-6: ARM64: dts: Add support for MQS in im8xp

We introduce a new dts for MQS which is supported by
imx8qxp with debug base board v2.

Connection in debug board is:
MQS_LEFT: SEAF_B_G39
MQS_RIGHT: SEAF_B_G38

This is similar with imx8qm. Note that these pins are shared with SPDIF.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
7 years agoMLK-15317-5: ARM64: dts: Add asrc1 node definition
Daniel Baluta [Fri, 7 Jul 2017 06:14:26 +0000 (09:14 +0300)]
MLK-15317-5: ARM64: dts: Add asrc1 node definition

This specifies:
* EDMA controller
* ASRC controller
* register address
* interrupts
* clocks
* dmas

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
7 years agoMLK-15317-4: ARM64: dts: Add SAI1 definition
Daniel Baluta [Wed, 5 Jul 2017 15:40:28 +0000 (18:40 +0300)]
MLK-15317-4: ARM64: dts: Add SAI1 definition

This specifies:
* EDMA - SAI1 channels mapping
* SAI1 TX/RX interrupts
* SAI1 controller node definition
* register address
* interrupts
* clocks

This is based on Audio_QM_v0.1.07.pdf document.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
7 years agoMLK-15317-3: ASoC: fsl_mqs: Add support for MQS dummy codec in imx8qxp
Daniel Baluta [Wed, 5 Jul 2017 12:59:59 +0000 (15:59 +0300)]
MLK-15317-3: ASoC: fsl_mqs: Add support for MQS dummy codec in imx8qxp

MQS on i.mx8 QXP uses the same register as i.mx8 QM
so we only need to add compatible string here.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
7 years agoMLK-15317-2: ARM64: dts: Move AUD clocks under acm node
Daniel Baluta [Wed, 5 Jul 2017 15:49:29 +0000 (18:49 +0300)]
MLK-15317-2: ARM64: dts: Move AUD clocks under acm node

This mirrors change done for 8qm in commit c7c63a5d241b ("MLK-15340-4: ARM64: dts:
support SPDIF, MQS, SAI in imx8qm").

This needs to be moved out of esai node because esai node
might not be active all the time.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Mihai Serban <mihai.serban@nxp.com>
7 years agoMLK-15317-1: clk: imx8qxp: Fix AID_MQS_HMCLK parent clock
Daniel Baluta [Wed, 5 Jul 2017 14:57:05 +0000 (17:57 +0300)]
MLK-15317-1: clk: imx8qxp: Fix AID_MQS_HMCLK parent clock

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
7 years agoMLK-15351: PCI: imx: Only use pcie_bus_regulator for iMX6QP
Tiberiu Breana [Fri, 23 Jun 2017 14:15:24 +0000 (17:15 +0300)]
MLK-15351: PCI: imx: Only use pcie_bus_regulator for iMX6QP

The pcie_bus_regulator is only used by the iMX6QP board,
so only request the regulator for this variant.

Signed-off-by: Tiberiu Breana <andrei-tiberiu.breana@nxp.com>
7 years agoMLK-15079 video: mipi_dsi_samsung: fix reset failure for mipi dsi
Robby Cai [Thu, 6 Jul 2017 12:36:44 +0000 (20:36 +0800)]
MLK-15079 video: mipi_dsi_samsung: fix reset failure for mipi dsi

mxc_mipi_dsi_samsung 30760000.mipi-dsi: MIPI DSI dispdrv inited!
mxsfb 30730000.lcdif: registered mxc display driver mipi_dsi_samsung
mxc_mipi_dsi_samsung 30760000.mipi-dsi: failed to reset device: -517
mxsfb 30730000.lcdif: failed to enable dispdrv:mipi_dsi_samsung

due to the commit  e188cbf7564fba80e8339b9406e8740f3e495c63
"gpio: mxc: shift gpio_mxc_init() to subsys_initcall level", and
gpio_reset uses arch_initcall level, the gpio driver is not yet
ready when call device_reset() thus return -EPROBE_DEFER. But the caller
of device_reset(), mipi_dsi_enable() has no defer strategy.
use of_reset_control_get() function in init() function, which will be called
in probe function in mxsfb driver, to workaround the defer case.

Acked-by: Fang Chen <chen.fang@nxp.com>
Acked-by: Cristina-mihaela Ciocan <cristina-mihaela.ciocan@nxp.com>
Signed-off-by: Robby Cai <robby.cai@nxp.com>
7 years agoMLK15034: ARM: cpuidle imx7d: Declare longer exit_latency/target_residency
Leonard Crestez [Wed, 5 Jul 2017 16:20:04 +0000 (19:20 +0300)]
MLK15034: ARM: cpuidle imx7d: Declare longer exit_latency/target_residency

Low power idle exit latency is much longer than declared, in the
milisecond range.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK15034: ARM: cpuidle imx7d: Use a single counter for lpi flow
Leonard Crestez [Wed, 5 Jul 2017 17:34:01 +0000 (20:34 +0300)]
MLK15034: ARM: cpuidle imx7d: Use a single counter for lpi flow

The current code for deciding which CPU runs the complete lpi flow is
too complicated. Since all enter/exit code now runs under the same lock
we can just use a single non-atomic counter of cpus inside lpi.

Another variable is used to make num_online_cpus() available to ASM code
but idle code can treat it as a constant.

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
7 years agoMLK15034: ARM: cpuidle imx7d: Check IPIs manually before LPI
Leonard Crestez [Tue, 4 Jul 2017 17:52:26 +0000 (20:52 +0300)]
MLK15034: ARM: cpuidle imx7d: Check IPIs manually before LPI

The GPC will wake us on peripheral interrupts but not IPIs. So check
them manually by reading the GIC's GICD_SPENDSGIR* registers and
aborting idle if something is pending.

We do this only for the last cpu and after taking the required locks.
We know that at this stage the other cpu is in WFI itself or waiting for
the imx_pen_lock and can't trigger any additional IPIs. This means that
the check is not racy.

This fixes occasional lost IPIs causing tasks to get stuck in the
TASK_WAKING 'W' state for long periods. This eventually manifested as
rcu stalls.

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
7 years agoMLK15034: ARM: cpuidle imx7d: Extend imx_pen lock to cover entire flow
Leonard Crestez [Wed, 5 Jul 2017 16:55:39 +0000 (19:55 +0300)]
MLK15034: ARM: cpuidle imx7d: Extend imx_pen lock to cover entire flow

This makes the code much easier to reason about. In particular it o
makes sure the imx7d cpuidle driver respects the requirements for
cpu_cluster_pm_enter/exit:

* cpu_cluster_pm_enter must be called after cpu_pm_enter has been called
on all cpus in the power domain, and before cpu_pm_exit has been called
on any cpu in the power domain.
* cpu_cluster_pm_exit must be called after cpu_pm_enter has been called
on all cpus in the power domain, and before cpu_pm_exit has been called
on any cpu in the power domain.

This fixes interrupts sometimes getting "stuck" because of improper
save/restore of GIC DIST registers.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-15347 clk: imx: correct sccg and frac pll rate calculation error
Anson Huang [Thu, 6 Jul 2017 05:37:14 +0000 (13:37 +0800)]
MLK-15347 clk: imx: correct sccg and frac pll rate calculation error

- For SCCG SCCG_PLL2 type, its parent rate is with round-up,
  using parent rate to calculate its rate will introduce
  some error, like below sys1_pll2, its rate is actually 800M,
  but we got 800000004:

sys1_pll1_ref_sel          1      1    25000000    0 0
  sys1_pll1_ref_div        1      1    25000000    0 0
    sys1_pll1              1      1  1600000000    0 0
      sys1_pll1_out        1      1  1600000000    0 0
        sys1_pll1_out_div  1      1    66666667    0 0
          sys1_pll2        1      1   800000004    0 0

  here we redo the calculation from top reference clk to
  avoid the error, the result will be as below:

sys1_pll1_ref_sel          1      1    25000000    0 0
  sys1_pll1_ref_div        1      1    25000000    0 0
    sys1_pll1              1      1  1600000000    0 0
      sys1_pll1_out        1      1  1600000000    0 0
        sys1_pll1_out_div  1      1    66666667    0 0
          sys1_pll2        1      1   800000000    0 0

- For FRAC PLL, the calculation formula is incorrect, the
  divff should NOT add 1, fix it to get correct rate:

before fix:
arm_pll_ref_sel         1       1    25000000   0 0
  arm_pll_ref_div       1       1     5000000   0 0
    arm_pll             1       1  1200000001   0 0

after fix:
arm_pll_ref_sel         1       1    25000000   0 0
  arm_pll_ref_div       1       1     5000000   0 0
    arm_pll             1       1  1200000000   0 0

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMGS-3021-2 [#imx-622] Disable GPU security feature to align VSI
Chenyan Feng [Mon, 3 Jul 2017 08:00:23 +0000 (16:00 +0800)]
MGS-3021-2 [#imx-622] Disable GPU security feature to align VSI

revert the former patch which disabled GPU security feature.

revert the former patch which disabled GPU security feature.
rework on this patch as VSI suggested.
GPU security feature is only for mscale, but driver is not ready,
need disable this feature to avoid gpu kernel panic temporally,

will drop this patch when gpu security driver is ready later.

Date: 30th June, 2017
Signed-off-by: Chenyan Feng <ella.feng@nxp.com>
7 years agoMLK-15319 imx8qm/imx8qx: Update to SCFW API based on commit:
Ranjani Vaidyanathan [Fri, 30 Jun 2017 19:23:24 +0000 (14:23 -0500)]
MLK-15319 imx8qm/imx8qx: Update to SCFW API based on commit:
"
commit a645f3c4c529e1f8cc5a624a047a3af56cfd39e1
Author: Ranjani Vaidyanathan <ranjani.vaidyanathan@nxp.com>
Date:   Thu Jun 29 15:21:53 2017 -0500

    Turn off all HDMI-TX clocks by default. This is required for setting
    the rate of the DIG PLL.
    Add code to enable/disable the correct clocks before SECO accesses the HDMI SS.

Signed-off-by: Ranjani Vaidyanathan <ranjani.vaidyanathan@nxp.com>
"

Signed-off-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
7 years agoMLK-15322-11: video: fbdev: adv7535: enable adv7535 driver
Fancy Fang [Mon, 3 Jul 2017 07:21:38 +0000 (15:21 +0800)]
MLK-15322-11: video: fbdev: adv7535: enable adv7535 driver

Add adv7535 driver which support dsi to hdmi conversion.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
7 years agoMLK-15322-10 ARM64: dts: imx8mq-evk: connect mipi dsi to adv7535
Fancy Fang [Mon, 3 Jul 2017 07:06:32 +0000 (15:06 +0800)]
MLK-15322-10 ARM64: dts: imx8mq-evk: connect mipi dsi to adv7535

Add port in dsi and adv7535 to connect them.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
7 years agoMLK-15322-9 ARM64: dts: imx8mq-evk: add adv7535 node under i2c1
Fancy Fang [Mon, 3 Jul 2017 06:58:46 +0000 (14:58 +0800)]
MLK-15322-9 ARM64: dts: imx8mq-evk: add adv7535 node under i2c1

Add adv7535 device node under i2c1 on imx8mq evk board.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
7 years agoMLK-15322-8 video: fbdev: imx_northwest_dsi: enable Northwest mipi dsi driver
Fancy Fang [Mon, 3 Jul 2017 06:28:11 +0000 (14:28 +0800)]
MLK-15322-8 video: fbdev: imx_northwest_dsi: enable Northwest mipi dsi driver

Add the Northwest mipi dsi driver. It supports hdmi encoder.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
7 years agoMLK-15322-7 ARM64: dts: imx8mq-evk: enable mipi dsi on evk board
Fancy Fang [Mon, 3 Jul 2017 06:21:59 +0000 (14:21 +0800)]
MLK-15322-7 ARM64: dts: imx8mq-evk: enable mipi dsi on evk board

Enable mipi dsi on imx8mq evk board by default.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
7 years agoMLK-15322-6 ARM64: dts: imx8mq: add mipi dsi node
Fancy Fang [Mon, 3 Jul 2017 05:59:12 +0000 (13:59 +0800)]
MLK-15322-6 ARM64: dts: imx8mq: add mipi dsi node

Add mipi dsi device node with the required properties.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
7 years agoMLK-15322-5 clk: imx: imx8mq: add ahb/ipg clocks for dsi
Fancy Fang [Mon, 3 Jul 2017 06:16:24 +0000 (14:16 +0800)]
MLK-15322-5 clk: imx: imx8mq: add ahb/ipg clocks for dsi

Add the ahb and ipg clocks for mipi dsi rxesc and txesc.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
7 years agoMLK-15322-4 video: fbdev: imx: lcdif: enable lcdif driver for imx8mq
Fancy Fang [Mon, 3 Jul 2017 04:36:15 +0000 (12:36 +0800)]
MLK-15322-4 video: fbdev: imx: lcdif: enable lcdif driver for imx8mq

Add the lcdif driver and related dispdrv framework driver.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
7 years agoMLK-15322-3 ARM64: dts: imx8mq-evk: enable lcdif on imx8mq evk board
Fancy Fang [Mon, 3 Jul 2017 04:19:32 +0000 (12:19 +0800)]
MLK-15322-3 ARM64: dts: imx8mq-evk: enable lcdif on imx8mq evk board

Enable lcdif on imx8mq evk board by default.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
7 years agoMLK-15322-2 clk: imx: imx8mq: configure video_pll1 clock
Fancy Fang [Mon, 3 Jul 2017 04:03:08 +0000 (12:03 +0800)]
MLK-15322-2 clk: imx: imx8mq: configure video_pll1 clock

Set the video_pll1 clock's source and rate which are
used for pixel clock and mipi dphy reference clock
source.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
7 years agoMLK-15322-1 ARM64: dts: imx8mq: add required clocks for lcdif
Fancy Fang [Mon, 3 Jul 2017 02:49:55 +0000 (10:49 +0800)]
MLK-15322-1 ARM64: dts: imx8mq: add required clocks for lcdif

Add the required clocks for lcdif in device node.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
7 years agoMA-9807: Fix ecb(aes) use without an IV
Radu Solea [Wed, 5 Jul 2017 12:30:44 +0000 (15:30 +0300)]
MA-9807: Fix ecb(aes) use without an IV

CAAM aes modes share descriptors, because of this CAAM requires an IV
for ECB. ECB does not need an IV and users do not have to pass valid
IV vectors. To allow correct usage with minimum impact to the driver a
zero IV is provided by the driver for ECB operations that need it.

Signed-off-by: Radu Solea <radu.solea@nxp.com>
7 years agoMLK-15340-4: ARM64: dts: support SPDIF, MQS, SAI in imx8qm
Shengjiu Wang [Wed, 5 Jul 2017 07:31:02 +0000 (15:31 +0800)]
MLK-15340-4: ARM64: dts: support SPDIF, MQS, SAI in imx8qm

Add two new dts for spdif and mqs, which are supported by
imx8qm validation board with debug base board. The spdif and
mqs use same output pin.

The connection in debug base board is:
WM8962:
CODEC_PWR_EN :   SEAF_B_B7
CODEC_I2C_CLK:   SEAF_B_J32
CODEC_I2C_DAT:   SEAF_B_J31
AUD_MCLK  :      SEAF_B_H24
AUD_TXC   :      SEAF_B_B35
AUD_TXFS  :      SEAF_B_B36
AUD_TXD   :      SEAF_B_B37
AUD_RXD   :      SEAF_B_A36
HEADPHONE_DET:   SEAF_B_A4
MICROPHONE_DET:  SEAF_B_C4
SEAF_B_G46:  GND
SPDIF:
SPDIF_OUT:   SEAF_B_G39
SPDIF_RX:    SEAF_B_G38
MQS:
MQS_LEFT:     SEAF_B_G39
MQS_RIGHT:    SEAF_B_G38

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Reviewed-by: Mihai Serban <mihai.serban@nxp.com>
7 years agoMLK-15340-3: ARM64: defconfig: built-in wm8962 sound card
Shengjiu Wang [Wed, 5 Jul 2017 07:30:49 +0000 (15:30 +0800)]
MLK-15340-3: ARM64: defconfig: built-in wm8962 sound card

built-in wm8962 sound card.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Reviewed-by: Mihai Serban <mihai.serban@nxp.com>
7 years agoMLK-15340-2: clk: imx8qm: correct some audio clock's parent.
Shengjiu Wang [Wed, 5 Jul 2017 07:30:27 +0000 (15:30 +0800)]
MLK-15340-2: clk: imx8qm: correct some audio clock's parent.

Correct some audio clock's parents

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Reviewed-by: Mihai Serban <mihai.serban@nxp.com>
7 years agoMLK-15340-1: ASoC: wm8962: fix lambda value
Shengjiu Wang [Wed, 5 Jul 2017 07:29:52 +0000 (15:29 +0800)]
MLK-15340-1: ASoC: wm8962: fix lambda value

According RM, the FLL_LAMBDA must be set to non-zero value in
integer and Franctional modes.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Reviewed-by: Mihai Serban <mihai.serban@nxp.com>
7 years agoMLK-13945-3: ASoC: fsl_asrc: support two asrc devices
Shengjiu Wang [Wed, 5 Jul 2017 07:29:40 +0000 (15:29 +0800)]
MLK-13945-3: ASoC: fsl_asrc: support two asrc devices

In imx8qm, there is two asrc devices, so using global structure
"miscdevice" will cause error. Each instance should have their
own structure.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
7 years agoMLK-13945-2: ASoC: imx_mqs: specify clock name in machine driver
Shengjiu Wang [Wed, 5 Jul 2017 07:29:13 +0000 (15:29 +0800)]
MLK-13945-2: ASoC: imx_mqs: specify clock name in machine driver

specify clock name in machine driver.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
7 years agoMLK-13945-1: ASoC: fsl_mqs: refine the mqs driver for support imx8qm
Shengjiu Wang [Wed, 5 Jul 2017 07:29:00 +0000 (15:29 +0800)]
MLK-13945-1: ASoC: fsl_mqs: refine the mqs driver for support imx8qm

IOMUXC_GPR2 register is not used for imx8, there is a new register
designed for this usage in imx8, so it also need the ipg clock.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
7 years agoMLK-13947: ASoC: fsl_spdif: introduce SoC specific data
Shengjiu Wang [Wed, 5 Jul 2017 07:28:33 +0000 (15:28 +0800)]
MLK-13947: ASoC: fsl_spdif: introduce SoC specific data

Introduce a SoC data struct which contains the differences between
the different SoCs this driver supports. This makes it easy to support
more differences without having to introduce a new switch/case each
time.
And in imx8qm, the spdif has two interrupt numbers and the burst size
should be 2 for EDMA limitation to support dual FIFO.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
7 years agoMLK-15342-5 arm64: defconfig: enable more cpufreq governors
Anson Huang [Wed, 5 Jul 2017 08:07:05 +0000 (16:07 +0800)]
MLK-15342-5 arm64: defconfig: enable more cpufreq governors

Enable powersave, userspace, ondemand, conservative
and interactive governor for cpufreq driver.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-15342-4 arm64: defconfig: enable i.mx8mq cpufreq support
Anson Huang [Wed, 5 Jul 2017 08:05:33 +0000 (16:05 +0800)]
MLK-15342-4 arm64: defconfig: enable i.mx8mq cpufreq support

Enable CONFIG_ARM_IMX8MQ_CPUFREQ by default.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-15342-3 cpufreq: add i.mx8mq support
Anson Huang [Wed, 5 Jul 2017 08:00:22 +0000 (16:00 +0800)]
MLK-15342-3 cpufreq: add i.mx8mq support

Add i.MX8MQ cpufreq support, current version of
EVK board does NOT support voltage scale, but next
version will add this support, so this driver only
supports cpu frequency scale, voltage scale will
be added later once new board available.

A53 CPU clock normally is from ARM_PLL, but during
ARM_PLL relock window, it will be switched to
SYS1_PLL_800M to avoid clock missing, and after
arm pll relock done, it will be switched back.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-15342-2 arm64: dts: freescale: imx8mq: add cpu opp table
Anson Huang [Wed, 5 Jul 2017 07:47:15 +0000 (15:47 +0800)]
MLK-15342-2 arm64: dts: freescale: imx8mq: add cpu opp table

Add i.MX8MQ cpu OPP table info for cpu-freq driver.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-15342-1 soc: imx: i.mx8mq uses its own cpu-freq driver
Anson Huang [Wed, 5 Jul 2017 07:44:11 +0000 (15:44 +0800)]
MLK-15342-1 soc: imx: i.mx8mq uses its own cpu-freq driver

i.MX8MQ is a SMP SoC without system controller, so
it will has its own cpu-freq driver, add machine
check for different platforms.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-15338-2: ARM64: defconfig: add pfuze100 driver
Robin Gong [Wed, 5 Jul 2017 07:17:54 +0000 (15:17 +0800)]
MLK-15338-2: ARM64: defconfig: add pfuze100 driver

Add pfuze100 driver for i.mx8mq.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
7 years agoMLK-15338-1: ARM64: dts: fsl-imx8mq-evk: add pfuze100 device node
Robin Gong [Wed, 5 Jul 2017 07:16:45 +0000 (15:16 +0800)]
MLK-15338-1: ARM64: dts: fsl-imx8mq-evk: add pfuze100 device node

Add pfuze100 device node.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
7 years agoMLK-15330-4: ARM64: dts: fsl-imx8qm: correct edma0 base address
Robin Gong [Wed, 5 Jul 2017 01:56:21 +0000 (09:56 +0800)]
MLK-15330-4: ARM64: dts: fsl-imx8qm: correct edma0 base address

Correct edma0 base address in dts.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
7 years agoMLK-15330-3 dma: fsl-edma-v3: add dual fifo support
Robin Gong [Tue, 4 Jul 2017 08:04:36 +0000 (16:04 +0800)]
MLK-15330-3 dma: fsl-edma-v3: add dual fifo support

There is Audio dual fifo cause that fill fifo one by one and
loop back after every minor loop:
  -- fill the first 32bit width fifo
  -- fill the next 32bit width fifo
  -- +MLOFF signed offset after the above two FIFOs filled
  -- loop back to the first step to handle the next minor loop.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
7 years agoMLK-15330-2: ARM64: imx8qm/qxp: modify all device nodes using edmav3
Robin Gong [Tue, 4 Jul 2017 06:52:12 +0000 (14:52 +0800)]
MLK-15330-2: ARM64: imx8qm/qxp: modify all device nodes using edmav3

Modify all device nodes which use edmav3,since dma-cell down from 4 to
3.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
7 years agoMLK-15330-1: dma: fsl-edma-v3: combine two cells into one
Robin Gong [Tue, 4 Jul 2017 06:45:25 +0000 (14:45 +0800)]
MLK-15330-1: dma: fsl-edma-v3: combine two cells into one

For dual fifo case, fsl-edma-v3 need add another cell. It's not friendly
for user and it's possible other cells maybe added to other use cases,
so combine two cells into one now, and for some special use cases such as
dual fifo property can directly be passed by one bit of cell3 rather than
another cell.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
7 years agoMLK-15333-02 driver: clk: need to check the ack bit of frac pll on imx8mq
Bai Ping [Tue, 4 Jul 2017 08:35:13 +0000 (16:35 +0800)]
MLK-15333-02 driver: clk: need to check the ack bit of frac pll on imx8mq

On i.MX8MQ, when do frac pll's frequency, if the PLL is not powerdown & bypass,
we must do new_div_ack check after we reload the divff and divfi value,
otherwise, the frac pll will lock to a wrong freqeuncy sometimes.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
7 years agoMLK-15333-01 driver: clk: Fix clock round to a wrong rate issue
Bai Ping [Tue, 4 Jul 2017 08:31:56 +0000 (16:31 +0800)]
MLK-15333-01 driver: clk: Fix clock round to a wrong rate issue

The divider 'CLK_DIVIDER_ROUND_CLOSEST' flag should be enabled,
otherwise, the round clock will return a wrong clock rate.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
7 years agoMLK-15149-02 ARM64: dts: Add power domain node in dts for i.mx8mq
Bai Ping [Fri, 23 Jun 2017 08:23:41 +0000 (16:23 +0800)]
MLK-15149-02 ARM64: dts: Add power domain node in dts for i.mx8mq

Add power domain node on i.MX8MQ.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
7 years agoMLK-15149-01 driver: soc: add gpc power domain support on i.mx8mq
Bai Ping [Fri, 23 Jun 2017 08:22:40 +0000 (16:22 +0800)]
MLK-15149-01 driver: soc: add gpc power domain support on i.mx8mq

Add generic power domain driver support on i.mx8mq. The power
domain on/off operations need to use the SIP service call to
trap into secure monitor to handle it.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
7 years agoMLK-15313-2 ARM64: dts: imx8qm-lpddr4-arm2: add SD3.0 support
Haibo Chen [Mon, 3 Jul 2017 10:09:19 +0000 (18:09 +0800)]
MLK-15313-2 ARM64: dts: imx8qm-lpddr4-arm2: add SD3.0 support

Add SD3.0 support for USDHC2.

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>