Commit Graph

4568 Commits

Author SHA1 Message Date
8bd08b0e25 MLK-19179: clk: imx8mm: change audio ahb and ipg clock to 400M
According to ADD, the audio ahb and ipg clock should be in 1:1 mode
and the frequency is 400MHz

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
(cherry picked from commit ee175a8cea1a7d27954a73c3447bb16edd71f4c8)
2019-02-12 10:33:24 +08:00
d41d06fad1 MLK-19125: clk: imx8mm: change audio ahb clock to 500M
With the 800M clock source, there is noise on SAI5 (PDM, or AK5558)
recording with some chips, but it may be ok for other chips.
The reason is not clear.
This patch is to switch the clock source to 500M.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
(cherry picked from commit 3f4e34d26ceb8569eeb6cbb2e5a410d0332a9e62)
2019-02-12 10:33:22 +08:00
34cad46097 MLK-19195 clk: imx8qm: fix audio lpcg usage
Need use LPCG_BASE to wrap the lpcg gate, otherwise XEN DomU
will dump when doing ioremap for the lpcgs, because the lpcg
conflicts with DomU RAM space.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit caf4564bf4fe70fc6466ce18a84b5c73c80d21a0)
2019-02-12 10:33:17 +08:00
39d79e88cd MLK-17481-1: clk: imx8qm: Add DSP clocks
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
(cherry picked from commit 8bc09ad559237c136f88d93bd696fe10dc4658db)
2019-02-12 10:33:16 +08:00
bc6a7688a9 MLK-19191 clk: imx8qm/qxp: correct lpspi1 scu resource ID
Correct lpspi1 scu resource ID.

Reviewed-by: Anson Huang <anson.huang@nxp.com>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2019-02-12 10:33:13 +08:00
3242cdca6c MLK-19169 clk: imx8mm/mq: keep earlycon uart port clocks on during bootconsole enable period
Keep earlycon uart port clocks on during bootconsole enable period
to avoid messy chars print out.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2019-02-12 10:33:13 +08:00
af267bce35 MLK-19120-2 clk: imx8qm: Add AVPLL support for DisplayPort on iMX8QM
Removed the IMX8QM_HDMI_AV_PLL_BYPASS_CLK because it is not supported by SCFW.
Changed the selector array to use the IMX8QM_HDMI_AV_PLL_CLK as the bypass parent.

Signed-off-by: Oliver Brown <oliver.brown@nxp.com>
2019-02-12 10:33:10 +08:00
9e6aab3039 MLK-19130-2 clk: imx8mm: parse clk init on from device tree
Add a new init-on-array property, the clk driver will
parse this array and prepare enable the related clocks.

Previously, the clocks needs to be init on are hardcoded in SoC
clk driver. When we need to support two OSes, some clks
needs to be ini on, however such clocks does not need to be init on
for Single Linux OS environment.

At current stage using Jailhouse hypervisor supporting Two Linux OS,
OS1 use SDHC2, OS2 use SDHC3, they share one IMX8MM_CLK_NAND_USDHC_BUS_CG,
because no power management supported, so we need clk_ignore_unused
and make sure this clk being enabled, to make sure the 2nd OS
could has SDHC3 working.

The i.MX8MQ also has same code, but there is no good place to hold
it in common place, so duplicate it clk-imx8mm.c for now.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 58d25fb00099142f15bcf2a66432b25da75ef38e)
2019-02-12 10:33:06 +08:00
e2d8be7299 MLK-19034 clk: imx8qm: Fix clk_unused crash
Remove unused ROMCP clks and related as LPCG
no longer exists

