Commit 05922b0abf848949df778c19312cb1cf7fdfbe6a

Authored by Peng Fan
1 parent 5fb09cab9b

MLK-12767 imx6ull: fix runtime checking for i.MX6ULL

Fix runtime checking for i.MX6ULL. Add is_cpu_type(MXC_CPU_MX6ULL)
to avoid using wrong code path.

Signed-off-by: Peng Fan <peng.fan@nxp.com>

Showing 5 changed files with 34 additions and 24 deletions Side-by-side Diff

arch/arm/cpu/armv7/mx6/clock.c
... ... @@ -133,7 +133,7 @@
133 133 {
134 134 u32 mask;
135 135  
136   - if (is_cpu_type(MXC_CPU_MX6UL))
  136 + if (is_cpu_type(MXC_CPU_MX6UL) || is_cpu_type(MXC_CPU_MX6ULL))
137 137 mask = MXC_CCM_CCGR5_UART_MASK;
138 138 else
139 139 mask = MXC_CCM_CCGR5_UART_MASK | MXC_CCM_CCGR5_UART_SERIAL_MASK;
... ... @@ -184,7 +184,8 @@
184 184 reg &= ~mask;
185 185 __raw_writel(reg, &imx_ccm->CCGR2);
186 186 } else {
187   - if (is_cpu_type(MXC_CPU_MX6SX) || is_cpu_type(MXC_CPU_MX6UL)) {
  187 + if (is_cpu_type(MXC_CPU_MX6SX) || is_cpu_type(MXC_CPU_MX6UL) ||
  188 + is_cpu_type(MXC_CPU_MX6ULL)) {
188 189 mask = MXC_CCM_CCGR6_I2C4_MASK;
189 190 addr = &imx_ccm->CCGR6;
190 191 } else {
... ... @@ -295,7 +296,8 @@
295 296  
296 297 switch (pll) {
297 298 case PLL_BUS:
298   - if (!is_cpu_type(MXC_CPU_MX6UL)) {
  299 + if (!is_cpu_type(MXC_CPU_MX6UL) &&
  300 + !is_cpu_type(MXC_CPU_MX6ULL)) {
299 301 if (pfd_num == 3) {
300 302 /* No PFD3 on PPL2 */
301 303 return 0;
... ... @@ -396,7 +398,8 @@
396 398  
397 399 reg = __raw_readl(&imx_ccm->cscmr1);
398 400 if (is_cpu_type(MXC_CPU_MX6SL) || is_cpu_type(MXC_CPU_MX6SX) ||
399   - is_mx6dqp() || is_cpu_type(MXC_CPU_MX6UL)) {
  401 + is_mx6dqp() || is_cpu_type(MXC_CPU_MX6UL) ||
  402 + is_cpu_type(MXC_CPU_MX6ULL)) {
400 403 if (reg & MXC_CCM_CSCMR1_PER_CLK_SEL_MASK)
401 404 return MXC_HCLK; /* OSC 24Mhz */
402 405 }
... ... @@ -413,7 +416,8 @@
413 416 reg = __raw_readl(&imx_ccm->cscdr1);
414 417  
415 418 if (is_cpu_type(MXC_CPU_MX6SL) || is_cpu_type(MXC_CPU_MX6SX) ||
416   - is_mx6dqp() || is_cpu_type(MXC_CPU_MX6UL)) {
  419 + is_mx6dqp() || is_cpu_type(MXC_CPU_MX6UL) ||
  420 + is_cpu_type(MXC_CPU_MX6ULL)) {
417 421 if (reg & MXC_CCM_CSCDR1_UART_CLK_SEL)
418 422 freq = MXC_HCLK;
419 423 }
... ... @@ -433,7 +437,8 @@
433 437 MXC_CCM_CSCDR2_ECSPI_CLK_PODF_OFFSET;
434 438  
435 439 if (is_mx6dqp() || is_cpu_type(MXC_CPU_MX6SL) ||
436   - is_cpu_type(MXC_CPU_MX6SX) || is_cpu_type(MXC_CPU_MX6UL)) {
  440 + is_cpu_type(MXC_CPU_MX6SX) || is_cpu_type(MXC_CPU_MX6UL) ||
  441 + is_cpu_type(MXC_CPU_MX6ULL)) {
437 442 if (reg & MXC_CCM_CSCDR2_ECSPI_CLK_SEL_MASK)
438 443 return MXC_HCLK / (cspi_podf + 1);
439 444 }
... ... @@ -496,7 +501,7 @@
496 501 u32 freq, podf, per2_clk2_podf, pmu_misc2_audio_div;
497 502  
498 503 if (is_cpu_type(MXC_CPU_MX6SX) || is_cpu_type(MXC_CPU_MX6UL) ||
499   - is_cpu_type(MXC_CPU_MX6SL)) {
  504 + is_cpu_type(MXC_CPU_MX6SL) || is_cpu_type(MXC_CPU_MX6ULL)) {
500 505 podf = (cbcdr & MXC_CCM_CBCDR_MMDC_CH1_PODF_MASK) >>
501 506 MXC_CCM_CBCDR_MMDC_CH1_PODF_OFFSET;
502 507 if (cbcdr & MXC_CCM_CBCDR_PERIPH2_CLK_SEL) {
... ... @@ -634,7 +639,8 @@
634 639  
635 640 debug("mxs_set_lcdclk, freq = %dKHz\n", freq);
636 641  
637   - if ((!is_cpu_type(MXC_CPU_MX6SX)) && !is_cpu_type(MXC_CPU_MX6UL)) {
  642 + if ((!is_cpu_type(MXC_CPU_MX6SX)) && !is_cpu_type(MXC_CPU_MX6UL) &&
  643 + !is_cpu_type(MXC_CPU_MX6ULL)) {
638 644 debug("This chip not support lcd!\n");
639 645 return;
640 646 }
... ... @@ -768,7 +774,7 @@
768 774 MXC_CCM_CCGR3_DISP_AXI_MASK) :
769 775 (MXC_CCM_CCGR3_LCDIF1_PIX_MASK |
770 776 MXC_CCM_CCGR3_DISP_AXI_MASK);
771   - } else if (is_cpu_type(MXC_CPU_MX6UL)) {
  777 + } else if (is_cpu_type(MXC_CPU_MX6UL) || is_cpu_type(MXC_CPU_MX6ULL)) {
772 778 if (base_addr != LCDIF1_BASE_ADDR) {
773 779 puts("Wrong LCD interface!\n");
774 780 return -EINVAL;
... ... @@ -938,7 +944,8 @@
938 944 } else if (fec_id == 1) {
939 945 /* Only i.MX6SX/UL support ENET2 */
940 946 if (!(is_cpu_type(MXC_CPU_MX6SX) ||
941   - is_cpu_type(MXC_CPU_MX6UL)))
  947 + is_cpu_type(MXC_CPU_MX6UL) ||
  948 + is_cpu_type(MXC_CPU_MX6ULL)))
942 949 return -EINVAL;
943 950 reg &= ~BM_ANADIG_PLL_ENET2_DIV_SELECT;
944 951 reg |= BF_ANADIG_PLL_ENET2_DIV_SELECT(freq);
arch/arm/cpu/armv7/mx6/soc.c
... ... @@ -130,7 +130,7 @@
130 130 val >>= OCOTP_CFG3_SPEED_SHIFT;
131 131 val &= 0x3;
132 132  
133   - if (is_cpu_type(MXC_CPU_MX6UL)) {
  133 + if (is_cpu_type(MXC_CPU_MX6UL) || is_cpu_type(MXC_CPU_MX6ULL)) {
134 134 if (val == OCOTP_CFG3_SPEED_528MHZ)
135 135 return 528000000;
136 136 else if (val == OCOTP_CFG3_SPEED_696MHZ)
... ... @@ -302,7 +302,8 @@
302 302 reg = readl(&mxc_ccm->ccdr);
303 303  
304 304 /* Clear MMDC channel mask */
305   - if (is_cpu_type(MXC_CPU_MX6SX) || is_cpu_type(MXC_CPU_MX6UL) || is_cpu_type(MXC_CPU_MX6SL))
  305 + if (is_cpu_type(MXC_CPU_MX6SX) || is_cpu_type(MXC_CPU_MX6UL) ||
  306 + is_cpu_type(MXC_CPU_MX6SL) || is_cpu_type(MXC_CPU_MX6ULL))
306 307 reg &= ~(MXC_CCM_CCDR_MMDC_CH1_HS_MASK);
307 308 else
308 309 reg &= ~(MXC_CCM_CCDR_MMDC_CH1_HS_MASK | MXC_CCM_CCDR_MMDC_CH0_HS_MASK);
... ... @@ -446,8 +447,8 @@
446 447  
447 448 int arch_cpu_init(void)
448 449 {
449   - if (!is_cpu_type(MXC_CPU_MX6SL) && !!is_cpu_type(MXC_CPU_MX6SX)
450   - && !is_cpu_type(MXC_CPU_MX6UL)) {
  450 + if (!is_cpu_type(MXC_CPU_MX6SL) && !is_cpu_type(MXC_CPU_MX6SX)
  451 + && !is_cpu_type(MXC_CPU_MX6UL) && !is_cpu_type(MXC_CPU_MX6ULL)) {
451 452 /*
452 453 * imx6sl doesn't have pcie at all.
453 454 * this bit is not used by imx6sx anymore
454 455  
... ... @@ -534,10 +535,12 @@
534 535  
535 536 imx_set_wdog_powerdown(false); /* Disable PDE bit of WMCR register */
536 537  
537   - if (!is_cpu_type(MXC_CPU_MX6SL) && !is_cpu_type(MXC_CPU_MX6UL))
  538 + if (!is_cpu_type(MXC_CPU_MX6SL) && !is_cpu_type(MXC_CPU_MX6UL) &&
  539 + !is_cpu_type(MXC_CPU_MX6ULL))
538 540 imx_set_pcie_phy_power_down();
539 541  
540   - if (!is_mx6dqp() && !is_cpu_type(MXC_CPU_MX6UL))
  542 + if (!is_mx6dqp() && !is_cpu_type(MXC_CPU_MX6UL) &&
  543 + !is_cpu_type(MXC_CPU_MX6ULL))
541 544 imx_set_vddpu_power_down();
542 545  
543 546 #ifdef CONFIG_APBH_DMA
... ... @@ -642,8 +645,8 @@
642 645 struct fuse_bank4_regs *fuse =
643 646 (struct fuse_bank4_regs *)bank->fuse_regs;
644 647  
645   - if ((is_cpu_type(MXC_CPU_MX6SX) || is_cpu_type(MXC_CPU_MX6UL)) &&
646   - dev_id == 1) {
  648 + if ((is_cpu_type(MXC_CPU_MX6SX) || is_cpu_type(MXC_CPU_MX6UL) ||
  649 + is_cpu_type(MXC_CPU_MX6ULL)) && dev_id == 1) {
647 650 u32 value = readl(&fuse->mac_addr2);
648 651 mac[0] = value >> 24 ;
649 652 mac[1] = value >> 16 ;
arch/arm/imx-common/init.c
... ... @@ -80,7 +80,7 @@
80 80 writew(enable, &wdog2->wmcr);
81 81  
82 82 if (is_cpu_type(MXC_CPU_MX6SX) || is_cpu_type(MXC_CPU_MX6UL) ||
83   - is_soc_type(MXC_SOC_MX7))
  83 + is_cpu_type(MXC_CPU_MX6ULL) || is_soc_type(MXC_SOC_MX7))
84 84 writew(enable, &wdog3->wmcr);
85 85 #ifdef CONFIG_MX7D
86 86 writew(enable, &wdog4->wmcr);
arch/arm/include/asm/arch-mx6/crm_regs.h
... ... @@ -429,15 +429,15 @@
429 429 #define MXC_CCM_CS2CDR_ENFC_CLK_SEL_DQ(v) (((v) & 0x3) << 16)
430 430  
431 431 #define MXC_CCM_CS2CDR_ENFC_CLK_SEL_MASK \
432   - ((is_mx6dqp() || is_cpu_type(MXC_CPU_MX6UL)) ? \
  432 + ((is_mx6dqp() || is_cpu_type(MXC_CPU_MX6UL) || is_cpu_type(MXC_CPU_MX6ULL)) ? \
433 433 MXC_CCM_CS2CDR_ENFC_CLK_SEL_MASK_DQP : \
434 434 MXC_CCM_CS2CDR_ENFC_CLK_SEL_MASK_DQ)
435 435 #define MXC_CCM_CS2CDR_ENFC_CLK_SEL_OFFSET \
436   - ((is_mx6dqp() || is_cpu_type(MXC_CPU_MX6UL)) ? \
  436 + ((is_mx6dqp() || is_cpu_type(MXC_CPU_MX6UL) || is_cpu_type(MXC_CPU_MX6ULL)) ? \
437 437 MXC_CCM_CS2CDR_ENFC_CLK_SEL_OFFSET_DQP : \
438 438 MXC_CCM_CS2CDR_ENFC_CLK_SEL_OFFSET_DQ)
439 439 #define MXC_CCM_CS2CDR_ENFC_CLK_SEL(v) \
440   - ((is_mx6dqp() || is_cpu_type(MXC_CPU_MX6UL)) ? \
  440 + ((is_mx6dqp() || is_cpu_type(MXC_CPU_MX6UL) || is_cpu_type(MXC_CPU_MX6ULL)) ? \
441 441 MXC_CCM_CS2CDR_ENFC_CLK_SEL_DQP(v) : \
442 442 MXC_CCM_CS2CDR_ENFC_CLK_SEL_DQ(v))
443 443  
arch/arm/include/asm/arch-mx6/imx-regs.h
... ... @@ -412,13 +412,13 @@
412 412 #include <asm/types.h>
413 413  
414 414 /* only for i.MX6SX/UL */
415   -#define WDOG3_BASE_ADDR ((is_cpu_type(MXC_CPU_MX6UL) ? \
  415 +#define WDOG3_BASE_ADDR (((is_cpu_type(MXC_CPU_MX6UL) || is_cpu_type(MXC_CPU_MX6ULL)) ? \
416 416 MX6UL_WDOG3_BASE_ADDR : MX6SX_WDOG3_BASE_ADDR))
417 417 #define LCDIF1_BASE_ADDR ((is_cpu_type(MXC_CPU_MX6UL)) ? \
418 418 MX6UL_LCDIF1_BASE_ADDR : \
419 419 ((is_cpu_type(MXC_CPU_MX6ULL)) ? \
420 420 MX6ULL_LCDIF1_BASE_ADDR : MX6SX_LCDIF1_BASE_ADDR))
421   -#define UART6_BASE_ADDR ((is_cpu_type(MXC_CPU_MX6UL)) ? \
  421 +#define UART6_BASE_ADDR (((is_cpu_type(MXC_CPU_MX6UL)) || is_cpu_type(MXC_CPU_MX6ULL)) ? \
422 422 MX6UL_UART6_BASE_ADDR : MX6SX_UART6_BASE_ADDR)
423 423  
424 424 #define MXS_LCDIF_BASE LCDIF1_BASE_ADDR