Signed-off-by: Teo Hall <teo.hall@nxp.com>
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
(cherry picked from commit 1c15332dffe7e41f0b9d367b96dd426798ec8b06)
2019-02-12 10:33:05 +08:00
90e11572fc MLK-18724-3 clk: imx7d: remove IMX7D_NAND_USDHC_BUS_ROOT_CLK out from clks_init_on[]
No need to enable IMX7D_NAND_USDHC_BUS_ROOT_CLK during the imx7d clock
driver init, so remove it from the clks_init_on[].

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
(cherry picked from commit d63d8a2d501ddc93a3406111134242090a713c4a)
2019-02-12 10:32:56 +08:00
f53325d675 MLK-18724-2 clk: imx8mq: remove IMX8MQ_CLK_NAND_USDHC_BUS_CG out from clks_init_on[]
No need to enable IMX8MQ_CLK_NAND_USDHC_BUS_CG during the imx8mq clock driver
init, so remove it from the clks_init_on[].

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
(cherry picked from commit 6c90e1bfc38eab27921d26b1218993e5cd52a425)
2019-02-12 10:32:56 +08:00
9cd7b56a4f MLK-18724-1 clk: imx8mm: remove IMX8MM_CLK_NAND_USDHC_BUS_CG out from clks_init_on[]
No need to enable IMX8MM_CLK_NAND_USDHC_BUS_CG during the imx8mm clock driver
init, so remove it from the clks_init_on[].

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
(cherry picked from commit 7a8f9c1917dec30fc37b6b8ea74461e80ecdbc30)
2019-02-12 10:32:55 +08:00
7303afd69d MLK-19041: clk: imx8mq: remove IMX8MQ_CLK_AUDIO_AHB_DIV from clks_init_on[]
No need to enable IMX8MQ_CLK_AUDIO_AHB_DIV during imx8mq clock
driver init, so remove it from the clks_init_on[].

Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
(cherry picked from commit b13900ec3296f579f54581483858cc053d2bbff3)
2019-02-12 10:32:55 +08:00
a0446524ea MLK-19002 clk: imx8qxp: no fail/err when no np_acm and ENODEV
No fail when no no_acm node. We do not have np_acm node
for the 2nd OS, so let's ignore np_acm.

Also we use partition for the 2nd OS, the registeration of some
clocks are not owned by the 2nd OS, so it will return -ENODEV.
Let's suppress the error message for -ENODEV.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Bai Ping <ping.bai@nxp.com>
(cherry picked from commit 39d196d84ed80237d0d9e669965903c785146727)
2019-02-12 10:32:53 +08:00
66549531a0 MLK-19001-1 clk: imx8mq: parse clk init on from device tree
Add a new init-on-array property, the clk driver will
parse this array and prepare enable the related clocks.

Previously, the clocks needs to be init on are hardcoded in SoC
clk driver. When we need to support two OSes, some clks
needs to be ini on, however such clocks does not need to be init on
for Single Linux OS environment.

At current stage using Jailhouse hypervisor supporting Two Linux OS,
OS1 use SDHC2, OS2 use SDHC0, they share one IMX8MQ_CLK_NAND_USDHC_BUS_CG,
because no power management supported, so we need clk_ignore_unused
and make sure this clk being enabled, to make sure the 2nd OS
could has SDHC0 working.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Bai Ping <ping.bai@nxp.com>
(cherry picked from commit 9e6e0ffe8876d5f52ee372ec438ab30ef01c4a5d)
2019-02-12 10:32:53 +08:00
6c5e993ac9 MLK-18427-01 driver: clk: imx: Add dram core and alt root clk
On i.MX8MM, it has an dram_alt clock source that can be used when
DDRC clock rate is lower than 667MHz, so add this clock.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
(cherry picked from commit 303867c769e3c0758b9ee8fcf31d8cc3c632a80d)
2019-02-12 10:32:44 +08:00
0a1bd5563a MLK-18861: mx8qxp: Add the missing LCDIF clocks to clock driver
Add LCDIF PLL resource and clocks, and power domain for it.
Add Pixel link clocks and set it from bypass path.
Muxes were added so that the slices can choose the bypass input
(lcd_pxl_bypass_div and elcdif_pll_div).

clk summary example:

lcd_pxl_bypass_div                       2            2    24000000
   lcd_pxl_sel                           1            1    24000000
      lcd_pxl_div                        1            1    24000000
         lcd_pxl_clk                     1            1    24000000
elcdif_pll_div                           1            1   792000000
   elcdif_pll                            2            2   792000000
      lcd_sel                            1            1   792000000
         lcd_div                         1            1    79200000
            lcd_clk                      1            1    79200000

Signed-off-by: Adriana Reus <adriana.reus@nxp.com>
2019-02-12 10:32:42 +08:00
10bf14a671 MLK-18615-1 clk: imx8mm: change camera's mclk clock source
correct the clock name typo.
change the MCLK to use osc_24m.
remove unnecessary rate setting for MCLK in dts file.

Signed-off-by: Robby Cai <robby.cai@nxp.com>
2019-02-12 10:32:34 +08:00
4510884754 MLK-18660-2 clk: imx: define the clocks of the lsio mu
In order to replace the M4_MU# by the LSIO MU in the
RPMSG usage.
Define the clocks of the LSIO MU for iMX8

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
2019-02-12 10:32:30 +08:00
b19c369048 MLK-18580 clk: imx: imx8qm: correct the pd of the phyx1 per clk
Correct the power domain of the phyx1 per clk.
Otherwise, the system would be hang when SATA is not
built-in in the kernel config.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
2019-02-12 10:32:17 +08:00
7a337aba1d MLK-18617-2 clk: imx: clk-imx8qxp: Add MIPI PWM_DIV & PWM_CLK clk definitions
This patch adds the MIPI PWM_DIV and PWM_CLK clock definitions.
The PWM_DIV clock is the parent clock of PWM_CLK clock.
The PWM_CLK will be used as the 'per' clock by the PWM driver.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
(cherry picked from commit a32d7b4bcca3da7bd154eaf46cf04852279d2c87)
2019-02-12 10:32:15 +08:00
0009ada5bc MLK-18617-1 clk: imx: clk-imx8qxp: Correct MIPI PWM IPG/IPG_S clk definitions
The bit index of MIPI PWM IPG/IPG_S gate clocks in the LPCG register
is 16 instead of 0.  This patch corrects the bit index.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
(cherry picked from commit 43cbe1a1dfcd3fa7bc7d41996d1b9b77d3fd3f3e)
2019-02-12 10:32:15 +08:00
633a19370f MLK-18621: clk: imx8mm: fix SAI2/SAI3 ipg parent and ipg_audio_root rate
The 'ipg_audio_root' clk rate must be 400MHz according to ADD.
Set SAI2/SAI3 IPG clk parent as 'ipg_audio_root' according to ADD.

Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
(cherry picked from commit cbac7bbea2953e9cba0a9f6a6a84333ca85c5109)
2019-02-12 10:32:12 +08:00
9acfc06039 MLK-18625-1 clocks: imx8mq phy_27m clk source for all plls
External differential clock phy_27m can be set to all
plls, rename from VIDEO2_PHY_27M to CLK_PHY_27M to avoid
confusion as clock source is the same option for all plls

Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
Reviewed-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
(cherry picked from commit 513eb64189903ca24c7f5ae140703831159b0578)
2019-02-12 10:32:12 +08:00
4635ce0a82 MLK-18535-2 clk: imx8mm: set video_pll1 rate to 594MHz
The 'video_pll1' PLL will be used as LCDIF pixel clock
source, and also used as MIPI DSI PHY reference clock
source. And 594MHz clock rate is better to derive the
27MHz PHY reference clock and the LCDIF pixel clocks
requied for most popular display modes.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
2019-02-12 10:32:05 +08:00
ca98e77d34 MLK-18533: clk: imx8mm: reparent audio_ahb_src clk
Reparent audio_ahb_src clock as it is on imx8mq.

Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
2019-02-12 10:32:03 +08:00
0d51ef1acd MLK-18407: clk: accommodate scfw change for QXP PI ss
Change pixel clock register of qxp PI ss in order to
accommodate scfw change for PI ss

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 1a769a426f)
2019-02-12 10:31:59 +08:00
1ca0e98d0b MLK-18362-1 clk: imx8mm: add clock for csi
add csi clock, CLKO1 for MCLK, and also BUS clock

Signed-off-by: Robby Cai <robby.cai@nxp.com>
2019-02-12 10:31:57 +08:00
8eed574720 MLK-18298-3 clk: imx8mm: set the parent clks of pcie
Set the parent clks of pcie.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
2019-02-12 10:31:52 +08:00
c4c21fc906 MLK-18381-2 clk: imx8mm: add the mu root clk
- mu is used by rpmsg on imx8mm, add the mu root clk.
- check the m4 is enable or not.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
2019-02-12 10:31:50 +08:00
7d01868c51 MLK-18267-2: clk: update clock tree for imx8qm hdmi rx
Add hdmi rx clocks define.
Add hdmi rx power domain name.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
2019-02-12 10:31:46 +08:00
8d290f080e MLK-18299 clk: imx8mm: add 594mhz for video pll on imx8mm
Add 594MHz config support for video pll on imx8mm. lcdif
driver need this frequency setpoint.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
2019-02-12 10:31:43 +08:00
d98ab5abc9 MLK-18300-2 clk: imx: imx8qm: remove csi gpio clocks
Remove CSI0/1 GPIO related clocks to make sure all
GPIOs clocks are always ON.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Bai Ping <ping.bai@nxp.com>
2019-02-12 10:31:43 +08:00
388ccbe660 MLK-18277-01 clk: imx8mm: correct the gpu 2d/3d clock tree
fix the gpu2d/3d clock tree on i.MX8MM.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
2019-02-12 10:31:42 +08:00
a29390f648 MLK-18292 clk: imx8mm: correct uart1 clock source
Correct uart1 clock source.

Reviewed-by: Robin Gong <yibin.gong@nxp.com>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2019-02-12 10:31:41 +08:00
6a15ca4631 MLK-18281 clk: imx8mm: correct mistypes for 'sys_pll1_800m'
Two 'sys_pll1_800m's are mistyped to 'sys1_pll_800m'.
So correct them.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
2019-02-12 10:31:41 +08:00
aaab72c006 MLK-18265-2 clk: imx8qm: remove GPIO clocks definition
Remove all GPIOs LPCG clock definition to make sure they
are always ON by SCFW default setting.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Bai Ping <ping.bai@nxp.com>
Tested-by: Peng Fan <peng.fan@nxp.com>
2019-02-12 10:31:39 +08:00
f8ec45ea36 MLK-18254 clk: imx: intpll: correct the programming flow
According to SPEC, when change the pll frequency and needs pll reset,
the t3 - t2 need to be greater than 1us and 1/FREF, respectively.
FREF is FIN / Prediv, the prediv is [1, 63], so choose
3us for safe.

The pll1443x does not have lock sel bit mask, so remove it.

Remove the bypass setting before changing frequency.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Bai Ping <ping.bai@nxp.com>
2019-02-12 10:31:39 +08:00
5aed74b1c9 MLK-18220-6 clk:imx8qxp: Remove all references to GPIO IPG clocks from the clock tree.
Removing all references to GPIO IPG clocks, this will leave all LPCG
clocks controlling GPIOs in an always ON state similar to earlier iMX
processors. By registering these clocks, unused GPIO clocks were disabled
at boot, causing issues during system suspend/resume as there is no easy
way to enable the clocks because the power domain associated with these
GPIOs are also disabled.

Signed-off-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
2019-02-12 10:31:39 +08:00
6569125f4f MLK-18247 clk: imx: add more pll frequency setting in clock rate table
Add 1GHz, 800MHz, 700MHz, 600MHz pll clock rate setting in the pll
clock calculation table of imx8mm. These frequency point are needed
by VPU and GPU driver.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
2019-02-12 10:31:38 +08:00
df5df9a70c MLK-18205-5 clk: imx: add i.MX8MM clock driver support
Add i.MX8MM clock driver support.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: Cosmin-Gabriel Samoila <cosmin.samoila@nxp.com>
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Bai Ping <ping.bai@nxp.com>
2019-02-12 10:31:34 +08:00
48166779a0 MLK-18220-3 XRDC: Fix the power domains for Audio clocks.
Ensure the audio clocks are associated with the correct power domain.

Signed-off-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
2019-02-12 10:31:33 +08:00
f603c21d44 MLK-18208-2 clk: imx: imx8qxp: remove unused clocks
Latest SCFW has requirement that whenever trying
access a resource, its power MUST be turned ON,
otherwise, XRDC will block such access and cause
kernel dump like below, this patch removes those
unused clocks to avoid such dump during kernel clock
framework trying to disable unused clocks, as these
clocks' power domains are NOT enabled because no device
use them now.

[    7.236611] Unhandled fault: synchronous external abort (0x96000210) at 0xffff000009fb0000
[    7.244875] Internal error: : 96000210 [#1] PREEMPT SMP
[    7.250102] Modules linked in:
[    7.253165] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.9.88-04869-ga28143b-dirty #129
[    7.261082] Hardware name: Freescale i.MX8QXP MEK (DT)
[    7.266218] task: ffff80083a088000 task.stack: ffff80083a034000
[    7.272144] PC is at clk_gate2_scu_is_enabled+0x30/0x74
[    7.277365] LR is at clk_gate2_scu_is_enabled+0x5c/0x74
[    7.282585] pc : [<ffff0000084f462c>] lr : [<ffff0000084f4658>] pstate: 800000c5
[    7.289977] sp : ffff80083a037d40
[    7.293287] x29: ffff80083a037d40 x28: ffff0000091e3508
[    7.298612] x27: ffff0000093ea000 x26: ffff00000918045c
[    7.303937] x25: ffff0000091e3560 x24: ffff0000093ea000
[    7.309263] x23: ffff0000091743d0 x22: ffff0000094152f8
[    7.314588] x21: ffff000009415000 x20: ffff80083a48c500
[    7.319914] x19: ffff80083a48d800 x18: ffff000008e102f8
[    7.325239] x17: 0000000000000000 x16: 0000000000000000
[    7.330564] x15: 0000000000000000 x14: 0000000000000000
[    7.335890] x13: 0000000000000007 x12: 00000000000001ee
[    7.341215] x11: 0000000000000006 x10: 00000000000001ef
[    7.346541] x9 : 0000000000000006 x8 : 2c6e69616d6f645f
[    7.351866] x7 : 0000000000000020 x6 : ffff000008cb1400
[    7.357192] x5 : 0000000000000008 x4 : 0000000000000000
[    7.362517] x3 : 0000000000000000 x2 : 0000000000000001
[    7.367843] x1 : ffff000009fb0000 x0 : 0000000000000000
[    7.373167]
[    7.374655] Process swapper/0 (pid: 1, stack limit = 0xffff80083a034020)
[    7.381354] Stack: (0xffff80083a037d40 to 0xffff80083a038000)
[    7.387099] 7d40: ffff80083a037d60 ffff0000084e1994 0000000000000040 ffff80083a45c300
[    7.394934] 7d60: ffff80083a037d80 ffff0000084e1930 ffff80083a48c500 ffff80083a45c200
[    7.402770] 7d80: ffff80083a037da0 ffff0000084e1a0c ffff80083a4003a8 ffff80083a45c200
[    7.410606] 7da0: ffff80083a037dd0 ffff000008084144 ffff80083a034000 ffff0000084e19c8
[    7.418442] 7dc0: 0000000000000000 ffff0000091e34d0 ffff80083a037e40 ffff000009180d00
[    7.426278] 7de0: ffff000009251028 0000000000000007 0000000000000198 ffff0000091e34d0
[    7.434115] 7e00: ffff80083a037e00 ffff000008fd0198 ffff80083a037e20 ffff000008fcf9e8
[    7.441950] 7e20: 0000000700000007 0000000000000000 0000000000000000 ffff0000091743d0
[    7.449787] 7e40: ffff80083a037ea0 ffff000008c4b554 ffff000008c4b544 0000000000000000
[    7.457622] 7e60: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.465459] 7e80: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.473295] 7ea0: 0000000000000000 ffff000008083820 ffff000008c4b544 0000000000000000
[    7.481131] 7ec0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.488967] 7ee0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.496803] 7f00: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.504639] 7f20: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.512475] 7f40: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.520311] 7f60: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.528148] 7f80: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.535984] 7fa0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.543820] 7fc0: 0000000000000000 0000000000000005 0000000000000000 0000000000000000
[    7.551656] 7fe0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.559489] Call trace:
[    7.561933] Exception stack(0xffff80083a037b70 to 0xffff80083a037ca0)
[    7.568370] 7b60:                                   ffff80083a48d800 0000ffffffffffff
[    7.576199] 7b80: ffff80083a037d40 ffff0000084f462c 0000000000000007 ffff000000000000
[    7.584034] 7ba0: ffff000009fb0000 0000000000000000 ffff0000093f41c8 00000000000000c0
[    7.591871] 7bc0: ffff80083a037cc0 ffff80083a037cc0 ffff80083a037c80 00000000ffffffc8
[    7.599707] 7be0: ffff80083a037c10 ffff00000816f824 ffff80083a037cc0 ffff80083a037cc0
[    7.607543] 7c00: ffff80083a037c80 00000000ffffffc8 0000000000000000 ffff000009fb0000
[    7.615379] 7c20: 0000000000000001 0000000000000000 0000000000000000 0000000000000008
[    7.623215] 7c40: ffff000008cb1400 0000000000000020 2c6e69616d6f645f 0000000000000006
[    7.631051] 7c60: 00000000000001ef 0000000000000006 00000000000001ee 0000000000000007
[    7.638887] 7c80: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.646725] [<ffff0000084f462c>] clk_gate2_scu_is_enabled+0x30/0x74
[    7.652998] [<ffff0000084e1994>] clk_disable_unused_subtree+0x8c/0xc0
[    7.659442] [<ffff0000084e1930>] clk_disable_unused_subtree+0x28/0xc0
[    7.665888] [<ffff0000084e1a0c>] clk_disable_unused+0x44/0x130
[    7.671728] [<ffff000008084144>] do_one_initcall+0x38/0x128
[    7.677307] [<ffff000009180d00>] kernel_init_freeable+0x1ac/0x248
[    7.683403] [<ffff000008c4b554>] kernel_init+0x10/0xf8
[    7.688545] [<ffff000008083820>] ret_from_fork+0x10/0x30
[    7.693854] Code: b9418420 35000200 f9400e61 b40001c1 (b9400021)
[    7.699969] ---[ end trace 510c6d25aa9fc50a ]---
[    7.704600] note: swapper/0[1] exited with preempt_count 1
[    7.710119] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[    7.710119]
[    7.719253] SMP: stopping secondary CPUs
[    7.723175] Kernel Offset: disabled
[    7.726662] Memory Limit: none
[    7.729715] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[    7.729715]

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Bai Ping <ping.bai@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
2019-02-12 10:31:32 +08:00
6e4c00a710 MLK-18208-1 clk: imx: imx8qm: remove unused clocks
Latest SCFW has requirement that whenever trying
access a resource, its power MUST be turned ON,
otherwise, XRDC will block such access and cause
kernel dump like below, this patch removes those
unused clocks to avoid such dump during kernel clock
framework trying to disable unused clocks, as these
clocks' power domains are NOT enabled because no device
use them now.

[    7.300474] Unhandled fault: synchronous external abort (0x96000210) at 0xffff00000ab40000
[    7.308736] Internal error: : 96000210 [#1] PREEMPT SMP
[    7.313955] Modules linked in:
[    7.317018] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.9.88-04869-ga28143b-dirty #127
[    7.324936] Hardware name: Freescale i.MX8QM MEK (DT)
[    7.329984] task: ffff8008f60a8000 task.stack: ffff8008f6034000
[    7.335910] PC is at clk_gate2_scu_is_enabled+0x30/0x74
[    7.341131] LR is at clk_gate2_scu_is_enabled+0x5c/0x74
[    7.346352] pc : [<ffff0000084f4664>] lr : [<ffff0000084f4690>] pstate: 800001c5
[    7.353743] sp : ffff8008f6037d40
[    7.357053] x29: ffff8008f6037d40 x28: ffff0000091e3508
[    7.362379] x27: ffff0000093ea000 x26: ffff00000918045c
[    7.367704] x25: ffff0000091e3560 x24: ffff0000093ea000
[    7.373030] x23: ffff0000091743f0 x22: ffff0000094152f8
[    7.378355] x21: ffff000009415000 x20: ffff8008f6575d00
[    7.383680] x19: ffff8008f65b9900 x18: ffff000008e102f8
[    7.389006] x17: 0000000000000000 x16: 0000000000000000
[    7.394331] x15: 0000000000000000 x14: 0000000000000000
[    7.399657] x13: 0000000000000007 x12: 00000000000002ce
[    7.404982] x11: 0000000000000006 x10: 00000000000002cf
[    7.410307] x9 : 0000000000000006 x8 : 2c6e69616d6f645f
[    7.415633] x7 : 0000000000000020 x6 : ffff000008cb1400
[    7.420958] x5 : 0000000000000008 x4 : 0000000000000000
[    7.426284] x3 : 0000000000000000 x2 : 0000000000000001
[    7.431609] x1 : ffff00000ab40000 x0 : 0000000000000000
[    7.436935]
[    7.438421] Process swapper/0 (pid: 1, stack limit = 0xffff8008f6034020)
[    7.445120] Stack: (0xffff8008f6037d40 to 0xffff8008f6038000)
[    7.450864] 7d40: ffff8008f6037d60 ffff0000084e1994 0000000000000140 ffff8008f663be00
[    7.458691] 7d60: ffff8008f6037d80 ffff0000084e1930 ffff8008f6575d00 ffff8008f663bd00
[    7.466518] 7d80: ffff8008f6037da0 ffff0000084e1a0c ffff8008f66455a8 ffff8008f663bd00
[    7.474346] 7da0: ffff8008f6037dd0 ffff000008084144 ffff8008f6034000 ffff0000084e19c8
[    7.482173] 7dc0: 0000000000000000 ffff0000091e34d0 ffff8008f6037e40 ffff000009180d00
[    7.490000] 7de0: ffff000009251028 0000000000000007 0000000000000198 ffff0000091e34d0
[    7.497828] 7e00: ffff8008f6037e00 ffff000008fd0198 ffff8008f6037e20 ffff000008fcf9e8
[    7.505655] 7e20: 0000000700000007 0000000000000000 0000000000000000 ffff0000091743f0
[    7.513483] 7e40: ffff8008f6037ea0 ffff000008c4b62c ffff000008c4b61c 0000000000000000
[    7.521310] 7e60: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.529137] 7e80: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.536965] 7ea0: 0000000000000000 ffff000008083820 ffff000008c4b61c 0000000000000000
[    7.544792] 7ec0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.552619] 7ee0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.560447] 7f00: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.568274] 7f20: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.576102] 7f40: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.583929] 7f60: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.591757] 7f80: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.599584] 7fa0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.607411] 7fc0: 0000000000000000 0000000000000005 0000000000000000 0000000000000000
[    7.615239] 7fe0: 0000000000000000 0000000000000000 ffffffffffffffff 7fff7f7fffffffff
[    7.623065] Call trace:
[    7.625508] Exception stack(0xffff8008f6037b70 to 0xffff8008f6037ca0)
[    7.631945] 7b60:                                   ffff8008f65b9900 0000ffffffffffff
[    7.639773] 7b80: ffff8008f6037d40 ffff0000084f4664 0000000000000007 ffff000000000000
[    7.647600] 7ba0: ffff00000ab40000 0000000000000000 ffff0000093f41c8 00000000000001c0
[    7.655428] 7bc0: ffff8008f6037cc0 ffff8008f6037cc0 ffff8008f6037c80 00000000ffffffc8
[    7.663255] 7be0: ffff8008f6037c10 ffff00000816f824 ffff8008f6037cc0 ffff8008f6037cc0
[    7.671083] 7c00: ffff8008f6037c80 00000000ffffffc8 0000000000000000 ffff00000ab40000
[    7.678910] 7c20: 0000000000000001 0000000000000000 0000000000000000 0000000000000008
[    7.686737] 7c40: ffff000008cb1400 0000000000000020 2c6e69616d6f645f 0000000000000006
[    7.694565] 7c60: 00000000000002cf 0000000000000006 00000000000002ce 0000000000000007
[    7.702392] 7c80: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[    7.710221] [<ffff0000084f4664>] clk_gate2_scu_is_enabled+0x30/0x74
[    7.716486] [<ffff0000084e1994>] clk_disable_unused_subtree+0x8c/0xc0
[    7.722930] [<ffff0000084e1930>] clk_disable_unused_subtree+0x28/0xc0
[    7.729367] [<ffff0000084e1a0c>] clk_disable_unused+0x44/0x130
[    7.735199] [<ffff000008084144>] do_one_initcall+0x38/0x128
[    7.740778] [<ffff000009180d00>] kernel_init_freeable+0x1ac/0x248
[    7.746875] [<ffff000008c4b62c>] kernel_init+0x10/0xf8
[    7.752015] [<ffff000008083820>] ret_from_fork+0x10/0x30
[    7.757325] Code: b9418420 35000200 f9400e61 b40001c1 (b9400021)
[    7.763429] ---[ end trace bfe5d53d2c12087e ]---
[    7.768052] note: swapper/0[1] exited with preempt_count 1
[    7.773559] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[    7.773559]
[    7.782689] SMP: stopping secondary CPUs
[    7.786616] Kernel Offset: disabled
[    7.790099] Memory Limit: none
[    7.793151] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Bai Ping <ping.bai@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
2019-02-12 10:31:32 +08:00
70fe065d35 MLK-17747: dsp: use the name of dsp instead of hifi
In order to avoid the name problem going forward with
integration with Qcom, Qcom has their own dsp and hifi
is competitor, so the hifi name should not be used in
our code.

So use the name of dsp instead of hifi to fix this
problem.

Signed-off-by: Weiguang Kong <weiguang.kong@nxp.com>
2019-02-12 10:31:29 +08:00
b8bc7f2ffb MLK-17971 clk: imx: fix pll set rate failure issue on imx7ulp
The logic of 'if' check for the mult is wrong, this will lead
to set rate to PLL type failed. Additionally, remove the
unnecessary 'CLK_IS_CRITICAL' flags.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
2019-02-12 10:31:11 +08:00
15f6f2400d MLK-17929: CI_PI: Correct clock register for CI_PI ss
Correct pixel and ipg clock register for CI_PI ss

Reviewed-by: ranjani.vaidyanathan <ranjani.vaidyanathan@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
2019-02-12 10:31:09 +08:00
f70502b266 MGS-3786 [#ccc] Cncrease the clock rate of GPU3D/GPU2D for 7ulp B0 board
The gpu3d/2d clock rate for 7ulp B0 board is 400M, increase it

Signed-off-by: yuchou gan <yuchou.gan@nxp.com>
2019-02-12 10:31:08 +08:00
028331eed0 MLK-17586-4 ARM: dts: improve usdhc root clock rate
Confirm with IC, HS400 MAX clock Freq for Instance 0 is 198Mhz
and for Instance 1 is 192MHz, so set the usdhc parent clock at
396MHz, due to current APLL is config to 529.2MHz, use the formula
APLL_PFD clock = APLL * 18 / i, the nearest clock is 381.024MHz when
the i is 25, so the usdhc root clock is 190.512MHz.

But eMMC HS400 can't pass stress test at 190.512MHz, will meet CRC
error sometimes, only when down to 176.4MHz can pass the stress test.

This patch make the usdhc0 and usdhc1 root clock both source from
IMX7ULP_CLK_APLL_PFD1, and set this APLL_PFD1 clcok rate at 352.8MHz,
and set the USDHC0 root clock at 352.8MHz, and set the USDHC1 root
clock at 176.4MHz.

Also remove the clk_prepare_enable() and clk_disable_unprepare() for
APLL_PFD2, bacause U-Boot already gate off APLL_PFD1, not need to do
this again.

Acked-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
2019-02-12 10:31:05 +08:00
db8c75007a MLK-17230-1: CI_PI: register clocks for CI_PI ss
Register clocks for CI_PI subsystem.

Reviewed-by: Sandor.Yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit d29308ec4fa29addd049c114520d7628e9e921d7)
2019-02-12 10:30:59 +08:00