<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>i.MX Processorsのトピックi.MX6 Quad 4G RAM porting issue</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-Quad-4G-RAM-porting-issue/m-p/773517#M120091</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;I'm trying to porting 4G RAM on my board.&lt;/P&gt;&lt;P&gt;Now I have finished the stress test and put the value to the path of "u-boot-imx/2015.04-r0/git/board/freescale/mx6sabresd/mx6q_4x_mt41j128.cfg".&lt;/P&gt;&lt;P&gt;Below is the content of&amp;nbsp;mx6q_4x_mt41j128.cfg.&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;/*&lt;BR /&gt; * Copyright (C) 2011-2014 Freescale Semiconductor, Inc.&lt;BR /&gt;&lt;SPAN&gt; * Jason Liu &amp;lt;&lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:r64343@freescale.com"&gt;r64343@freescale.com&lt;/A&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt; *&lt;BR /&gt; * SPDX-License-Identifier: GPL-2.0+&lt;BR /&gt; *&lt;BR /&gt; * Refer doc/README.imximage for more details about how-to configure&lt;BR /&gt; * and create imximage boot image&lt;BR /&gt; *&lt;BR /&gt; * The syntax is taken as close as possible with the kwbimage&lt;BR /&gt; */&lt;/P&gt;&lt;P&gt;#define __ASSEMBLY__&lt;BR /&gt;#include &amp;lt;config.h&amp;gt;&lt;BR /&gt;/* image version */&lt;BR /&gt;IMAGE_VERSION 2&lt;/P&gt;&lt;P&gt;/*&lt;BR /&gt; * Boot Device : one of spi, sd, sata&lt;BR /&gt; * the board has no nand and eimnor&lt;BR /&gt; * spinor: flash_offset: 0x0400&lt;BR /&gt; * sata: flash_offset: 0x0400&lt;BR /&gt; * sd/mmc: flash_offset: 0x0400&lt;BR /&gt; */&lt;/P&gt;&lt;P&gt;/* the same flash_offset as sd */&lt;BR /&gt;BOOT_FROM sd&lt;/P&gt;&lt;P&gt;#ifdef CONFIG_USE_PLUGIN&lt;BR /&gt;/*PLUGIN plugin-binary-file IRAM_FREE_START_ADDR*/&lt;BR /&gt;PLUGIN board/freescale/mx6sabresd/plugin.bin 0x00907000&lt;BR /&gt;#else&lt;/P&gt;&lt;P&gt;#ifdef CONFIG_SECURE_BOOT&lt;BR /&gt;CSF CONFIG_CSF_SIZE&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;/*&lt;BR /&gt; * Device Configuration Data (DCD)&lt;BR /&gt; *&lt;BR /&gt; * Each entry must have the format:&lt;BR /&gt; * Addr-type Address Value&lt;BR /&gt; *&lt;BR /&gt; * where:&lt;BR /&gt; * Addr-type register length (1,2 or 4 bytes)&lt;BR /&gt; * Address absolute address of the register&lt;BR /&gt; * value value to be stored in the register&lt;BR /&gt; */&lt;BR /&gt;DATA 4, 0x020e0798, 0x000C0000&lt;BR /&gt;DATA 4, 0x020e0758, 0x00000000&lt;BR /&gt;DATA 4, 0x020e0588, 0x00000028&lt;BR /&gt;DATA 4, 0x020e0594, 0x00000028&lt;BR /&gt;DATA 4, 0x020e056c, 0x00000028&lt;BR /&gt;DATA 4, 0x020e0578, 0x00000028&lt;BR /&gt;DATA 4, 0x020e074c, 0x00000028&lt;BR /&gt;DATA 4, 0x020e057c, 0x00000028&lt;BR /&gt;DATA 4, 0x020e058c, 0x00000000&lt;BR /&gt;DATA 4, 0x020e059c, 0x00000028&lt;BR /&gt;DATA 4, 0x020e05a0, 0x00000028&lt;BR /&gt;DATA 4, 0x020e078c, 0x00000028&lt;BR /&gt;DATA 4, 0x020e0750, 0x00020000&lt;BR /&gt;DATA 4, 0x020e05a8, 0x00000028&lt;BR /&gt;DATA 4, 0x020e05b0, 0x00000028&lt;BR /&gt;DATA 4, 0x020e0524, 0x00000028&lt;BR /&gt;DATA 4, 0x020e051c, 0x00000028&lt;BR /&gt;DATA 4, 0x020e0518, 0x00000028&lt;BR /&gt;DATA 4, 0x020e050c, 0x00000028&lt;BR /&gt;DATA 4, 0x020e05b8, 0x00000028&lt;BR /&gt;DATA 4, 0x020e05c0, 0x00000028&lt;BR /&gt;DATA 4, 0x020e0774, 0x00020000&lt;BR /&gt;DATA 4, 0x020e0784, 0x00000028&lt;BR /&gt;DATA 4, 0x020e0788, 0x00000028&lt;BR /&gt;DATA 4, 0x020e0794, 0x00000028&lt;BR /&gt;DATA 4, 0x020e079c, 0x00000028&lt;BR /&gt;DATA 4, 0x020e07a0, 0x00000028&lt;BR /&gt;DATA 4, 0x020e07a4, 0x00000028&lt;BR /&gt;DATA 4, 0x020e07a8, 0x00000028&lt;BR /&gt;DATA 4, 0x020e0748, 0x00000028&lt;BR /&gt;DATA 4, 0x020e05ac, 0x00000028&lt;BR /&gt;DATA 4, 0x020e05b4, 0x00000028&lt;BR /&gt;DATA 4, 0x020e0528, 0x00000028&lt;BR /&gt;DATA 4, 0x020e0520, 0x00000028&lt;BR /&gt;DATA 4, 0x020e0514, 0x00000028&lt;BR /&gt;DATA 4, 0x020e0510, 0x00000028&lt;BR /&gt;DATA 4, 0x020e05bc, 0x00000028&lt;BR /&gt;DATA 4, 0x020e05c4, 0x00000028&lt;BR /&gt;DATA 4, 0x021b0800, 0xA1390003&lt;BR /&gt;DATA 4, 0x021b080c, 0x002C0030&lt;BR /&gt;DATA 4, 0x021b0810, 0x003B0037&lt;BR /&gt;DATA 4, 0x021b480c, 0x002C003C&lt;BR /&gt;DATA 4, 0x021b4810, 0x001A003A&lt;BR /&gt;DATA 4, 0x021b083c, 0x03300340&lt;BR /&gt;DATA 4, 0x021b0840, 0x032C0328&lt;BR /&gt;DATA 4, 0x021b483c, 0x033C034C&lt;BR /&gt;DATA 4, 0x021b4840, 0x0330027C&lt;BR /&gt;DATA 4, 0x021b0848, 0x3E34323A&lt;BR /&gt;DATA 4, 0x021b4848, 0x38343242&lt;BR /&gt;DATA 4, 0x021b0850, 0x34363E3A&lt;BR /&gt;DATA 4, 0x021b4850, 0x4232443E&lt;BR /&gt;DATA 4, 0x021b081c, 0x33333333&lt;BR /&gt;DATA 4, 0x021b0820, 0x33333333&lt;BR /&gt;DATA 4, 0x021b0824, 0x33333333&lt;BR /&gt;DATA 4, 0x021b0828, 0x33333333&lt;BR /&gt;DATA 4, 0x021b481c, 0x33333333&lt;BR /&gt;DATA 4, 0x021b4820, 0x33333333&lt;BR /&gt;DATA 4, 0x021b4824, 0x33333333&lt;BR /&gt;DATA 4, 0x021b4828, 0x33333333&lt;BR /&gt;DATA 4, 0x021b08b8, 0x00000800&lt;BR /&gt;DATA 4, 0x021b48b8, 0x00000800&lt;BR /&gt;DATA 4, 0x021b0004, 0x00020036&lt;BR /&gt;DATA 4, 0x021b0008, 0x09444040&lt;BR /&gt;DATA 4, 0x021b000c, 0xB8BE7955&lt;BR /&gt;DATA 4, 0x021b0010, 0xFF328F64&lt;BR /&gt;DATA 4, 0x021b0014, 0x01FF00DB&lt;BR /&gt;DATA 4, 0x021b0018, 0x00011740&lt;BR /&gt;DATA 4, 0x021b001c, 0x00008000&lt;BR /&gt;DATA 4, 0x021b002c, 0x000026D2&lt;BR /&gt;DATA 4, 0x021b0030, 0x008E1023&lt;BR /&gt;DATA 4, 0x021b0040, 0x0000007F&lt;BR /&gt;DATA 4, 0x021b0000, 0x853A0000&lt;BR /&gt;DATA 4, 0x021b001c, 0x02088032&lt;BR /&gt;DATA 4, 0x021b001c, 0x00008033&lt;BR /&gt;DATA 4, 0x021b001c, 0x00048031&lt;BR /&gt;DATA 4, 0x021b001c, 0x19408030&lt;BR /&gt;DATA 4, 0x021b001c, 0x04008040&lt;BR /&gt;DATA 4, 0x021b0020, 0x00007800&lt;BR /&gt;DATA 4, 0x021b0818, 0x00022227&lt;BR /&gt;DATA 4, 0x021b4818, 0x00022227&lt;BR /&gt;DATA 4, 0x021b0004, 0x00025576&lt;BR /&gt;DATA 4, 0x021b0404, 0x00011006&lt;BR /&gt;DATA 4, 0x021b001c, 0x00000000&lt;/P&gt;&lt;P&gt;/* set the default clock gate to save power */&lt;BR /&gt;DATA 4, 0x020c4068, 0x00C03F3F&lt;BR /&gt;DATA 4, 0x020c406c, 0x0030FC03&lt;BR /&gt;DATA 4, 0x020c4070, 0x0FFFC000&lt;BR /&gt;DATA 4, 0x020c4074, 0x3FF00000&lt;BR /&gt;DATA 4, 0x020c4078, 0x00FFF300&lt;BR /&gt;DATA 4, 0x020c407c, 0x0F0000F3&lt;BR /&gt;DATA 4, 0x020c4080, 0x000003FF&lt;/P&gt;&lt;P&gt;/* enable AXI cache for VDOA/VPU/IPU */&lt;BR /&gt;DATA 4, 0x020e0010, 0xF00000CF&lt;BR /&gt;/* set IPU AXI-id0 Qos=0xf(bypass) AXI-id1 Qos=0x7 */&lt;BR /&gt;DATA 4, 0x020e0018, 0x007F007F&lt;BR /&gt;DATA 4, 0x020e001c, 0x007F007F&lt;/P&gt;&lt;P&gt;/*&lt;BR /&gt; * Setup CCM_CCOSR register as follows:&lt;BR /&gt; *&lt;BR /&gt; * cko1_en = 1 --&amp;gt; CKO1 enabled&lt;BR /&gt; * cko1_div = 111 --&amp;gt; divide by 8&lt;BR /&gt; * cko1_sel = 1011 --&amp;gt; ahb_clk_root&lt;BR /&gt; *&lt;BR /&gt; * This sets CKO1 at ahb_clk_root/8 = 132/8 = 16.5 MHz&lt;BR /&gt; */&lt;BR /&gt;DATA 4, 0x020c4060, 0x000000fb&lt;BR /&gt;#endif&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;And I modify this file too."u-boot-imx/2015.04-r0/git/arch/arm/include/asm/arch-mx6/imx-regs.h"&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*&lt;BR /&gt; * Copyright (C) 2011-2015 Freescale Semiconductor, Inc. All Rights Reserved.&lt;BR /&gt; *&lt;BR /&gt; * SPDX-License-Identifier: GPL-2.0+&lt;BR /&gt; */&lt;/P&gt;&lt;P&gt;#ifndef __ASM_ARCH_MX6_IMX_REGS_H__&lt;BR /&gt;#define __ASM_ARCH_MX6_IMX_REGS_H__&lt;/P&gt;&lt;P&gt;#define ARCH_MXC&lt;/P&gt;&lt;P&gt;#ifdef CONFIG_MX6UL&lt;BR /&gt;#define CONFIG_SYS_CACHELINE_SIZE 64&lt;BR /&gt;#else&lt;BR /&gt;#define CONFIG_SYS_CACHELINE_SIZE 32&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;#define ROMCP_ARB_BASE_ADDR 0x00000000&lt;BR /&gt;#define ROMCP_ARB_END_ADDR 0x000FFFFF&lt;/P&gt;&lt;P&gt;#ifdef CONFIG_MX6SL&lt;BR /&gt;#define GPU_2D_ARB_BASE_ADDR 0x02200000&lt;BR /&gt;#define GPU_2D_ARB_END_ADDR 0x02203FFF&lt;BR /&gt;#define OPENVG_ARB_BASE_ADDR 0x02204000&lt;BR /&gt;#define OPENVG_ARB_END_ADDR 0x02207FFF&lt;/P&gt;&lt;P&gt;#elif (defined(CONFIG_MX6SX) || defined(CONFIG_MX6UL))&lt;BR /&gt;#define CAAM_ARB_BASE_ADDR 0x00100000&lt;BR /&gt;#define CAAM_ARB_END_ADDR 0x00107FFF&lt;BR /&gt;#define GPU_ARB_BASE_ADDR 0x01800000&lt;BR /&gt;#define GPU_ARB_END_ADDR 0x01803FFF&lt;BR /&gt;#define APBH_DMA_ARB_BASE_ADDR 0x01804000&lt;BR /&gt;#define APBH_DMA_ARB_END_ADDR 0x0180BFFF&lt;BR /&gt;#define M4_BOOTROM_BASE_ADDR 0x007F8000&lt;/P&gt;&lt;P&gt;#define MXS_APBH_BASE APBH_DMA_ARB_BASE_ADDR&lt;BR /&gt;#define MXS_GPMI_BASE (APBH_DMA_ARB_BASE_ADDR + 0x02000)&lt;BR /&gt;#define MXS_BCH_BASE (APBH_DMA_ARB_BASE_ADDR + 0x04000)&lt;/P&gt;&lt;P&gt;#else&lt;BR /&gt;#define CAAM_ARB_BASE_ADDR 0x00100000&lt;BR /&gt;#define CAAM_ARB_END_ADDR 0x00103FFF&lt;BR /&gt;#define APBH_DMA_ARB_BASE_ADDR 0x00110000&lt;BR /&gt;#define APBH_DMA_ARB_END_ADDR 0x00117FFF&lt;BR /&gt;#define HDMI_ARB_BASE_ADDR 0x00120000&lt;BR /&gt;#define HDMI_ARB_END_ADDR 0x00128FFF&lt;BR /&gt;#define GPU_3D_ARB_BASE_ADDR 0x00130000&lt;BR /&gt;#define GPU_3D_ARB_END_ADDR 0x00133FFF&lt;BR /&gt;#define GPU_2D_ARB_BASE_ADDR 0x00134000&lt;BR /&gt;#define GPU_2D_ARB_END_ADDR 0x00137FFF&lt;BR /&gt;#define DTCP_ARB_BASE_ADDR 0x00138000&lt;BR /&gt;#define DTCP_ARB_END_ADDR 0x0013BFFF&lt;/P&gt;&lt;P&gt;#define MXS_APBH_BASE APBH_DMA_ARB_BASE_ADDR&lt;BR /&gt;#define MXS_GPMI_BASE (APBH_DMA_ARB_BASE_ADDR + 0x02000)&lt;BR /&gt;#define MXS_BCH_BASE (APBH_DMA_ARB_BASE_ADDR + 0x04000)&lt;/P&gt;&lt;P&gt;#endif /* CONFIG_MX6SL */&lt;/P&gt;&lt;P&gt;/* GPV - PL301 configuration ports */&lt;BR /&gt;#if (defined(CONFIG_MX6SL) || defined(CONFIG_MX6SX) || defined(CONFIG_MX6UL))&lt;BR /&gt;#define GPV2_BASE_ADDR 0x00D00000&lt;BR /&gt;#else&lt;BR /&gt;#define GPV2_BASE_ADDR 0x00200000&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;#if (defined(CONFIG_MX6SX) || defined(CONFIG_MX6UL))&lt;BR /&gt;#define GPV3_BASE_ADDR 0x00E00000&lt;BR /&gt;#define GPV4_BASE_ADDR 0x00F00000&lt;BR /&gt;#define GPV5_BASE_ADDR 0x01000000&lt;BR /&gt;#define GPV6_BASE_ADDR 0x01100000&lt;BR /&gt;#define PCIE_ARB_BASE_ADDR 0x08000000&lt;BR /&gt;#define PCIE_ARB_END_ADDR 0x08FFFFFF&lt;BR /&gt;#else&lt;BR /&gt;#define GPV3_BASE_ADDR 0x00300000&lt;BR /&gt;#define GPV4_BASE_ADDR 0x00800000&lt;BR /&gt;#define PCIE_ARB_BASE_ADDR 0x01000000&lt;BR /&gt;#define PCIE_ARB_END_ADDR 0x01FFFFFF&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;#define IRAM_BASE_ADDR 0x00900000&lt;BR /&gt;#define SCU_BASE_ADDR 0x00A00000&lt;BR /&gt;#define IC_INTERFACES_BASE_ADDR 0x00A00100&lt;BR /&gt;#define GLOBAL_TIMER_BASE_ADDR 0x00A00200&lt;BR /&gt;#define PRIVATE_TIMERS_WD_BASE_ADDR 0x00A00600&lt;BR /&gt;#define IC_DISTRIBUTOR_BASE_ADDR 0x00A01000&lt;BR /&gt;#define L2_PL310_BASE 0x00A02000&lt;BR /&gt;#define GPV0_BASE_ADDR 0x00B00000&lt;BR /&gt;#define GPV1_BASE_ADDR 0x00C00000&lt;/P&gt;&lt;P&gt;#define AIPS1_ARB_BASE_ADDR 0x02000000&lt;BR /&gt;#define AIPS1_ARB_END_ADDR 0x020FFFFF&lt;BR /&gt;#define AIPS2_ARB_BASE_ADDR 0x02100000&lt;BR /&gt;#define AIPS2_ARB_END_ADDR 0x021FFFFF&lt;BR /&gt;#if (defined(CONFIG_MX6SX) || defined(CONFIG_MX6UL))&lt;BR /&gt;#define AIPS3_ARB_BASE_ADDR 0x02200000&lt;BR /&gt;#define AIPS3_ARB_END_ADDR 0x022FFFFF&lt;BR /&gt;#define WEIM_ARB_BASE_ADDR 0x50000000&lt;BR /&gt;#define WEIM_ARB_END_ADDR 0x57FFFFFF&lt;BR /&gt;#define QSPI1_ARB_BASE_ADDR 0x60000000&lt;BR /&gt;#define QSPI1_ARB_END_ADDR 0x6FFFFFFF&lt;BR /&gt;#define QSPI2_ARB_BASE_ADDR 0x70000000&lt;BR /&gt;#define QSPI2_ARB_END_ADDR 0x7FFFFFFF&lt;BR /&gt;#else&lt;BR /&gt;#define SATA_ARB_BASE_ADDR 0x02200000&lt;BR /&gt;#define SATA_ARB_END_ADDR 0x02203FFF&lt;BR /&gt;#define OPENVG_ARB_BASE_ADDR 0x02204000&lt;BR /&gt;#define OPENVG_ARB_END_ADDR 0x02207FFF&lt;BR /&gt;#define HSI_ARB_BASE_ADDR 0x02208000&lt;BR /&gt;#define HSI_ARB_END_ADDR 0x0220BFFF&lt;BR /&gt;#define IPU1_ARB_BASE_ADDR 0x02400000&lt;BR /&gt;#define IPU1_ARB_END_ADDR 0x027FFFFF&lt;BR /&gt;#define IPU2_ARB_BASE_ADDR 0x02800000&lt;BR /&gt;#define IPU2_ARB_END_ADDR 0x02BFFFFF&lt;BR /&gt;#define WEIM_ARB_BASE_ADDR 0x08000000&lt;BR /&gt;#define WEIM_ARB_END_ADDR 0x0FFFFFFF&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;#if (defined(CONFIG_MX6SL) || defined(CONFIG_MX6SX) || defined(CONFIG_MX6UL))&lt;BR /&gt;#define MMDC0_ARB_BASE_ADDR 0x80000000&lt;BR /&gt;#define MMDC0_ARB_END_ADDR 0xFFFFFFFF&lt;BR /&gt;#define MMDC1_ARB_BASE_ADDR 0xC0000000&lt;BR /&gt;#define MMDC1_ARB_END_ADDR 0xFFFFFFFF&lt;BR /&gt;#else&lt;BR /&gt;#define MMDC0_ARB_BASE_ADDR 0x10000000&lt;BR /&gt;#define MMDC0_ARB_END_ADDR 0x7FFFFFFF&lt;BR /&gt;#define MMDC1_ARB_BASE_ADDR 0x80000000&lt;BR /&gt;#define MMDC1_ARB_END_ADDR 0xFFFFFFFF&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;#if (!(defined(CONFIG_MX6SX) || defined(CONFIG_MX6UL)))&lt;BR /&gt;#define IPU_SOC_BASE_ADDR IPU1_ARB_BASE_ADDR&lt;BR /&gt;#define IPU_SOC_OFFSET 0x00200000&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;/* Defines for Blocks connected via AIPS (SkyBlue) */&lt;BR /&gt;#define ATZ1_BASE_ADDR AIPS1_ARB_BASE_ADDR&lt;BR /&gt;#define ATZ2_BASE_ADDR AIPS2_ARB_BASE_ADDR&lt;BR /&gt;#define AIPS1_BASE_ADDR AIPS1_ON_BASE_ADDR&lt;BR /&gt;#define AIPS2_BASE_ADDR AIPS2_ON_BASE_ADDR&lt;/P&gt;&lt;P&gt;#define SPDIF_BASE_ADDR (ATZ1_BASE_ADDR + 0x04000)&lt;BR /&gt;#define ECSPI1_BASE_ADDR (ATZ1_BASE_ADDR + 0x08000)&lt;BR /&gt;#define ECSPI2_BASE_ADDR (ATZ1_BASE_ADDR + 0x0C000)&lt;BR /&gt;#define ECSPI3_BASE_ADDR (ATZ1_BASE_ADDR + 0x10000)&lt;BR /&gt;#define ECSPI4_BASE_ADDR (ATZ1_BASE_ADDR + 0x14000)&lt;BR /&gt;#ifdef CONFIG_MX6SL&lt;BR /&gt;#define UART5_IPS_BASE_ADDR (ATZ1_BASE_ADDR + 0x18000)&lt;BR /&gt;#define UART1_IPS_BASE_ADDR (ATZ1_BASE_ADDR + 0x20000)&lt;BR /&gt;#define UART2_IPS_BASE_ADDR (ATZ1_BASE_ADDR + 0x24000)&lt;BR /&gt;#define SSI1_IPS_BASE_ADDR (ATZ1_BASE_ADDR + 0x28000)&lt;BR /&gt;#define SSI2_IPS_BASE_ADDR (ATZ1_BASE_ADDR + 0x2C000)&lt;BR /&gt;#define SSI3_IPS_BASE_ADDR (ATZ1_BASE_ADDR + 0x30000)&lt;BR /&gt;#define UART3_IPS_BASE_ADDR (ATZ1_BASE_ADDR + 0x34000)&lt;BR /&gt;#define UART4_IPS_BASE_ADDR (ATZ1_BASE_ADDR + 0x38000)&lt;BR /&gt;#else&lt;/P&gt;&lt;P&gt;#if defined(CONFIG_MX6UL)&lt;BR /&gt;#define UART7_IPS_BASE_ADDR (ATZ1_BASE_ADDR + 0x18000)&lt;BR /&gt;#elif !defined(CONFIG_MX6SX)&lt;BR /&gt;#define ECSPI5_BASE_ADDR (ATZ1_BASE_ADDR + 0x18000)&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;#define UART1_BASE (ATZ1_BASE_ADDR + 0x20000)&lt;BR /&gt;#if defined(CONFIG_MX6UL)&lt;BR /&gt;#define UART8_IPS_BASE_ADDR (ATZ1_BASE_ADDR + 0x24000)&lt;BR /&gt;#define SAI1_BASE_ADDR (ATZ1_BASE_ADDR + 0x28000)&lt;BR /&gt;#define SAI2_BASE_ADDR (ATZ1_BASE_ADDR + 0x2C000)&lt;BR /&gt;#define SAI3_BASE_ADDR (ATZ1_BASE_ADDR + 0x30000)&lt;BR /&gt;#else&lt;BR /&gt;#define ESAI1_BASE_ADDR (ATZ1_BASE_ADDR + 0x24000)&lt;BR /&gt;#define SSI1_BASE_ADDR (ATZ1_BASE_ADDR + 0x28000)&lt;BR /&gt;#define SSI2_BASE_ADDR (ATZ1_BASE_ADDR + 0x2C000)&lt;BR /&gt;#define SSI3_BASE_ADDR (ATZ1_BASE_ADDR + 0x30000)&lt;BR /&gt;#endif&lt;BR /&gt;#define ASRC_BASE_ADDR (ATZ1_BASE_ADDR + 0x34000)&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;#if defined(CONFIG_MX6UL)&lt;BR /&gt;#define TOUCH_CTRL_BASE_ADDR (ATZ1_BASE_ADDR + 0x40000)&lt;BR /&gt;#define BEE_BASE_ADDR (ATZ1_BASE_ADDR + 0x44000)&lt;BR /&gt;#elif !defined(CONFIG_MX6SX)&lt;BR /&gt;#define SPBA_BASE_ADDR (ATZ1_BASE_ADDR + 0x3C000)&lt;BR /&gt;#define VPU_BASE_ADDR (ATZ1_BASE_ADDR + 0x40000)&lt;BR /&gt;#endif&lt;BR /&gt;#define AIPS1_ON_BASE_ADDR (ATZ1_BASE_ADDR + 0x7C000)&lt;/P&gt;&lt;P&gt;#define AIPS1_OFF_BASE_ADDR (ATZ1_BASE_ADDR + 0x80000)&lt;BR /&gt;#define PWM1_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x0000)&lt;BR /&gt;#define PWM2_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x4000)&lt;BR /&gt;#define PWM3_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x8000)&lt;BR /&gt;#define PWM4_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0xC000)&lt;BR /&gt;#define CAN1_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x10000)&lt;BR /&gt;#define CAN2_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x14000)&lt;BR /&gt;#define GPT1_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x18000)&lt;BR /&gt;#define GPIO1_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x1C000)&lt;BR /&gt;#define GPIO2_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x20000)&lt;BR /&gt;#define GPIO3_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x24000)&lt;BR /&gt;#define GPIO4_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x28000)&lt;BR /&gt;#define GPIO5_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x2C000)&lt;BR /&gt;#if defined(CONFIG_MX6UL)&lt;BR /&gt;#define SNVS_LP_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x30000)&lt;BR /&gt;#define ENET2_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x34000)&lt;BR /&gt;#else&lt;BR /&gt;#define GPIO6_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x30000)&lt;BR /&gt;#define GPIO7_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x34000)&lt;BR /&gt;#endif&lt;BR /&gt;#define KPP_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x38000)&lt;BR /&gt;#define WDOG1_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x3C000)&lt;BR /&gt;#define WDOG2_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x40000)&lt;BR /&gt;#define ANATOP_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x48000)&lt;BR /&gt;#define USB_PHY0_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x49000)&lt;BR /&gt;#define USB_PHY1_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x4a000)&lt;BR /&gt;#define CCM_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x44000)&lt;BR /&gt;#define SNVS_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x4C000)&lt;BR /&gt;#define EPIT1_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x50000)&lt;BR /&gt;#define EPIT2_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x54000)&lt;BR /&gt;#define SRC_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x58000)&lt;BR /&gt;#define GPC_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x5C000)&lt;BR /&gt;#define IOMUXC_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x60000)&lt;BR /&gt;#define IOMUXC_GPR_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x64000)&lt;BR /&gt;#if defined(CONFIG_MX6SL)&lt;BR /&gt;#define CSI_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x64000)&lt;BR /&gt;#define SIPIX_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x68000)&lt;BR /&gt;#define SDMA_PORT_HOST_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x6C000)&lt;/P&gt;&lt;P&gt;#elif defined(CONFIG_MX6SX)&lt;BR /&gt;#define CANFD1_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x68000)&lt;BR /&gt;#define SDMA_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x6C000)&lt;BR /&gt;#define CANFD2_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x70000)&lt;BR /&gt;#define SEMAPHORE1_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x74000)&lt;BR /&gt;#define SEMAPHORE2_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x78000)&lt;BR /&gt;#define RDC_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x7C000)&lt;/P&gt;&lt;P&gt;#elif defined(CONFIG_MX6UL)&lt;BR /&gt;#define GPT2_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x68000)&lt;BR /&gt;#define SDMA_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x6C000)&lt;BR /&gt;#define PWM5_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x70000)&lt;BR /&gt;#define PWM6_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x74000)&lt;BR /&gt;#define PWM7_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x78000)&lt;BR /&gt;#define PWM8_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x7C000)&lt;BR /&gt;#else&lt;BR /&gt;#define DCIC1_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x64000)&lt;BR /&gt;#define DCIC2_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x68000)&lt;BR /&gt;#define DMA_REQ_PORT_HOST_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x6C000)&lt;BR /&gt;#endif&lt;BR /&gt;#define EPDC_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x74000)&lt;/P&gt;&lt;P&gt;#define AIPS2_ON_BASE_ADDR (ATZ2_BASE_ADDR + 0x7C000)&lt;BR /&gt;#define AIPS2_OFF_BASE_ADDR (ATZ2_BASE_ADDR + 0x80000)&lt;BR /&gt;#if defined(CONFIG_MX6UL)&lt;BR /&gt;#define CAAM_BASE_ADDR (ATZ2_BASE_ADDR + 0x40000)&lt;BR /&gt;#define ARM_BASE_ADDR (ATZ2_BASE_ADDR)&lt;BR /&gt;#else&lt;BR /&gt;#define CAAM_BASE_ADDR (ATZ2_BASE_ADDR)&lt;BR /&gt;#define ARM_BASE_ADDR (ATZ2_BASE_ADDR + 0x40000)&lt;BR /&gt;#endif&lt;BR /&gt;#define CONFIG_SYS_FSL_SEC_ADDR CAAM_BASE_ADDR&lt;BR /&gt;#define CONFIG_SYS_FSL_JR0_ADDR (CAAM_BASE_ADDR + 0x1000)&lt;/P&gt;&lt;P&gt;#define USB_PL301_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x0000)&lt;BR /&gt;#define USB_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x4000)&lt;/P&gt;&lt;P&gt;#define ENET_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x8000)&lt;BR /&gt;#if defined(CONFIG_MX6SL)&lt;BR /&gt;#define MSHC_IPS_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0xC000)&lt;BR /&gt;#elif defined(CONFIG_MX6UL)&lt;BR /&gt;#define SIM1_IPS_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0xC000)&lt;BR /&gt;#else&lt;BR /&gt;#define MLB_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0xC000)&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;#define USDHC1_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x10000)&lt;BR /&gt;#define USDHC2_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x14000)&lt;BR /&gt;#if !defined(CONFIG_MX6UL)&lt;BR /&gt;#define USDHC3_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x18000)&lt;BR /&gt;#define USDHC4_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x1C000)&lt;BR /&gt;#else&lt;BR /&gt;#define ADC1_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x18000)&lt;BR /&gt;#define ADC2_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x1C000)&lt;BR /&gt;#endif&lt;BR /&gt;#define I2C1_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x20000)&lt;BR /&gt;#define I2C2_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x24000)&lt;BR /&gt;#define I2C3_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x28000)&lt;BR /&gt;#define ROMCP_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x2C000)&lt;BR /&gt;#define MMDC_P0_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x30000)&lt;BR /&gt;#if defined(CONFIG_MX6SL)&lt;BR /&gt;#define RNGB_IPS_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x34000)&lt;BR /&gt;#elif defined(CONFIG_MX6SX)&lt;BR /&gt;#define ENET2_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x34000)&lt;BR /&gt;#elif defined(CONFIG_MX6UL)&lt;BR /&gt;#define SIM2_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x34000)&lt;BR /&gt;#else&lt;BR /&gt;#define MMDC_P1_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x34000)&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;#define WEIM_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x38000)&lt;BR /&gt;#define OCOTP_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x3C000)&lt;BR /&gt;#define CSU_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x40000)&lt;BR /&gt;#if defined(CONFIG_MX6UL)&lt;BR /&gt;#define CSI_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x44000)&lt;BR /&gt;#define LCDIF1_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x48000)&lt;BR /&gt;#define LCDIF2_BASE_ADDR LCDIF1_BASE_ADDR&lt;BR /&gt;#define PXP_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x4C000)&lt;BR /&gt;#else&lt;BR /&gt;#define IP2APB_PERFMON1_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x44000)&lt;BR /&gt;#define IP2APB_PERFMON2_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x48000)&lt;BR /&gt;#ifdef CONFIG_MX6SX&lt;BR /&gt;#define DEBUG_MONITOR_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x4C000)&lt;BR /&gt;#else&lt;BR /&gt;#define IP2APB_PERFMON3_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x4C000)&lt;BR /&gt;#endif&lt;BR /&gt;#endif /* CONFIG_MX6UL */&lt;/P&gt;&lt;P&gt;#define IP2APB_TZASC1_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x50000)&lt;BR /&gt;#if defined(CONFIG_MX6UL)&lt;BR /&gt;#define SYSCNT_RD_IPS_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x54000)&lt;BR /&gt;#define SYSCNT_CMP_IPS_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x58000)&lt;BR /&gt;#define SYSCNT_CTRL_IPS_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x5C000)&lt;BR /&gt;#define QSPI1_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x60000)&lt;BR /&gt;#define WDOG3_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x64000)&lt;BR /&gt;#elif defined(CONFIG_MX6SX)&lt;BR /&gt;#define SAI1_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x54000)&lt;BR /&gt;#define AUDMUX_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x58000)&lt;BR /&gt;#define SAI2_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x5C000)&lt;BR /&gt;#define QSPI1_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x60000)&lt;BR /&gt;#define QSPI2_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x64000)&lt;BR /&gt;#else&lt;BR /&gt;#define IP2APB_TZASC2_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x54000)&lt;BR /&gt;#define MIPI_CSI2_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x5C000)&lt;BR /&gt;#define MIPI_DSI_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x60000)&lt;BR /&gt;#define VDOA_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x64000)&lt;BR /&gt;#endif&lt;BR /&gt;#define UART2_BASE (AIPS2_OFF_BASE_ADDR + 0x68000)&lt;BR /&gt;#define UART3_BASE (AIPS2_OFF_BASE_ADDR + 0x6C000)&lt;BR /&gt;#define UART4_BASE (AIPS2_OFF_BASE_ADDR + 0x70000)&lt;BR /&gt;#define UART5_BASE (AIPS2_OFF_BASE_ADDR + 0x74000)&lt;BR /&gt;#if defined(CONFIG_MX6SX)&lt;BR /&gt;#define I2C4_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x78000)&lt;BR /&gt;#define QOSC_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x7C000)&lt;BR /&gt;#elif defined(CONFIG_MX6UL)&lt;BR /&gt;#define I2C4_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x78000)&lt;BR /&gt;#define UART6_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x7C000)&lt;BR /&gt;#else&lt;BR /&gt;#define IP2APB_USBPHY1_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x78000)&lt;BR /&gt;#define IP2APB_USBPHY2_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x7C000)&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;#define OTG_BASE_ADDR USB_BASE_ADDR&lt;/P&gt;&lt;P&gt;#if defined(CONFIG_MX6UL)&lt;BR /&gt;#define SCTR_BASE_ADDR SYSCNT_CTRL_IPS_BASE_ADDR&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;#ifdef CONFIG_MX6SX&lt;BR /&gt;#define GIS_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x04000)&lt;BR /&gt;#define DCIC1_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x0C000)&lt;BR /&gt;#define DCIC2_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x10000)&lt;BR /&gt;#define CSI1_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x14000)&lt;BR /&gt;#define PXP_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x18000)&lt;BR /&gt;#define CSI2_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x1C000)&lt;BR /&gt;#define LCDIF1_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x20000)&lt;BR /&gt;#define LCDIF2_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x24000)&lt;BR /&gt;#define VADC_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x28000)&lt;BR /&gt;#define VDEC_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x2C000)&lt;BR /&gt;#define SPBA_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x3C000)&lt;BR /&gt;#define AIPS3_CONFIG_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x7C000)&lt;BR /&gt;#define ADC1_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x80000)&lt;BR /&gt;#define ADC2_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x84000)&lt;BR /&gt;#define WDOG3_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x88000)&lt;BR /&gt;#define ECSPI5_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x8C000)&lt;BR /&gt;#define HS_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x90000)&lt;BR /&gt;#define MU_MCU_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x94000)&lt;BR /&gt;#define CANFD_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x98000)&lt;BR /&gt;#define MU_DSP_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x9C000)&lt;BR /&gt;#define UART6_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0xA0000)&lt;BR /&gt;#define PWM5_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0xA4000)&lt;BR /&gt;#define PWM6_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0xA8000)&lt;BR /&gt;#define PWM7_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0xAC000)&lt;BR /&gt;#define PWM8_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0xB0000)&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;#define CHIP_REV_1_0 0x10&lt;BR /&gt;#define CHIP_REV_1_1 0x11&lt;BR /&gt;#define CHIP_REV_1_2 0x12&lt;BR /&gt;#define CHIP_REV_1_3 0x13&lt;BR /&gt;#define CHIP_REV_1_4 0x14&lt;BR /&gt;#define CHIP_REV_1_5 0x15&lt;BR /&gt;#define CHIP_REV_2_0 0x20&lt;BR /&gt;#if (!(defined(CONFIG_MX6SX) || defined(CONFIG_MX6UL)))&lt;BR /&gt;#define IRAM_SIZE 0x00040000&lt;BR /&gt;#else&lt;BR /&gt;#define IRAM_SIZE 0x00040000 /* 0x00010000 for 1G; 0x00020000 for 2G 0x00040000 for 4G*/&lt;BR /&gt;#endif&lt;BR /&gt;#define FEC_QUIRK_ENET_MAC&lt;BR /&gt;#define SNVS_LPGPR 0x68&lt;/P&gt;&lt;P&gt;#if !(defined(__KERNEL_STRICT_NAMES) || defined(__ASSEMBLY__))&lt;BR /&gt;#include &amp;lt;asm/types.h&amp;gt;&lt;/P&gt;&lt;P&gt;extern void imx_get_mac_from_fuse(int dev_id, unsigned char *mac);&lt;/P&gt;&lt;P&gt;#define SRC_SCR_CORE_1_RESET_OFFSET 14&lt;BR /&gt;#define SRC_SCR_CORE_1_RESET_MASK (1&amp;lt;&amp;lt;SRC_SCR_CORE_1_RESET_OFFSET)&lt;BR /&gt;#define SRC_SCR_CORE_2_RESET_OFFSET 15&lt;BR /&gt;#define SRC_SCR_CORE_2_RESET_MASK (1&amp;lt;&amp;lt;SRC_SCR_CORE_2_RESET_OFFSET)&lt;BR /&gt;#define SRC_SCR_CORE_3_RESET_OFFSET 16&lt;BR /&gt;#define SRC_SCR_CORE_3_RESET_MASK (1&amp;lt;&amp;lt;SRC_SCR_CORE_3_RESET_OFFSET)&lt;BR /&gt;#define SRC_SCR_CORE_1_ENABLE_OFFSET 22&lt;BR /&gt;#define SRC_SCR_CORE_1_ENABLE_MASK (1&amp;lt;&amp;lt;SRC_SCR_CORE_1_ENABLE_OFFSET)&lt;BR /&gt;#define SRC_SCR_CORE_2_ENABLE_OFFSET 23&lt;BR /&gt;#define SRC_SCR_CORE_2_ENABLE_MASK (1&amp;lt;&amp;lt;SRC_SCR_CORE_2_ENABLE_OFFSET)&lt;BR /&gt;#define SRC_SCR_CORE_3_ENABLE_OFFSET 24&lt;BR /&gt;#define SRC_SCR_CORE_3_ENABLE_MASK (1&amp;lt;&amp;lt;SRC_SCR_CORE_3_ENABLE_OFFSET)&lt;/P&gt;&lt;P&gt;/* WEIM registers */&lt;BR /&gt;struct weim {&lt;BR /&gt; u32 cs0gcr1;&lt;BR /&gt; u32 cs0gcr2;&lt;BR /&gt; u32 cs0rcr1;&lt;BR /&gt; u32 cs0rcr2;&lt;BR /&gt; u32 cs0wcr1;&lt;BR /&gt; u32 cs0wcr2;&lt;/P&gt;&lt;P&gt;u32 cs1gcr1;&lt;BR /&gt; u32 cs1gcr2;&lt;BR /&gt; u32 cs1rcr1;&lt;BR /&gt; u32 cs1rcr2;&lt;BR /&gt; u32 cs1wcr1;&lt;BR /&gt; u32 cs1wcr2;&lt;/P&gt;&lt;P&gt;u32 cs2gcr1;&lt;BR /&gt; u32 cs2gcr2;&lt;BR /&gt; u32 cs2rcr1;&lt;BR /&gt; u32 cs2rcr2;&lt;BR /&gt; u32 cs2wcr1;&lt;BR /&gt; u32 cs2wcr2;&lt;/P&gt;&lt;P&gt;u32 cs3gcr1;&lt;BR /&gt; u32 cs3gcr2;&lt;BR /&gt; u32 cs3rcr1;&lt;BR /&gt; u32 cs3rcr2;&lt;BR /&gt; u32 cs3wcr1;&lt;BR /&gt; u32 cs3wcr2;&lt;/P&gt;&lt;P&gt;u32 unused[12];&lt;/P&gt;&lt;P&gt;u32 wcr;&lt;BR /&gt; u32 wiar;&lt;BR /&gt; u32 ear;&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;/* System Reset Controller (SRC) */&lt;BR /&gt;struct src {&lt;BR /&gt; u32 scr;&lt;BR /&gt; u32 sbmr1;&lt;BR /&gt; u32 srsr;&lt;BR /&gt; u32 reserved1[2];&lt;BR /&gt; u32 sisr;&lt;BR /&gt; u32 simr;&lt;BR /&gt; u32 sbmr2;&lt;BR /&gt; u32 gpr1;&lt;BR /&gt; u32 gpr2;&lt;BR /&gt; u32 gpr3;&lt;BR /&gt; u32 gpr4;&lt;BR /&gt; u32 gpr5;&lt;BR /&gt; u32 gpr6;&lt;BR /&gt; u32 gpr7;&lt;BR /&gt; u32 gpr8;&lt;BR /&gt; u32 gpr9;&lt;BR /&gt; u32 gpr10;&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;/* GPR1 bitfields */&lt;BR /&gt;#define IOMUXC_GPR1_ENET_CLK_SEL_OFFSET 21&lt;BR /&gt;#define IOMUXC_GPR1_ENET_CLK_SEL_MASK (1 &amp;lt;&amp;lt; IOMUXC_GPR1_ENET_CLK_SEL_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR1_USB_OTG_ID_OFFSET 13&lt;BR /&gt;#define IOMUXC_GPR1_USB_OTG_ID_SEL_MASK (1 &amp;lt;&amp;lt; IOMUXC_GPR1_USB_OTG_ID_OFFSET)&lt;/P&gt;&lt;P&gt;/* GPR3 bitfields */&lt;BR /&gt;#define IOMUXC_GPR3_GPU_DBG_OFFSET 29&lt;BR /&gt;#define IOMUXC_GPR3_GPU_DBG_MASK (3&amp;lt;&amp;lt;IOMUXC_GPR3_GPU_DBG_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR3_BCH_WR_CACHE_CTL_OFFSET 28&lt;BR /&gt;#define IOMUXC_GPR3_BCH_WR_CACHE_CTL_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR3_BCH_WR_CACHE_CTL_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR3_BCH_RD_CACHE_CTL_OFFSET 27&lt;BR /&gt;#define IOMUXC_GPR3_BCH_RD_CACHE_CTL_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR3_BCH_RD_CACHE_CTL_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR3_uSDHCx_WR_CACHE_CTL_OFFSET 26&lt;BR /&gt;#define IOMUXC_GPR3_uSDHCx_WR_CACHE_CTL_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR3_uSDHCx_WR_CACHE_CTL_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR3_uSDHCx_RD_CACHE_CTL_OFFSET 25&lt;BR /&gt;#define IOMUXC_GPR3_uSDHCx_RD_CACHE_CTL_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR3_uSDHCx_RD_CACHE_CTL_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR3_OCRAM_CTL_OFFSET 21&lt;BR /&gt;#define IOMUXC_GPR3_OCRAM_CTL_MASK (0xf&amp;lt;&amp;lt;IOMUXC_GPR3_OCRAM_CTL_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR3_OCRAM_STATUS_OFFSET 17&lt;BR /&gt;#define IOMUXC_GPR3_OCRAM_STATUS_MASK (0xf&amp;lt;&amp;lt;IOMUXC_GPR3_OCRAM_STATUS_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR3_CORE3_DBG_ACK_EN_OFFSET 16&lt;BR /&gt;#define IOMUXC_GPR3_CORE3_DBG_ACK_EN_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR3_CORE3_DBG_ACK_EN_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR3_CORE2_DBG_ACK_EN_OFFSET 15&lt;BR /&gt;#define IOMUXC_GPR3_CORE2_DBG_ACK_EN_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR3_CORE2_DBG_ACK_EN_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR3_CORE1_DBG_ACK_EN_OFFSET 14&lt;BR /&gt;#define IOMUXC_GPR3_CORE1_DBG_ACK_EN_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR3_CORE1_DBG_ACK_EN_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR3_CORE0_DBG_ACK_EN_OFFSET 13&lt;BR /&gt;#define IOMUXC_GPR3_CORE0_DBG_ACK_EN_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR3_CORE0_DBG_ACK_EN_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR3_TZASC2_BOOT_LOCK_OFFSET 12&lt;BR /&gt;#define IOMUXC_GPR3_TZASC2_BOOT_LOCK_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR3_TZASC2_BOOT_LOCK_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR3_TZASC1_BOOT_LOCK_OFFSET 11&lt;BR /&gt;#define IOMUXC_GPR3_TZASC1_BOOT_LOCK_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR3_TZASC1_BOOT_LOCK_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR3_IPU_DIAG_OFFSET 10&lt;BR /&gt;#define IOMUXC_GPR3_IPU_DIAG_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR3_IPU_DIAG_OFFSET)&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR3_MUX_SRC_IPU1_DI0 0&lt;BR /&gt;#define IOMUXC_GPR3_MUX_SRC_IPU1_DI1 1&lt;BR /&gt;#define IOMUXC_GPR3_MUX_SRC_IPU2_DI0 2&lt;BR /&gt;#define IOMUXC_GPR3_MUX_SRC_IPU2_DI1 3&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR3_LVDS1_MUX_CTL_OFFSET 8&lt;BR /&gt;#define IOMUXC_GPR3_LVDS1_MUX_CTL_MASK (3&amp;lt;&amp;lt;IOMUXC_GPR3_LVDS1_MUX_CTL_OFFSET)&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR3_LVDS0_MUX_CTL_OFFSET 6&lt;BR /&gt;#define IOMUXC_GPR3_LVDS0_MUX_CTL_MASK (3&amp;lt;&amp;lt;IOMUXC_GPR3_LVDS0_MUX_CTL_OFFSET)&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR3_MIPI_MUX_CTL_OFFSET 4&lt;BR /&gt;#define IOMUXC_GPR3_MIPI_MUX_CTL_MASK (3&amp;lt;&amp;lt;IOMUXC_GPR3_MIPI_MUX_CTL_OFFSET)&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR3_HDMI_MUX_CTL_OFFSET 2&lt;BR /&gt;#define IOMUXC_GPR3_HDMI_MUX_CTL_MASK (3&amp;lt;&amp;lt;IOMUXC_GPR3_HDMI_MUX_CTL_OFFSET)&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;struct iomuxc {&lt;BR /&gt;#if (defined(CONFIG_MX6SX) || defined(CONFIG_MX6UL))&lt;BR /&gt; u8 reserved[0x4000];&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;#ifdef CONFIG_MX6UL&lt;BR /&gt; u32 gpr[15];&lt;BR /&gt;#else&lt;BR /&gt; u32 gpr[14];&lt;BR /&gt;#endif&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;struct gpc {&lt;BR /&gt; u32 cntr;&lt;BR /&gt; u32 pgr;&lt;BR /&gt; u32 imr1;&lt;BR /&gt; u32 imr2;&lt;BR /&gt; u32 imr3;&lt;BR /&gt; u32 imr4;&lt;BR /&gt; u32 isr1;&lt;BR /&gt; u32 isr2;&lt;BR /&gt; u32 isr3;&lt;BR /&gt; u32 isr4;&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR2_COUNTER_RESET_VAL_OFFSET 20&lt;BR /&gt;#define IOMUXC_GPR2_COUNTER_RESET_VAL_MASK (3&amp;lt;&amp;lt;IOMUXC_GPR2_COUNTER_RESET_VAL_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_LVDS_CLK_SHIFT_OFFSET 16&lt;BR /&gt;#define IOMUXC_GPR2_LVDS_CLK_SHIFT_MASK (7&amp;lt;&amp;lt;IOMUXC_GPR2_LVDS_CLK_SHIFT_OFFSET)&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR2_BGREF_RRMODE_OFFSET 15&lt;BR /&gt;#define IOMUXC_GPR2_BGREF_RRMODE_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR2_BGREF_RRMODE_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_BGREF_RRMODE_INTERNAL_RES (1&amp;lt;&amp;lt;IOMUXC_GPR2_BGREF_RRMODE_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_BGREF_RRMODE_EXTERNAL_RES (0&amp;lt;&amp;lt;IOMUXC_GPR2_BGREF_RRMODE_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_VSYNC_ACTIVE_HIGH 0&lt;BR /&gt;#define IOMUXC_GPR2_VSYNC_ACTIVE_LOW 1&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR2_DI1_VS_POLARITY_OFFSET 10&lt;BR /&gt;#define IOMUXC_GPR2_DI1_VS_POLARITY_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR2_DI1_VS_POLARITY_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_DI1_VS_POLARITY_ACTIVE_HIGH (IOMUXC_GPR2_VSYNC_ACTIVE_HIGH&amp;lt;&amp;lt;IOMUXC_GPR2_DI1_VS_POLARITY_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_DI1_VS_POLARITY_ACTIVE_LOW (IOMUXC_GPR2_VSYNC_ACTIVE_LOW&amp;lt;&amp;lt;IOMUXC_GPR2_DI1_VS_POLARITY_OFFSET)&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR2_DI0_VS_POLARITY_OFFSET 9&lt;BR /&gt;#define IOMUXC_GPR2_DI0_VS_POLARITY_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR2_DI0_VS_POLARITY_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_DI0_VS_POLARITY_ACTIVE_HIGH (IOMUXC_GPR2_VSYNC_ACTIVE_HIGH&amp;lt;&amp;lt;IOMUXC_GPR2_DI0_VS_POLARITY_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_DI0_VS_POLARITY_ACTIVE_LOW (IOMUXC_GPR2_VSYNC_ACTIVE_LOW&amp;lt;&amp;lt;IOMUXC_GPR2_DI0_VS_POLARITY_OFFSET)&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR2_BITMAP_SPWG 0&lt;BR /&gt;#define IOMUXC_GPR2_BITMAP_JEIDA 1&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR2_BIT_MAPPING_CH1_OFFSET 8&lt;BR /&gt;#define IOMUXC_GPR2_BIT_MAPPING_CH1_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR2_BIT_MAPPING_CH1_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_BIT_MAPPING_CH1_JEIDA (IOMUXC_GPR2_BITMAP_JEIDA&amp;lt;&amp;lt;IOMUXC_GPR2_BIT_MAPPING_CH1_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_BIT_MAPPING_CH1_SPWG (IOMUXC_GPR2_BITMAP_SPWG&amp;lt;&amp;lt;IOMUXC_GPR2_BIT_MAPPING_CH1_OFFSET)&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR2_DATA_WIDTH_18 0&lt;BR /&gt;#define IOMUXC_GPR2_DATA_WIDTH_24 1&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR2_DATA_WIDTH_CH1_OFFSET 7&lt;BR /&gt;#define IOMUXC_GPR2_DATA_WIDTH_CH1_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR2_DATA_WIDTH_CH1_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_DATA_WIDTH_CH1_18BIT (IOMUXC_GPR2_DATA_WIDTH_18&amp;lt;&amp;lt;IOMUXC_GPR2_DATA_WIDTH_CH1_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_DATA_WIDTH_CH1_24BIT (IOMUXC_GPR2_DATA_WIDTH_24&amp;lt;&amp;lt;IOMUXC_GPR2_DATA_WIDTH_CH1_OFFSET)&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR2_BIT_MAPPING_CH0_OFFSET 6&lt;BR /&gt;#define IOMUXC_GPR2_BIT_MAPPING_CH0_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR2_BIT_MAPPING_CH0_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_BIT_MAPPING_CH0_JEIDA (IOMUXC_GPR2_BITMAP_JEIDA&amp;lt;&amp;lt;IOMUXC_GPR2_BIT_MAPPING_CH0_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_BIT_MAPPING_CH0_SPWG (IOMUXC_GPR2_BITMAP_SPWG&amp;lt;&amp;lt;IOMUXC_GPR2_BIT_MAPPING_CH0_OFFSET)&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR2_DATA_WIDTH_CH0_OFFSET 5&lt;BR /&gt;#define IOMUXC_GPR2_DATA_WIDTH_CH0_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR2_DATA_WIDTH_CH0_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_DATA_WIDTH_CH0_18BIT (IOMUXC_GPR2_DATA_WIDTH_18&amp;lt;&amp;lt;IOMUXC_GPR2_DATA_WIDTH_CH0_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_DATA_WIDTH_CH0_24BIT (IOMUXC_GPR2_DATA_WIDTH_24&amp;lt;&amp;lt;IOMUXC_GPR2_DATA_WIDTH_CH0_OFFSET)&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR2_SPLIT_MODE_EN_OFFSET 4&lt;BR /&gt;#define IOMUXC_GPR2_SPLIT_MODE_EN_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR2_SPLIT_MODE_EN_OFFSET)&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR2_MODE_DISABLED 0&lt;BR /&gt;#define IOMUXC_GPR2_MODE_ENABLED_DI0 1&lt;BR /&gt;#define IOMUXC_GPR2_MODE_ENABLED_DI1 3&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR2_LVDS_CH1_MODE_OFFSET 2&lt;BR /&gt;#define IOMUXC_GPR2_LVDS_CH1_MODE_MASK (3&amp;lt;&amp;lt;IOMUXC_GPR2_LVDS_CH1_MODE_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_LVDS_CH1_MODE_DISABLED (IOMUXC_GPR2_MODE_DISABLED&amp;lt;&amp;lt;IOMUXC_GPR2_LVDS_CH1_MODE_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_LVDS_CH1_MODE_ENABLED_DI0 (IOMUXC_GPR2_MODE_ENABLED_DI0&amp;lt;&amp;lt;IOMUXC_GPR2_LVDS_CH1_MODE_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_LVDS_CH1_MODE_ENABLED_DI1 (IOMUXC_GPR2_MODE_ENABLED_DI1&amp;lt;&amp;lt;IOMUXC_GPR2_LVDS_CH1_MODE_OFFSET)&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR2_LVDS_CH0_MODE_OFFSET 0&lt;BR /&gt;#define IOMUXC_GPR2_LVDS_CH0_MODE_MASK (3&amp;lt;&amp;lt;IOMUXC_GPR2_LVDS_CH0_MODE_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_LVDS_CH0_MODE_DISABLED (IOMUXC_GPR2_MODE_DISABLED&amp;lt;&amp;lt;IOMUXC_GPR2_LVDS_CH0_MODE_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_LVDS_CH0_MODE_ENABLED_DI0 (IOMUXC_GPR2_MODE_ENABLED_DI0&amp;lt;&amp;lt;IOMUXC_GPR2_LVDS_CH0_MODE_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_LVDS_CH0_MODE_ENABLED_DI1 (IOMUXC_GPR2_MODE_ENABLED_DI1&amp;lt;&amp;lt;IOMUXC_GPR2_LVDS_CH0_MODE_OFFSET)&lt;/P&gt;&lt;P&gt;#ifdef CONFIG_MX6SX&lt;BR /&gt;#define IMX6SX_GPR5_CSI1_MUX_CTRL_MASK (0x3 &amp;lt;&amp;lt; 4)&lt;BR /&gt;#define IMX6SX_GPR5_CSI1_MUX_CTRL_EXT_PIN (0x0 &amp;lt;&amp;lt; 4)&lt;BR /&gt;#define IMX6SX_GPR5_CSI1_MUX_CTRL_CVD (0x1 &amp;lt;&amp;lt; 4)&lt;BR /&gt;#define IMX6SX_GPR5_CSI1_MUX_CTRL_VDAC_TO_CSI (0x2 &amp;lt;&amp;lt; 4)&lt;BR /&gt;#define IMX6SX_GPR5_CSI1_MUX_CTRL_GND (0x3 &amp;lt;&amp;lt; 4)&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;/* ECSPI registers */&lt;BR /&gt;struct cspi_regs {&lt;BR /&gt; u32 rxdata;&lt;BR /&gt; u32 txdata;&lt;BR /&gt; u32 ctrl;&lt;BR /&gt; u32 cfg;&lt;BR /&gt; u32 intr;&lt;BR /&gt; u32 dma;&lt;BR /&gt; u32 stat;&lt;BR /&gt; u32 period;&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;/*&lt;BR /&gt; * CSPI register definitions&lt;BR /&gt; */&lt;BR /&gt;#define MXC_ECSPI&lt;BR /&gt;#define MXC_CSPICTRL_EN (1 &amp;lt;&amp;lt; 0)&lt;BR /&gt;#define MXC_CSPICTRL_MODE (1 &amp;lt;&amp;lt; 1)&lt;BR /&gt;#define MXC_CSPICTRL_XCH (1 &amp;lt;&amp;lt; 2)&lt;BR /&gt;#define MXC_CSPICTRL_MODE_MASK (0xf &amp;lt;&amp;lt; 4)&lt;BR /&gt;#define MXC_CSPICTRL_CHIPSELECT(x) (((x) &amp;amp; 0x3) &amp;lt;&amp;lt; 12)&lt;BR /&gt;#define MXC_CSPICTRL_BITCOUNT(x) (((x) &amp;amp; 0xfff) &amp;lt;&amp;lt; 20)&lt;BR /&gt;#define MXC_CSPICTRL_PREDIV(x) (((x) &amp;amp; 0xF) &amp;lt;&amp;lt; 12)&lt;BR /&gt;#define MXC_CSPICTRL_POSTDIV(x) (((x) &amp;amp; 0xF) &amp;lt;&amp;lt; 8)&lt;BR /&gt;#define MXC_CSPICTRL_SELCHAN(x) (((x) &amp;amp; 0x3) &amp;lt;&amp;lt; 18)&lt;BR /&gt;#define MXC_CSPICTRL_MAXBITS 0xfff&lt;BR /&gt;#define MXC_CSPICTRL_TC (1 &amp;lt;&amp;lt; 7)&lt;BR /&gt;#define MXC_CSPICTRL_RXOVF (1 &amp;lt;&amp;lt; 6)&lt;BR /&gt;#define MXC_CSPIPERIOD_32KHZ (1 &amp;lt;&amp;lt; 15)&lt;BR /&gt;#define MAX_SPI_BYTES 32&lt;BR /&gt;#if defined(CONFIG_MX6SL) || defined(CONFIG_MX6DL) || defined(CONFIG_MX6UL)&lt;BR /&gt;#define SPI_MAX_NUM 3&lt;BR /&gt;#else&lt;BR /&gt;#define SPI_MAX_NUM 4&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;/* Bit position inside CTRL register to be associated with SS */&lt;BR /&gt;#define MXC_CSPICTRL_CHAN 18&lt;/P&gt;&lt;P&gt;/* Bit position inside CON register to be associated with SS */&lt;BR /&gt;#define MXC_CSPICON_PHA 0 /* SCLK phase control */&lt;BR /&gt;#define MXC_CSPICON_POL 4 /* SCLK polarity */&lt;BR /&gt;#define MXC_CSPICON_SSPOL 12 /* SS polarity */&lt;BR /&gt;#define MXC_CSPICON_CTL 20 /* inactive state of SCLK */&lt;BR /&gt;#if defined(CONFIG_MX6SL) || defined(CONFIG_MX6DL) || defined(CONFIG_MX6UL)&lt;BR /&gt;#define MXC_SPI_BASE_ADDRESSES \&lt;BR /&gt; ECSPI1_BASE_ADDR, \&lt;BR /&gt; ECSPI2_BASE_ADDR, \&lt;BR /&gt; ECSPI3_BASE_ADDR, \&lt;BR /&gt; ECSPI4_BASE_ADDR&lt;BR /&gt;#else&lt;BR /&gt;#define MXC_SPI_BASE_ADDRESSES \&lt;BR /&gt; ECSPI1_BASE_ADDR, \&lt;BR /&gt; ECSPI2_BASE_ADDR, \&lt;BR /&gt; ECSPI3_BASE_ADDR, \&lt;BR /&gt; ECSPI4_BASE_ADDR, \&lt;BR /&gt; ECSPI5_BASE_ADDR&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;#define ANATOP_PLL_VIDEO 0xA0&lt;/P&gt;&lt;P&gt;struct ocotp_regs {&lt;BR /&gt; u32 ctrl;&lt;BR /&gt; u32 ctrl_set;&lt;BR /&gt; u32 ctrl_clr;&lt;BR /&gt; u32 ctrl_tog;&lt;BR /&gt; u32 timing;&lt;BR /&gt; u32 rsvd0[3];&lt;BR /&gt; u32 data;&lt;BR /&gt; u32 rsvd1[3];&lt;BR /&gt; u32 read_ctrl;&lt;BR /&gt; u32 rsvd2[3];&lt;BR /&gt; u32 read_fuse_data;&lt;BR /&gt; u32 rsvd3[3];&lt;BR /&gt; u32 sw_sticky;&lt;BR /&gt; u32 rsvd4[3];&lt;BR /&gt; u32 scs;&lt;BR /&gt; u32 scs_set;&lt;BR /&gt; u32 scs_clr;&lt;BR /&gt; u32 scs_tog;&lt;BR /&gt; u32 crc_addr;&lt;BR /&gt; u32 rsvd5[3];&lt;BR /&gt; u32 crc_value;&lt;BR /&gt; u32 rsvd6[3];&lt;BR /&gt; u32 version;&lt;BR /&gt; u32 rsvd7[0xdb];&lt;/P&gt;&lt;P&gt;/* fuse banks */&lt;BR /&gt; struct fuse_bank {&lt;BR /&gt; u32 fuse_regs[0x20];&lt;BR /&gt; } bank[0];&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;struct fuse_bank0_regs {&lt;BR /&gt; u32 lock;&lt;BR /&gt; u32 rsvd0[3];&lt;BR /&gt; u32 uid_low;&lt;BR /&gt; u32 rsvd1[3];&lt;BR /&gt; u32 uid_high;&lt;BR /&gt; u32 rsvd2[3];&lt;BR /&gt; u32 cfg2;&lt;BR /&gt; u32 rsvd3[3];&lt;BR /&gt; u32 cfg3;&lt;BR /&gt; u32 rsvd4[3];&lt;BR /&gt; u32 cfg4;&lt;BR /&gt; u32 rsvd5[3];&lt;BR /&gt; u32 cfg5;&lt;BR /&gt; u32 rsvd6[3];&lt;BR /&gt; u32 cfg6;&lt;BR /&gt; u32 rsvd7[3];&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;struct fuse_bank1_regs {&lt;BR /&gt; u32 mem[0x18];&lt;BR /&gt; u32 ana1;&lt;BR /&gt; u32 rsvd1[3];&lt;BR /&gt; u32 ana2;&lt;BR /&gt; u32 rsvd2[3];&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;#if (defined(CONFIG_MX6SX) || defined(CONFIG_MX6UL))&lt;BR /&gt;struct fuse_bank4_regs {&lt;BR /&gt; u32 sjc_resp_low;&lt;BR /&gt; u32 rsvd0[3];&lt;BR /&gt; u32 sjc_resp_high;&lt;BR /&gt; u32 rsvd1[3];&lt;BR /&gt; u32 mac_addr0;&lt;BR /&gt; u32 rsvd2[3];&lt;BR /&gt; u32 mac_addr1;&lt;BR /&gt; u32 rsvd3[3];&lt;BR /&gt; u32 mac_addr2;&lt;BR /&gt; u32 rsvd4[7];&lt;BR /&gt; u32 gp1;&lt;BR /&gt; u32 rsvd5[3];&lt;BR /&gt; u32 gp2;&lt;BR /&gt; u32 rsvd6[3];&lt;BR /&gt;};&lt;BR /&gt;#else&lt;BR /&gt;struct fuse_bank4_regs {&lt;BR /&gt; u32 sjc_resp_low;&lt;BR /&gt; u32 rsvd0[3];&lt;BR /&gt; u32 sjc_resp_high;&lt;BR /&gt; u32 rsvd1[3];&lt;BR /&gt; u32 mac_addr_low;&lt;BR /&gt; u32 rsvd2[3];&lt;BR /&gt; u32 mac_addr_high;&lt;BR /&gt; u32 rsvd3[0xb];&lt;BR /&gt; u32 gp1;&lt;BR /&gt; u32 rsvd4[3];&lt;BR /&gt; u32 gp2;&lt;BR /&gt; u32 rsvd5[3];&lt;BR /&gt;};&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;struct aipstz_regs {&lt;BR /&gt; u32 mprot0;&lt;BR /&gt; u32 mprot1;&lt;BR /&gt; u32 rsvd[0xe];&lt;BR /&gt; u32 opacr0;&lt;BR /&gt; u32 opacr1;&lt;BR /&gt; u32 opacr2;&lt;BR /&gt; u32 opacr3;&lt;BR /&gt; u32 opacr4;&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;struct anatop_regs {&lt;BR /&gt; u32 pll_sys; /* 0x000 */&lt;BR /&gt; u32 pll_sys_set; /* 0x004 */&lt;BR /&gt; u32 pll_sys_clr; /* 0x008 */&lt;BR /&gt; u32 pll_sys_tog; /* 0x00c */&lt;BR /&gt; u32 usb1_pll_480_ctrl; /* 0x010 */&lt;BR /&gt; u32 usb1_pll_480_ctrl_set; /* 0x014 */&lt;BR /&gt; u32 usb1_pll_480_ctrl_clr; /* 0x018 */&lt;BR /&gt; u32 usb1_pll_480_ctrl_tog; /* 0x01c */&lt;BR /&gt; u32 usb2_pll_480_ctrl; /* 0x020 */&lt;BR /&gt; u32 usb2_pll_480_ctrl_set; /* 0x024 */&lt;BR /&gt; u32 usb2_pll_480_ctrl_clr; /* 0x028 */&lt;BR /&gt; u32 usb2_pll_480_ctrl_tog; /* 0x02c */&lt;BR /&gt; u32 pll_528; /* 0x030 */&lt;BR /&gt; u32 pll_528_set; /* 0x034 */&lt;BR /&gt; u32 pll_528_clr; /* 0x038 */&lt;BR /&gt; u32 pll_528_tog; /* 0x03c */&lt;BR /&gt; u32 pll_528_ss; /* 0x040 */&lt;BR /&gt; u32 rsvd0[3];&lt;BR /&gt; u32 pll_528_num; /* 0x050 */&lt;BR /&gt; u32 rsvd1[3];&lt;BR /&gt; u32 pll_528_denom; /* 0x060 */&lt;BR /&gt; u32 rsvd2[3];&lt;BR /&gt; u32 pll_audio; /* 0x070 */&lt;BR /&gt; u32 pll_audio_set; /* 0x074 */&lt;BR /&gt; u32 pll_audio_clr; /* 0x078 */&lt;BR /&gt; u32 pll_audio_tog; /* 0x07c */&lt;BR /&gt; u32 pll_audio_num; /* 0x080 */&lt;BR /&gt; u32 rsvd3[3];&lt;BR /&gt; u32 pll_audio_denom; /* 0x090 */&lt;BR /&gt; u32 rsvd4[3];&lt;BR /&gt; u32 pll_video; /* 0x0a0 */&lt;BR /&gt; u32 pll_video_set; /* 0x0a4 */&lt;BR /&gt; u32 pll_video_clr; /* 0x0a8 */&lt;BR /&gt; u32 pll_video_tog; /* 0x0ac */&lt;BR /&gt; u32 pll_video_num; /* 0x0b0 */&lt;BR /&gt; u32 rsvd5[3];&lt;BR /&gt; u32 pll_video_denom; /* 0x0c0 */&lt;BR /&gt; u32 rsvd6[3];&lt;BR /&gt; u32 pll_mlb; /* 0x0d0 */&lt;BR /&gt; u32 pll_mlb_set; /* 0x0d4 */&lt;BR /&gt; u32 pll_mlb_clr; /* 0x0d8 */&lt;BR /&gt; u32 pll_mlb_tog; /* 0x0dc */&lt;BR /&gt; u32 pll_enet; /* 0x0e0 */&lt;BR /&gt; u32 pll_enet_set; /* 0x0e4 */&lt;BR /&gt; u32 pll_enet_clr; /* 0x0e8 */&lt;BR /&gt; u32 pll_enet_tog; /* 0x0ec */&lt;BR /&gt; u32 pfd_480; /* 0x0f0 */&lt;BR /&gt; u32 pfd_480_set; /* 0x0f4 */&lt;BR /&gt; u32 pfd_480_clr; /* 0x0f8 */&lt;BR /&gt; u32 pfd_480_tog; /* 0x0fc */&lt;BR /&gt; u32 pfd_528; /* 0x100 */&lt;BR /&gt; u32 pfd_528_set; /* 0x104 */&lt;BR /&gt; u32 pfd_528_clr; /* 0x108 */&lt;BR /&gt; u32 pfd_528_tog; /* 0x10c */&lt;BR /&gt; u32 reg_1p1; /* 0x110 */&lt;BR /&gt; u32 reg_1p1_set; /* 0x114 */&lt;BR /&gt; u32 reg_1p1_clr; /* 0x118 */&lt;BR /&gt; u32 reg_1p1_tog; /* 0x11c */&lt;BR /&gt; u32 reg_3p0; /* 0x120 */&lt;BR /&gt; u32 reg_3p0_set; /* 0x124 */&lt;BR /&gt; u32 reg_3p0_clr; /* 0x128 */&lt;BR /&gt; u32 reg_3p0_tog; /* 0x12c */&lt;BR /&gt; u32 reg_2p5; /* 0x130 */&lt;BR /&gt; u32 reg_2p5_set; /* 0x134 */&lt;BR /&gt; u32 reg_2p5_clr; /* 0x138 */&lt;BR /&gt; u32 reg_2p5_tog; /* 0x13c */&lt;BR /&gt; u32 reg_core; /* 0x140 */&lt;BR /&gt; u32 reg_core_set; /* 0x144 */&lt;BR /&gt; u32 reg_core_clr; /* 0x148 */&lt;BR /&gt; u32 reg_core_tog; /* 0x14c */&lt;BR /&gt; u32 ana_misc0; /* 0x150 */&lt;BR /&gt; u32 ana_misc0_set; /* 0x154 */&lt;BR /&gt; u32 ana_misc0_clr; /* 0x158 */&lt;BR /&gt; u32 ana_misc0_tog; /* 0x15c */&lt;BR /&gt; u32 ana_misc1; /* 0x160 */&lt;BR /&gt; u32 ana_misc1_set; /* 0x164 */&lt;BR /&gt; u32 ana_misc1_clr; /* 0x168 */&lt;BR /&gt; u32 ana_misc1_tog; /* 0x16c */&lt;BR /&gt; u32 ana_misc2; /* 0x170 */&lt;BR /&gt; u32 ana_misc2_set; /* 0x174 */&lt;BR /&gt; u32 ana_misc2_clr; /* 0x178 */&lt;BR /&gt; u32 ana_misc2_tog; /* 0x17c */&lt;BR /&gt; u32 tempsense0; /* 0x180 */&lt;BR /&gt; u32 tempsense0_set; /* 0x184 */&lt;BR /&gt; u32 tempsense0_clr; /* 0x188 */&lt;BR /&gt; u32 tempsense0_tog; /* 0x18c */&lt;BR /&gt; u32 tempsense1; /* 0x190 */&lt;BR /&gt; u32 tempsense1_set; /* 0x194 */&lt;BR /&gt; u32 tempsense1_clr; /* 0x198 */&lt;BR /&gt; u32 tempsense1_tog; /* 0x19c */&lt;BR /&gt; u32 usb1_vbus_detect; /* 0x1a0 */&lt;BR /&gt; u32 usb1_vbus_detect_set; /* 0x1a4 */&lt;BR /&gt; u32 usb1_vbus_detect_clr; /* 0x1a8 */&lt;BR /&gt; u32 usb1_vbus_detect_tog; /* 0x1ac */&lt;BR /&gt; u32 usb1_chrg_detect; /* 0x1b0 */&lt;BR /&gt; u32 usb1_chrg_detect_set; /* 0x1b4 */&lt;BR /&gt; u32 usb1_chrg_detect_clr; /* 0x1b8 */&lt;BR /&gt; u32 usb1_chrg_detect_tog; /* 0x1bc */&lt;BR /&gt; u32 usb1_vbus_det_stat; /* 0x1c0 */&lt;BR /&gt; u32 usb1_vbus_det_stat_set; /* 0x1c4 */&lt;BR /&gt; u32 usb1_vbus_det_stat_clr; /* 0x1c8 */&lt;BR /&gt; u32 usb1_vbus_det_stat_tog; /* 0x1cc */&lt;BR /&gt; u32 usb1_chrg_det_stat; /* 0x1d0 */&lt;BR /&gt; u32 usb1_chrg_det_stat_set; /* 0x1d4 */&lt;BR /&gt; u32 usb1_chrg_det_stat_clr; /* 0x1d8 */&lt;BR /&gt; u32 usb1_chrg_det_stat_tog; /* 0x1dc */&lt;BR /&gt; u32 usb1_loopback; /* 0x1e0 */&lt;BR /&gt; u32 usb1_loopback_set; /* 0x1e4 */&lt;BR /&gt; u32 usb1_loopback_clr; /* 0x1e8 */&lt;BR /&gt; u32 usb1_loopback_tog; /* 0x1ec */&lt;BR /&gt; u32 usb1_misc; /* 0x1f0 */&lt;BR /&gt; u32 usb1_misc_set; /* 0x1f4 */&lt;BR /&gt; u32 usb1_misc_clr; /* 0x1f8 */&lt;BR /&gt; u32 usb1_misc_tog; /* 0x1fc */&lt;BR /&gt; u32 usb2_vbus_detect; /* 0x200 */&lt;BR /&gt; u32 usb2_vbus_detect_set; /* 0x204 */&lt;BR /&gt; u32 usb2_vbus_detect_clr; /* 0x208 */&lt;BR /&gt; u32 usb2_vbus_detect_tog; /* 0x20c */&lt;BR /&gt; u32 usb2_chrg_detect; /* 0x210 */&lt;BR /&gt; u32 usb2_chrg_detect_set; /* 0x214 */&lt;BR /&gt; u32 usb2_chrg_detect_clr; /* 0x218 */&lt;BR /&gt; u32 usb2_chrg_detect_tog; /* 0x21c */&lt;BR /&gt; u32 usb2_vbus_det_stat; /* 0x220 */&lt;BR /&gt; u32 usb2_vbus_det_stat_set; /* 0x224 */&lt;BR /&gt; u32 usb2_vbus_det_stat_clr; /* 0x228 */&lt;BR /&gt; u32 usb2_vbus_det_stat_tog; /* 0x22c */&lt;BR /&gt; u32 usb2_chrg_det_stat; /* 0x230 */&lt;BR /&gt; u32 usb2_chrg_det_stat_set; /* 0x234 */&lt;BR /&gt; u32 usb2_chrg_det_stat_clr; /* 0x238 */&lt;BR /&gt; u32 usb2_chrg_det_stat_tog; /* 0x23c */&lt;BR /&gt; u32 usb2_loopback; /* 0x240 */&lt;BR /&gt; u32 usb2_loopback_set; /* 0x244 */&lt;BR /&gt; u32 usb2_loopback_clr; /* 0x248 */&lt;BR /&gt; u32 usb2_loopback_tog; /* 0x24c */&lt;BR /&gt; u32 usb2_misc; /* 0x250 */&lt;BR /&gt; u32 usb2_misc_set; /* 0x254 */&lt;BR /&gt; u32 usb2_misc_clr; /* 0x258 */&lt;BR /&gt; u32 usb2_misc_tog; /* 0x25c */&lt;BR /&gt; u32 digprog; /* 0x260 */&lt;BR /&gt; u32 reserved1[7];&lt;BR /&gt; u32 digprog_sololite; /* 0x280 */&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;#define ANATOP_PFD_FRAC_SHIFT(n) ((n)*8)&lt;BR /&gt;#define ANATOP_PFD_FRAC_MASK(n) (0x3f&amp;lt;&amp;lt;ANATOP_PFD_FRAC_SHIFT(n))&lt;BR /&gt;#define ANATOP_PFD_STABLE_SHIFT(n) (6+((n)*8))&lt;BR /&gt;#define ANATOP_PFD_STABLE_MASK(n) (1&amp;lt;&amp;lt;ANATOP_PFD_STABLE_SHIFT(n))&lt;BR /&gt;#define ANATOP_PFD_CLKGATE_SHIFT(n) (7+((n)*8))&lt;BR /&gt;#define ANATOP_PFD_CLKGATE_MASK(n) (1&amp;lt;&amp;lt;ANATOP_PFD_CLKGATE_SHIFT(n))&lt;/P&gt;&lt;P&gt;struct iomuxc_gpr_base_regs {&lt;BR /&gt;#if defined(CONFIG_MX6UL)&lt;BR /&gt; u32 gpr[15]; /* 0x000 */&lt;BR /&gt;#else&lt;BR /&gt; u32 gpr[14]; /* 0x000 */&lt;BR /&gt;#endif&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;struct iomuxc_base_regs {&lt;BR /&gt;#if !(defined(CONFIG_MX6SX) || defined(CONFIG_MX6UL))&lt;BR /&gt; u32 gpr[14]; /* 0x000 */&lt;BR /&gt;#endif&lt;BR /&gt; u32 obsrv[5]; /* 0x038 */&lt;BR /&gt; u32 swmux_ctl[197]; /* 0x04c */&lt;BR /&gt; u32 swpad_ctl[250]; /* 0x360 */&lt;BR /&gt; u32 swgrp[26]; /* 0x748 */&lt;BR /&gt; u32 daisy[104]; /* 0x7b0..94c */&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;struct wdog_regs {&lt;BR /&gt; u16 wcr; /* Control */&lt;BR /&gt; u16 wsr; /* Service */&lt;BR /&gt; u16 wrsr; /* Reset Status */&lt;BR /&gt; u16 wicr; /* Interrupt Control */&lt;BR /&gt; u16 wmcr; /* Miscellaneous Control */&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;#define PWMCR_PRESCALER(x) (((x - 1) &amp;amp; 0xFFF) &amp;lt;&amp;lt; 4)&lt;BR /&gt;#define PWMCR_DOZEEN (1 &amp;lt;&amp;lt; 24)&lt;BR /&gt;#define PWMCR_WAITEN (1 &amp;lt;&amp;lt; 23)&lt;BR /&gt;#define PWMCR_DBGEN (1 &amp;lt;&amp;lt; 22)&lt;BR /&gt;#define PWMCR_CLKSRC_IPG_HIGH (2 &amp;lt;&amp;lt; 16)&lt;BR /&gt;#define PWMCR_CLKSRC_IPG (1 &amp;lt;&amp;lt; 16)&lt;BR /&gt;#define PWMCR_EN (1 &amp;lt;&amp;lt; 0)&lt;/P&gt;&lt;P&gt;struct pwm_regs {&lt;BR /&gt; u32 cr;&lt;BR /&gt; u32 sr;&lt;BR /&gt; u32 ir;&lt;BR /&gt; u32 sar;&lt;BR /&gt; u32 pr;&lt;BR /&gt; u32 cnr;&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;struct dbg_monitor_regs {&lt;BR /&gt; u32 ctrl[4]; /* Control */&lt;BR /&gt; u32 master_en[4]; /* Master enable */&lt;BR /&gt; u32 irq[4]; /* IRQ */&lt;BR /&gt; u32 trap_addr_low[4]; /* Trap address low */&lt;BR /&gt; u32 trap_addr_high[4]; /* Trap address high */&lt;BR /&gt; u32 trap_id[4]; /* Trap ID */&lt;BR /&gt; u32 snvs_addr[4]; /* SNVS address */&lt;BR /&gt; u32 snvs_data[4]; /* SNVS data */&lt;BR /&gt; u32 snvs_info[4]; /* SNVS info */&lt;BR /&gt; u32 version[4]; /* Version */&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;/* eLCDIF controller registers */&lt;BR /&gt;struct mxs_lcdif_regs {&lt;BR /&gt; u32 hw_lcdif_ctrl; /* 0x00 */&lt;BR /&gt; u32 hw_lcdif_ctrl_set;&lt;BR /&gt; u32 hw_lcdif_ctrl_clr;&lt;BR /&gt; u32 hw_lcdif_ctrl_tog;&lt;BR /&gt; u32 hw_lcdif_ctrl1; /* 0x10 */&lt;BR /&gt; u32 hw_lcdif_ctrl1_set;&lt;BR /&gt; u32 hw_lcdif_ctrl1_clr;&lt;BR /&gt; u32 hw_lcdif_ctrl1_tog;&lt;BR /&gt; u32 hw_lcdif_ctrl2; /* 0x20 */&lt;BR /&gt; u32 hw_lcdif_ctrl2_set;&lt;BR /&gt; u32 hw_lcdif_ctrl2_clr;&lt;BR /&gt; u32 hw_lcdif_ctrl2_tog;&lt;BR /&gt; u32 hw_lcdif_transfer_count; /* 0x30 */&lt;BR /&gt; u32 reserved1[3];&lt;BR /&gt; u32 hw_lcdif_cur_buf; /* 0x40 */&lt;BR /&gt; u32 reserved2[3];&lt;BR /&gt; u32 hw_lcdif_next_buf; /* 0x50 */&lt;BR /&gt; u32 reserved3[3];&lt;BR /&gt; u32 hw_lcdif_timing; /* 0x60 */&lt;BR /&gt; u32 reserved4[3];&lt;BR /&gt; u32 hw_lcdif_vdctrl0; /* 0x70 */&lt;BR /&gt; u32 hw_lcdif_vdctrl0_set;&lt;BR /&gt; u32 hw_lcdif_vdctrl0_clr;&lt;BR /&gt; u32 hw_lcdif_vdctrl0_tog;&lt;BR /&gt; u32 hw_lcdif_vdctrl1; /* 0x80 */&lt;BR /&gt; u32 reserved5[3];&lt;BR /&gt; u32 hw_lcdif_vdctrl2; /* 0x90 */&lt;BR /&gt; u32 reserved6[3];&lt;BR /&gt; u32 hw_lcdif_vdctrl3; /* 0xa0 */&lt;BR /&gt; u32 reserved7[3];&lt;BR /&gt; u32 hw_lcdif_vdctrl4; /* 0xb0 */&lt;BR /&gt; u32 reserved8[3];&lt;BR /&gt; u32 hw_lcdif_dvictrl0; /* 0xc0 */&lt;BR /&gt; u32 reserved9[3];&lt;BR /&gt; u32 hw_lcdif_dvictrl1; /* 0xd0 */&lt;BR /&gt; u32 reserved10[3];&lt;BR /&gt; u32 hw_lcdif_dvictrl2; /* 0xe0 */&lt;BR /&gt; u32 reserved11[3];&lt;BR /&gt; u32 hw_lcdif_dvictrl3; /* 0xf0 */&lt;BR /&gt; u32 reserved12[3];&lt;BR /&gt; u32 hw_lcdif_dvictrl4; /* 0x100 */&lt;BR /&gt; u32 reserved13[3];&lt;BR /&gt; u32 hw_lcdif_csc_coeffctrl0; /* 0x110 */&lt;BR /&gt; u32 reserved14[3];&lt;BR /&gt; u32 hw_lcdif_csc_coeffctrl1; /* 0x120 */&lt;BR /&gt; u32 reserved15[3];&lt;BR /&gt; u32 hw_lcdif_csc_coeffctrl2; /* 0x130 */&lt;BR /&gt; u32 reserved16[3];&lt;BR /&gt; u32 hw_lcdif_csc_coeffctrl3; /* 0x140 */&lt;BR /&gt; u32 reserved17[3];&lt;BR /&gt; u32 hw_lcdif_csc_coeffctrl4; /* 0x150 */&lt;BR /&gt; u32 reserved18[3];&lt;BR /&gt; u32 hw_lcdif_csc_offset; /* 0x160 */&lt;BR /&gt; u32 reserved19[3];&lt;BR /&gt; u32 hw_lcdif_csc_limit; /* 0x170 */&lt;BR /&gt; u32 reserved20[3];&lt;BR /&gt; u32 hw_lcdif_data; /* 0x180 */&lt;BR /&gt; u32 reserved21[3];&lt;BR /&gt; u32 hw_lcdif_bm_error_stat; /* 0x190 */&lt;BR /&gt; u32 reserved22[3];&lt;BR /&gt; u32 hw_lcdif_crc_stat; /* 0x1a0 */&lt;BR /&gt; u32 reserved23[3];&lt;BR /&gt; u32 hw_lcdif_lcdif_stat; /* 0x1b0 */&lt;BR /&gt; u32 reserved24[3];&lt;BR /&gt; u32 hw_lcdif_version; /* 0x1c0 */&lt;BR /&gt; u32 reserved25[3];&lt;BR /&gt; u32 hw_lcdif_debug0; /* 0x1d0 */&lt;BR /&gt; u32 reserved26[3];&lt;BR /&gt; u32 hw_lcdif_debug1; /* 0x1e0 */&lt;BR /&gt; u32 reserved27[3];&lt;BR /&gt; u32 hw_lcdif_debug2; /* 0x1f0 */&lt;BR /&gt; u32 reserved28[3];&lt;BR /&gt; u32 hw_lcdif_thres; /* 0x200 */&lt;BR /&gt; u32 reserved29[3];&lt;BR /&gt; u32 hw_lcdif_as_ctrl; /* 0x210 */&lt;BR /&gt; u32 reserved30[3];&lt;BR /&gt; u32 hw_lcdif_as_buf; /* 0x220 */&lt;BR /&gt; u32 reserved31[3];&lt;BR /&gt; u32 hw_lcdif_as_next_buf; /* 0x230 */&lt;BR /&gt; u32 reserved32[3];&lt;BR /&gt; u32 hw_lcdif_as_clrkeylow; /* 0x240 */&lt;BR /&gt; u32 reserved33[3];&lt;BR /&gt; u32 hw_lcdif_as_clrkeyhigh; /* 0x250 */&lt;BR /&gt; u32 reserved34[3];&lt;BR /&gt; u32 hw_lcdif_as_sync_delay; /* 0x260 */&lt;BR /&gt; u32 reserved35[3];&lt;BR /&gt; u32 hw_lcdif_as_debug3; /* 0x270 */&lt;BR /&gt; u32 reserved36[3];&lt;BR /&gt; u32 hw_lcdif_as_debug4; /* 0x280 */&lt;BR /&gt; u32 reserved37[3];&lt;BR /&gt; u32 hw_lcdif_as_debug5; /* 0x290 */&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;struct rdc_regs {&lt;BR /&gt; u32 vir; /* Version information */&lt;BR /&gt; u32 reserved1[8];&lt;BR /&gt; u32 stat; /* Status */&lt;BR /&gt; u32 intctrl; /* Interrupt and Control */&lt;BR /&gt; u32 intstat; /* Interrupt Status */&lt;BR /&gt; u32 reserved2[116];&lt;BR /&gt; u32 mda[32]; /* Master Domain Assignment */&lt;BR /&gt; u32 reserved3[96];&lt;BR /&gt; u32 pdap[104]; /* Peripheral Domain Access Permissions */&lt;BR /&gt; u32 reserved4[88];&lt;BR /&gt; struct {&lt;BR /&gt; u32 mrsa; /* Memory Region Start Address */&lt;BR /&gt; u32 mrea; /* Memory Region End Address */&lt;BR /&gt; u32 mrc; /* Memory Region Control */&lt;BR /&gt; u32 mrvs; /* Memory Region Violation Status */&lt;BR /&gt; } mem_region[55];&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;struct rdc_sema_regs {&lt;BR /&gt; u8 gate[64]; /* Gate */&lt;BR /&gt; u16 rstgt; /* Reset Gate */&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;#define MXS_LCDIF_BASE LCDIF2_BASE_ADDR&lt;/P&gt;&lt;P&gt;#define LCDIF_CTRL_SFTRST (1 &amp;lt;&amp;lt; 31)&lt;BR /&gt;#define LCDIF_CTRL_CLKGATE (1 &amp;lt;&amp;lt; 30)&lt;BR /&gt;#define LCDIF_CTRL_YCBCR422_INPUT (1 &amp;lt;&amp;lt; 29)&lt;BR /&gt;#define LCDIF_CTRL_READ_WRITEB (1 &amp;lt;&amp;lt; 28)&lt;BR /&gt;#define LCDIF_CTRL_WAIT_FOR_VSYNC_EDGE (1 &amp;lt;&amp;lt; 27)&lt;BR /&gt;#define LCDIF_CTRL_DATA_SHIFT_DIR (1 &amp;lt;&amp;lt; 26)&lt;BR /&gt;#define LCDIF_CTRL_SHIFT_NUM_BITS_MASK (0x1f &amp;lt;&amp;lt; 21)&lt;BR /&gt;#define LCDIF_CTRL_SHIFT_NUM_BITS_OFFSET 21&lt;BR /&gt;#define LCDIF_CTRL_DVI_MODE (1 &amp;lt;&amp;lt; 20)&lt;BR /&gt;#define LCDIF_CTRL_BYPASS_COUNT (1 &amp;lt;&amp;lt; 19)&lt;BR /&gt;#define LCDIF_CTRL_VSYNC_MODE (1 &amp;lt;&amp;lt; 18)&lt;BR /&gt;#define LCDIF_CTRL_DOTCLK_MODE (1 &amp;lt;&amp;lt; 17)&lt;BR /&gt;#define LCDIF_CTRL_DATA_SELECT (1 &amp;lt;&amp;lt; 16)&lt;BR /&gt;#define LCDIF_CTRL_INPUT_DATA_SWIZZLE_MASK (0x3 &amp;lt;&amp;lt; 14)&lt;BR /&gt;#define LCDIF_CTRL_INPUT_DATA_SWIZZLE_OFFSET 14&lt;BR /&gt;#define LCDIF_CTRL_CSC_DATA_SWIZZLE_MASK (0x3 &amp;lt;&amp;lt; 12)&lt;BR /&gt;#define LCDIF_CTRL_CSC_DATA_SWIZZLE_OFFSET 12&lt;BR /&gt;#define LCDIF_CTRL_LCD_DATABUS_WIDTH_MASK (0x3 &amp;lt;&amp;lt; 10)&lt;BR /&gt;#define LCDIF_CTRL_LCD_DATABUS_WIDTH_OFFSET 10&lt;BR /&gt;#define LCDIF_CTRL_LCD_DATABUS_WIDTH_16BIT (0 &amp;lt;&amp;lt; 10)&lt;BR /&gt;#define LCDIF_CTRL_LCD_DATABUS_WIDTH_8BIT (1 &amp;lt;&amp;lt; 10)&lt;BR /&gt;#define LCDIF_CTRL_LCD_DATABUS_WIDTH_18BIT (2 &amp;lt;&amp;lt; 10)&lt;BR /&gt;#define LCDIF_CTRL_LCD_DATABUS_WIDTH_24BIT (3 &amp;lt;&amp;lt; 10)&lt;BR /&gt;#define LCDIF_CTRL_WORD_LENGTH_MASK (0x3 &amp;lt;&amp;lt; 8)&lt;BR /&gt;#define LCDIF_CTRL_WORD_LENGTH_OFFSET 8&lt;BR /&gt;#define LCDIF_CTRL_WORD_LENGTH_16BIT (0 &amp;lt;&amp;lt; 8)&lt;BR /&gt;#define LCDIF_CTRL_WORD_LENGTH_8BIT (1 &amp;lt;&amp;lt; 8)&lt;BR /&gt;#define LCDIF_CTRL_WORD_LENGTH_18BIT (2 &amp;lt;&amp;lt; 8)&lt;BR /&gt;#define LCDIF_CTRL_WORD_LENGTH_24BIT (3 &amp;lt;&amp;lt; 8)&lt;BR /&gt;#define LCDIF_CTRL_RGB_TO_YCBCR422_CSC (1 &amp;lt;&amp;lt; 7)&lt;BR /&gt;#define LCDIF_CTRL_LCDIF_MASTER (1 &amp;lt;&amp;lt; 5)&lt;BR /&gt;#define LCDIF_CTRL_DATA_FORMAT_16_BIT (1 &amp;lt;&amp;lt; 3)&lt;BR /&gt;#define LCDIF_CTRL_DATA_FORMAT_18_BIT (1 &amp;lt;&amp;lt; 2)&lt;BR /&gt;#define LCDIF_CTRL_DATA_FORMAT_24_BIT (1 &amp;lt;&amp;lt; 1)&lt;BR /&gt;#define LCDIF_CTRL_RUN (1 &amp;lt;&amp;lt; 0)&lt;/P&gt;&lt;P&gt;#define LCDIF_CTRL1_COMBINE_MPU_WR_STRB (1 &amp;lt;&amp;lt; 27)&lt;BR /&gt;#define LCDIF_CTRL1_BM_ERROR_IRQ_EN (1 &amp;lt;&amp;lt; 26)&lt;BR /&gt;#define LCDIF_CTRL1_BM_ERROR_IRQ (1 &amp;lt;&amp;lt; 25)&lt;BR /&gt;#define LCDIF_CTRL1_RECOVER_ON_UNDERFLOW (1 &amp;lt;&amp;lt; 24)&lt;BR /&gt;#define LCDIF_CTRL1_INTERLACE_FIELDS (1 &amp;lt;&amp;lt; 23)&lt;BR /&gt;#define LCDIF_CTRL1_START_INTERLACE_FROM_SECOND_FIELD (1 &amp;lt;&amp;lt; 22)&lt;BR /&gt;#define LCDIF_CTRL1_FIFO_CLEAR (1 &amp;lt;&amp;lt; 21)&lt;BR /&gt;#define LCDIF_CTRL1_IRQ_ON_ALTERNATE_FIELDS (1 &amp;lt;&amp;lt; 20)&lt;BR /&gt;#define LCDIF_CTRL1_BYTE_PACKING_FORMAT_MASK (0xf &amp;lt;&amp;lt; 16)&lt;BR /&gt;#define LCDIF_CTRL1_BYTE_PACKING_FORMAT_OFFSET 16&lt;BR /&gt;#define LCDIF_CTRL1_OVERFLOW_IRQ_EN (1 &amp;lt;&amp;lt; 15)&lt;BR /&gt;#define LCDIF_CTRL1_UNDERFLOW_IRQ_EN (1 &amp;lt;&amp;lt; 14)&lt;BR /&gt;#define LCDIF_CTRL1_CUR_FRAME_DONE_IRQ_EN (1 &amp;lt;&amp;lt; 13)&lt;BR /&gt;#define LCDIF_CTRL1_VSYNC_EDGE_IRQ_EN (1 &amp;lt;&amp;lt; 12)&lt;BR /&gt;#define LCDIF_CTRL1_OVERFLOW_IRQ (1 &amp;lt;&amp;lt; 11)&lt;BR /&gt;#define LCDIF_CTRL1_UNDERFLOW_IRQ (1 &amp;lt;&amp;lt; 10)&lt;BR /&gt;#define LCDIF_CTRL1_CUR_FRAME_DONE_IRQ (1 &amp;lt;&amp;lt; 9)&lt;BR /&gt;#define LCDIF_CTRL1_VSYNC_EDGE_IRQ (1 &amp;lt;&amp;lt; 8)&lt;BR /&gt;#define LCDIF_CTRL1_BUSY_ENABLE (1 &amp;lt;&amp;lt; 2)&lt;BR /&gt;#define LCDIF_CTRL1_MODE86 (1 &amp;lt;&amp;lt; 1)&lt;BR /&gt;#define LCDIF_CTRL1_RESET (1 &amp;lt;&amp;lt; 0)&lt;/P&gt;&lt;P&gt;#define LCDIF_CTRL2_OUTSTANDING_REQS_MASK (0x7 &amp;lt;&amp;lt; 21)&lt;BR /&gt;#define LCDIF_CTRL2_OUTSTANDING_REQS_OFFSET 21&lt;BR /&gt;#define LCDIF_CTRL2_OUTSTANDING_REQS_REQ_1 (0x0 &amp;lt;&amp;lt; 21)&lt;BR /&gt;#define LCDIF_CTRL2_OUTSTANDING_REQS_REQ_2 (0x1 &amp;lt;&amp;lt; 21)&lt;BR /&gt;#define LCDIF_CTRL2_OUTSTANDING_REQS_REQ_4 (0x2 &amp;lt;&amp;lt; 21)&lt;BR /&gt;#define LCDIF_CTRL2_OUTSTANDING_REQS_REQ_8 (0x3 &amp;lt;&amp;lt; 21)&lt;BR /&gt;#define LCDIF_CTRL2_OUTSTANDING_REQS_REQ_16 (0x4 &amp;lt;&amp;lt; 21)&lt;BR /&gt;#define LCDIF_CTRL2_BURST_LEN_8 (1 &amp;lt;&amp;lt; 20)&lt;BR /&gt;#define LCDIF_CTRL2_ODD_LINE_PATTERN_MASK (0x7 &amp;lt;&amp;lt; 16)&lt;BR /&gt;#define LCDIF_CTRL2_ODD_LINE_PATTERN_OFFSET 16&lt;BR /&gt;#define LCDIF_CTRL2_ODD_LINE_PATTERN_RGB (0x0 &amp;lt;&amp;lt; 16)&lt;BR /&gt;#define LCDIF_CTRL2_ODD_LINE_PATTERN_RBG (0x1 &amp;lt;&amp;lt; 16)&lt;BR /&gt;#define LCDIF_CTRL2_ODD_LINE_PATTERN_GBR (0x2 &amp;lt;&amp;lt; 16)&lt;BR /&gt;#define LCDIF_CTRL2_ODD_LINE_PATTERN_GRB (0x3 &amp;lt;&amp;lt; 16)&lt;BR /&gt;#define LCDIF_CTRL2_ODD_LINE_PATTERN_BRG (0x4 &amp;lt;&amp;lt; 16)&lt;BR /&gt;#define LCDIF_CTRL2_ODD_LINE_PATTERN_BGR (0x5 &amp;lt;&amp;lt; 16)&lt;BR /&gt;#define LCDIF_CTRL2_EVEN_LINE_PATTERN_MASK (0x7 &amp;lt;&amp;lt; 12)&lt;BR /&gt;#define LCDIF_CTRL2_EVEN_LINE_PATTERN_OFFSET 12&lt;BR /&gt;#define LCDIF_CTRL2_EVEN_LINE_PATTERN_RGB (0x0 &amp;lt;&amp;lt; 12)&lt;BR /&gt;#define LCDIF_CTRL2_EVEN_LINE_PATTERN_RBG (0x1 &amp;lt;&amp;lt; 12)&lt;BR /&gt;#define LCDIF_CTRL2_EVEN_LINE_PATTERN_GBR (0x2 &amp;lt;&amp;lt; 12)&lt;BR /&gt;#define LCDIF_CTRL2_EVEN_LINE_PATTERN_GRB (0x3 &amp;lt;&amp;lt; 12)&lt;BR /&gt;#define LCDIF_CTRL2_EVEN_LINE_PATTERN_BRG (0x4 &amp;lt;&amp;lt; 12)&lt;BR /&gt;#define LCDIF_CTRL2_EVEN_LINE_PATTERN_BGR (0x5 &amp;lt;&amp;lt; 12)&lt;BR /&gt;#define LCDIF_CTRL2_READ_PACK_DIR (1 &amp;lt;&amp;lt; 10)&lt;BR /&gt;#define LCDIF_CTRL2_READ_MODE_OUTPUT_IN_RGB_FORMAT (1 &amp;lt;&amp;lt; 9)&lt;BR /&gt;#define LCDIF_CTRL2_READ_MODE_6_BIT_INPUT (1 &amp;lt;&amp;lt; 8)&lt;BR /&gt;#define LCDIF_CTRL2_READ_MODE_NUM_PACKED_SUBWORDS_MASK (0x7 &amp;lt;&amp;lt; 4)&lt;BR /&gt;#define LCDIF_CTRL2_READ_MODE_NUM_PACKED_SUBWORDS_OFFSET 4&lt;BR /&gt;#define LCDIF_CTRL2_INITIAL_DUMMY_READ_MASK (0x7 &amp;lt;&amp;lt; 1)&lt;BR /&gt;#define LCDIF_CTRL2_INITIAL_DUMMY_READ_OFFSET 1&lt;/P&gt;&lt;P&gt;#define LCDIF_TRANSFER_COUNT_V_COUNT_MASK (0xffff &amp;lt;&amp;lt; 16)&lt;BR /&gt;#define LCDIF_TRANSFER_COUNT_V_COUNT_OFFSET 16&lt;BR /&gt;#define LCDIF_TRANSFER_COUNT_H_COUNT_MASK (0xffff &amp;lt;&amp;lt; 0)&lt;BR /&gt;#define LCDIF_TRANSFER_COUNT_H_COUNT_OFFSET 0&lt;/P&gt;&lt;P&gt;#define LCDIF_CUR_BUF_ADDR_MASK 0xffffffff&lt;BR /&gt;#define LCDIF_CUR_BUF_ADDR_OFFSET 0&lt;/P&gt;&lt;P&gt;#define LCDIF_NEXT_BUF_ADDR_MASK 0xffffffff&lt;BR /&gt;#define LCDIF_NEXT_BUF_ADDR_OFFSET 0&lt;/P&gt;&lt;P&gt;#define LCDIF_TIMING_CMD_HOLD_MASK (0xff &amp;lt;&amp;lt; 24)&lt;BR /&gt;#define LCDIF_TIMING_CMD_HOLD_OFFSET 24&lt;BR /&gt;#define LCDIF_TIMING_CMD_SETUP_MASK (0xff &amp;lt;&amp;lt; 16)&lt;BR /&gt;#define LCDIF_TIMING_CMD_SETUP_OFFSET 16&lt;BR /&gt;#define LCDIF_TIMING_DATA_HOLD_MASK (0xff &amp;lt;&amp;lt; 8)&lt;BR /&gt;#define LCDIF_TIMING_DATA_HOLD_OFFSET 8&lt;BR /&gt;#define LCDIF_TIMING_DATA_SETUP_MASK (0xff &amp;lt;&amp;lt; 0)&lt;BR /&gt;#define LCDIF_TIMING_DATA_SETUP_OFFSET 0&lt;/P&gt;&lt;P&gt;#define LCDIF_VDCTRL0_VSYNC_OEB (1 &amp;lt;&amp;lt; 29)&lt;BR /&gt;#define LCDIF_VDCTRL0_ENABLE_PRESENT (1 &amp;lt;&amp;lt; 28)&lt;BR /&gt;#define LCDIF_VDCTRL0_VSYNC_POL (1 &amp;lt;&amp;lt; 27)&lt;BR /&gt;#define LCDIF_VDCTRL0_HSYNC_POL (1 &amp;lt;&amp;lt; 26)&lt;BR /&gt;#define LCDIF_VDCTRL0_DOTCLK_POL (1 &amp;lt;&amp;lt; 25)&lt;BR /&gt;#define LCDIF_VDCTRL0_ENABLE_POL (1 &amp;lt;&amp;lt; 24)&lt;BR /&gt;#define LCDIF_VDCTRL0_VSYNC_PERIOD_UNIT (1 &amp;lt;&amp;lt; 21)&lt;BR /&gt;#define LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_UNIT (1 &amp;lt;&amp;lt; 20)&lt;BR /&gt;#define LCDIF_VDCTRL0_HALF_LINE (1 &amp;lt;&amp;lt; 19)&lt;BR /&gt;#define LCDIF_VDCTRL0_HALF_LINE_MODE (1 &amp;lt;&amp;lt; 18)&lt;BR /&gt;#define LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_MASK 0x3ffff&lt;BR /&gt;#define LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_OFFSET 0&lt;/P&gt;&lt;P&gt;#define LCDIF_VDCTRL1_VSYNC_PERIOD_MASK 0xffffffff&lt;BR /&gt;#define LCDIF_VDCTRL1_VSYNC_PERIOD_OFFSET 0&lt;/P&gt;&lt;P&gt;#define LCDIF_VDCTRL2_HSYNC_PULSE_WIDTH_MASK (0x3fff &amp;lt;&amp;lt; 18)&lt;BR /&gt;#define LCDIF_VDCTRL2_HSYNC_PULSE_WIDTH_OFFSET 18&lt;BR /&gt;#define LCDIF_VDCTRL2_HSYNC_PERIOD_MASK 0x3ffff&lt;BR /&gt;#define LCDIF_VDCTRL2_HSYNC_PERIOD_OFFSET 0&lt;/P&gt;&lt;P&gt;#define LCDIF_VDCTRL3_MUX_SYNC_SIGNALS (1 &amp;lt;&amp;lt; 29)&lt;BR /&gt;#define LCDIF_VDCTRL3_VSYNC_ONLY (1 &amp;lt;&amp;lt; 28)&lt;BR /&gt;#define LCDIF_VDCTRL3_HORIZONTAL_WAIT_CNT_MASK (0xfff &amp;lt;&amp;lt; 16)&lt;BR /&gt;#define LCDIF_VDCTRL3_HORIZONTAL_WAIT_CNT_OFFSET 16&lt;BR /&gt;#define LCDIF_VDCTRL3_VERTICAL_WAIT_CNT_MASK (0xffff &amp;lt;&amp;lt; 0)&lt;BR /&gt;#define LCDIF_VDCTRL3_VERTICAL_WAIT_CNT_OFFSET 0&lt;/P&gt;&lt;P&gt;#define LCDIF_VDCTRL4_DOTCLK_DLY_SEL_MASK (0x7 &amp;lt;&amp;lt; 29)&lt;BR /&gt;#define LCDIF_VDCTRL4_DOTCLK_DLY_SEL_OFFSET 29&lt;BR /&gt;#define LCDIF_VDCTRL4_SYNC_SIGNALS_ON (1 &amp;lt;&amp;lt; 18)&lt;BR /&gt;#define LCDIF_VDCTRL4_DOTCLK_H_VALID_DATA_CNT_MASK 0x3ffff&lt;BR /&gt;#define LCDIF_VDCTRL4_DOTCLK_H_VALID_DATA_CNT_OFFSET 0&lt;/P&gt;&lt;P&gt;#ifdef CONFIG_MX6SX&lt;BR /&gt;extern void vadc_power_up(void);&lt;BR /&gt;extern void vadc_power_down(void);&lt;BR /&gt;extern void pcie_power_up(void);&lt;BR /&gt;extern void pcie_power_off(void);&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;/*&lt;BR /&gt; * If ROM fail back to USB recover mode, USBPH0_PWD will be clear to use USB&lt;BR /&gt; * If boot from the other mode, USB0_PWD will keep reset value&lt;BR /&gt; */&lt;BR /&gt;#define is_boot_from_usb(void) (!(readl(USB_PHY0_BASE_ADDR) &amp;amp; (1&amp;lt;&amp;lt;20)))&lt;BR /&gt;#define disconnect_from_pc(void) writel(0x0, OTG_BASE_ADDR + 0x140)&lt;/P&gt;&lt;P&gt;#endif /* __ASSEMBLER__*/&lt;BR /&gt;#endif /* __ASM_ARCH_MX6_IMX_REGS_H__ */&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Still when I burning my image it will show the DRAM size is 1G.&lt;/P&gt;&lt;P&gt;But there is 4G RAM on my board.&lt;/P&gt;&lt;P&gt;Where did I miss ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;Thanks in Advanced!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 14 Nov 2017 07:38:37 GMT</pubDate>
    <dc:creator>wangvictor</dc:creator>
    <dc:date>2017-11-14T07:38:37Z</dc:date>
    <item>
      <title>i.MX6 Quad 4G RAM porting issue</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-Quad-4G-RAM-porting-issue/m-p/773517#M120091</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;I'm trying to porting 4G RAM on my board.&lt;/P&gt;&lt;P&gt;Now I have finished the stress test and put the value to the path of "u-boot-imx/2015.04-r0/git/board/freescale/mx6sabresd/mx6q_4x_mt41j128.cfg".&lt;/P&gt;&lt;P&gt;Below is the content of&amp;nbsp;mx6q_4x_mt41j128.cfg.&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;/*&lt;BR /&gt; * Copyright (C) 2011-2014 Freescale Semiconductor, Inc.&lt;BR /&gt;&lt;SPAN&gt; * Jason Liu &amp;lt;&lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:r64343@freescale.com"&gt;r64343@freescale.com&lt;/A&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt; *&lt;BR /&gt; * SPDX-License-Identifier: GPL-2.0+&lt;BR /&gt; *&lt;BR /&gt; * Refer doc/README.imximage for more details about how-to configure&lt;BR /&gt; * and create imximage boot image&lt;BR /&gt; *&lt;BR /&gt; * The syntax is taken as close as possible with the kwbimage&lt;BR /&gt; */&lt;/P&gt;&lt;P&gt;#define __ASSEMBLY__&lt;BR /&gt;#include &amp;lt;config.h&amp;gt;&lt;BR /&gt;/* image version */&lt;BR /&gt;IMAGE_VERSION 2&lt;/P&gt;&lt;P&gt;/*&lt;BR /&gt; * Boot Device : one of spi, sd, sata&lt;BR /&gt; * the board has no nand and eimnor&lt;BR /&gt; * spinor: flash_offset: 0x0400&lt;BR /&gt; * sata: flash_offset: 0x0400&lt;BR /&gt; * sd/mmc: flash_offset: 0x0400&lt;BR /&gt; */&lt;/P&gt;&lt;P&gt;/* the same flash_offset as sd */&lt;BR /&gt;BOOT_FROM sd&lt;/P&gt;&lt;P&gt;#ifdef CONFIG_USE_PLUGIN&lt;BR /&gt;/*PLUGIN plugin-binary-file IRAM_FREE_START_ADDR*/&lt;BR /&gt;PLUGIN board/freescale/mx6sabresd/plugin.bin 0x00907000&lt;BR /&gt;#else&lt;/P&gt;&lt;P&gt;#ifdef CONFIG_SECURE_BOOT&lt;BR /&gt;CSF CONFIG_CSF_SIZE&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;/*&lt;BR /&gt; * Device Configuration Data (DCD)&lt;BR /&gt; *&lt;BR /&gt; * Each entry must have the format:&lt;BR /&gt; * Addr-type Address Value&lt;BR /&gt; *&lt;BR /&gt; * where:&lt;BR /&gt; * Addr-type register length (1,2 or 4 bytes)&lt;BR /&gt; * Address absolute address of the register&lt;BR /&gt; * value value to be stored in the register&lt;BR /&gt; */&lt;BR /&gt;DATA 4, 0x020e0798, 0x000C0000&lt;BR /&gt;DATA 4, 0x020e0758, 0x00000000&lt;BR /&gt;DATA 4, 0x020e0588, 0x00000028&lt;BR /&gt;DATA 4, 0x020e0594, 0x00000028&lt;BR /&gt;DATA 4, 0x020e056c, 0x00000028&lt;BR /&gt;DATA 4, 0x020e0578, 0x00000028&lt;BR /&gt;DATA 4, 0x020e074c, 0x00000028&lt;BR /&gt;DATA 4, 0x020e057c, 0x00000028&lt;BR /&gt;DATA 4, 0x020e058c, 0x00000000&lt;BR /&gt;DATA 4, 0x020e059c, 0x00000028&lt;BR /&gt;DATA 4, 0x020e05a0, 0x00000028&lt;BR /&gt;DATA 4, 0x020e078c, 0x00000028&lt;BR /&gt;DATA 4, 0x020e0750, 0x00020000&lt;BR /&gt;DATA 4, 0x020e05a8, 0x00000028&lt;BR /&gt;DATA 4, 0x020e05b0, 0x00000028&lt;BR /&gt;DATA 4, 0x020e0524, 0x00000028&lt;BR /&gt;DATA 4, 0x020e051c, 0x00000028&lt;BR /&gt;DATA 4, 0x020e0518, 0x00000028&lt;BR /&gt;DATA 4, 0x020e050c, 0x00000028&lt;BR /&gt;DATA 4, 0x020e05b8, 0x00000028&lt;BR /&gt;DATA 4, 0x020e05c0, 0x00000028&lt;BR /&gt;DATA 4, 0x020e0774, 0x00020000&lt;BR /&gt;DATA 4, 0x020e0784, 0x00000028&lt;BR /&gt;DATA 4, 0x020e0788, 0x00000028&lt;BR /&gt;DATA 4, 0x020e0794, 0x00000028&lt;BR /&gt;DATA 4, 0x020e079c, 0x00000028&lt;BR /&gt;DATA 4, 0x020e07a0, 0x00000028&lt;BR /&gt;DATA 4, 0x020e07a4, 0x00000028&lt;BR /&gt;DATA 4, 0x020e07a8, 0x00000028&lt;BR /&gt;DATA 4, 0x020e0748, 0x00000028&lt;BR /&gt;DATA 4, 0x020e05ac, 0x00000028&lt;BR /&gt;DATA 4, 0x020e05b4, 0x00000028&lt;BR /&gt;DATA 4, 0x020e0528, 0x00000028&lt;BR /&gt;DATA 4, 0x020e0520, 0x00000028&lt;BR /&gt;DATA 4, 0x020e0514, 0x00000028&lt;BR /&gt;DATA 4, 0x020e0510, 0x00000028&lt;BR /&gt;DATA 4, 0x020e05bc, 0x00000028&lt;BR /&gt;DATA 4, 0x020e05c4, 0x00000028&lt;BR /&gt;DATA 4, 0x021b0800, 0xA1390003&lt;BR /&gt;DATA 4, 0x021b080c, 0x002C0030&lt;BR /&gt;DATA 4, 0x021b0810, 0x003B0037&lt;BR /&gt;DATA 4, 0x021b480c, 0x002C003C&lt;BR /&gt;DATA 4, 0x021b4810, 0x001A003A&lt;BR /&gt;DATA 4, 0x021b083c, 0x03300340&lt;BR /&gt;DATA 4, 0x021b0840, 0x032C0328&lt;BR /&gt;DATA 4, 0x021b483c, 0x033C034C&lt;BR /&gt;DATA 4, 0x021b4840, 0x0330027C&lt;BR /&gt;DATA 4, 0x021b0848, 0x3E34323A&lt;BR /&gt;DATA 4, 0x021b4848, 0x38343242&lt;BR /&gt;DATA 4, 0x021b0850, 0x34363E3A&lt;BR /&gt;DATA 4, 0x021b4850, 0x4232443E&lt;BR /&gt;DATA 4, 0x021b081c, 0x33333333&lt;BR /&gt;DATA 4, 0x021b0820, 0x33333333&lt;BR /&gt;DATA 4, 0x021b0824, 0x33333333&lt;BR /&gt;DATA 4, 0x021b0828, 0x33333333&lt;BR /&gt;DATA 4, 0x021b481c, 0x33333333&lt;BR /&gt;DATA 4, 0x021b4820, 0x33333333&lt;BR /&gt;DATA 4, 0x021b4824, 0x33333333&lt;BR /&gt;DATA 4, 0x021b4828, 0x33333333&lt;BR /&gt;DATA 4, 0x021b08b8, 0x00000800&lt;BR /&gt;DATA 4, 0x021b48b8, 0x00000800&lt;BR /&gt;DATA 4, 0x021b0004, 0x00020036&lt;BR /&gt;DATA 4, 0x021b0008, 0x09444040&lt;BR /&gt;DATA 4, 0x021b000c, 0xB8BE7955&lt;BR /&gt;DATA 4, 0x021b0010, 0xFF328F64&lt;BR /&gt;DATA 4, 0x021b0014, 0x01FF00DB&lt;BR /&gt;DATA 4, 0x021b0018, 0x00011740&lt;BR /&gt;DATA 4, 0x021b001c, 0x00008000&lt;BR /&gt;DATA 4, 0x021b002c, 0x000026D2&lt;BR /&gt;DATA 4, 0x021b0030, 0x008E1023&lt;BR /&gt;DATA 4, 0x021b0040, 0x0000007F&lt;BR /&gt;DATA 4, 0x021b0000, 0x853A0000&lt;BR /&gt;DATA 4, 0x021b001c, 0x02088032&lt;BR /&gt;DATA 4, 0x021b001c, 0x00008033&lt;BR /&gt;DATA 4, 0x021b001c, 0x00048031&lt;BR /&gt;DATA 4, 0x021b001c, 0x19408030&lt;BR /&gt;DATA 4, 0x021b001c, 0x04008040&lt;BR /&gt;DATA 4, 0x021b0020, 0x00007800&lt;BR /&gt;DATA 4, 0x021b0818, 0x00022227&lt;BR /&gt;DATA 4, 0x021b4818, 0x00022227&lt;BR /&gt;DATA 4, 0x021b0004, 0x00025576&lt;BR /&gt;DATA 4, 0x021b0404, 0x00011006&lt;BR /&gt;DATA 4, 0x021b001c, 0x00000000&lt;/P&gt;&lt;P&gt;/* set the default clock gate to save power */&lt;BR /&gt;DATA 4, 0x020c4068, 0x00C03F3F&lt;BR /&gt;DATA 4, 0x020c406c, 0x0030FC03&lt;BR /&gt;DATA 4, 0x020c4070, 0x0FFFC000&lt;BR /&gt;DATA 4, 0x020c4074, 0x3FF00000&lt;BR /&gt;DATA 4, 0x020c4078, 0x00FFF300&lt;BR /&gt;DATA 4, 0x020c407c, 0x0F0000F3&lt;BR /&gt;DATA 4, 0x020c4080, 0x000003FF&lt;/P&gt;&lt;P&gt;/* enable AXI cache for VDOA/VPU/IPU */&lt;BR /&gt;DATA 4, 0x020e0010, 0xF00000CF&lt;BR /&gt;/* set IPU AXI-id0 Qos=0xf(bypass) AXI-id1 Qos=0x7 */&lt;BR /&gt;DATA 4, 0x020e0018, 0x007F007F&lt;BR /&gt;DATA 4, 0x020e001c, 0x007F007F&lt;/P&gt;&lt;P&gt;/*&lt;BR /&gt; * Setup CCM_CCOSR register as follows:&lt;BR /&gt; *&lt;BR /&gt; * cko1_en = 1 --&amp;gt; CKO1 enabled&lt;BR /&gt; * cko1_div = 111 --&amp;gt; divide by 8&lt;BR /&gt; * cko1_sel = 1011 --&amp;gt; ahb_clk_root&lt;BR /&gt; *&lt;BR /&gt; * This sets CKO1 at ahb_clk_root/8 = 132/8 = 16.5 MHz&lt;BR /&gt; */&lt;BR /&gt;DATA 4, 0x020c4060, 0x000000fb&lt;BR /&gt;#endif&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;And I modify this file too."u-boot-imx/2015.04-r0/git/arch/arm/include/asm/arch-mx6/imx-regs.h"&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*&lt;BR /&gt; * Copyright (C) 2011-2015 Freescale Semiconductor, Inc. All Rights Reserved.&lt;BR /&gt; *&lt;BR /&gt; * SPDX-License-Identifier: GPL-2.0+&lt;BR /&gt; */&lt;/P&gt;&lt;P&gt;#ifndef __ASM_ARCH_MX6_IMX_REGS_H__&lt;BR /&gt;#define __ASM_ARCH_MX6_IMX_REGS_H__&lt;/P&gt;&lt;P&gt;#define ARCH_MXC&lt;/P&gt;&lt;P&gt;#ifdef CONFIG_MX6UL&lt;BR /&gt;#define CONFIG_SYS_CACHELINE_SIZE 64&lt;BR /&gt;#else&lt;BR /&gt;#define CONFIG_SYS_CACHELINE_SIZE 32&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;#define ROMCP_ARB_BASE_ADDR 0x00000000&lt;BR /&gt;#define ROMCP_ARB_END_ADDR 0x000FFFFF&lt;/P&gt;&lt;P&gt;#ifdef CONFIG_MX6SL&lt;BR /&gt;#define GPU_2D_ARB_BASE_ADDR 0x02200000&lt;BR /&gt;#define GPU_2D_ARB_END_ADDR 0x02203FFF&lt;BR /&gt;#define OPENVG_ARB_BASE_ADDR 0x02204000&lt;BR /&gt;#define OPENVG_ARB_END_ADDR 0x02207FFF&lt;/P&gt;&lt;P&gt;#elif (defined(CONFIG_MX6SX) || defined(CONFIG_MX6UL))&lt;BR /&gt;#define CAAM_ARB_BASE_ADDR 0x00100000&lt;BR /&gt;#define CAAM_ARB_END_ADDR 0x00107FFF&lt;BR /&gt;#define GPU_ARB_BASE_ADDR 0x01800000&lt;BR /&gt;#define GPU_ARB_END_ADDR 0x01803FFF&lt;BR /&gt;#define APBH_DMA_ARB_BASE_ADDR 0x01804000&lt;BR /&gt;#define APBH_DMA_ARB_END_ADDR 0x0180BFFF&lt;BR /&gt;#define M4_BOOTROM_BASE_ADDR 0x007F8000&lt;/P&gt;&lt;P&gt;#define MXS_APBH_BASE APBH_DMA_ARB_BASE_ADDR&lt;BR /&gt;#define MXS_GPMI_BASE (APBH_DMA_ARB_BASE_ADDR + 0x02000)&lt;BR /&gt;#define MXS_BCH_BASE (APBH_DMA_ARB_BASE_ADDR + 0x04000)&lt;/P&gt;&lt;P&gt;#else&lt;BR /&gt;#define CAAM_ARB_BASE_ADDR 0x00100000&lt;BR /&gt;#define CAAM_ARB_END_ADDR 0x00103FFF&lt;BR /&gt;#define APBH_DMA_ARB_BASE_ADDR 0x00110000&lt;BR /&gt;#define APBH_DMA_ARB_END_ADDR 0x00117FFF&lt;BR /&gt;#define HDMI_ARB_BASE_ADDR 0x00120000&lt;BR /&gt;#define HDMI_ARB_END_ADDR 0x00128FFF&lt;BR /&gt;#define GPU_3D_ARB_BASE_ADDR 0x00130000&lt;BR /&gt;#define GPU_3D_ARB_END_ADDR 0x00133FFF&lt;BR /&gt;#define GPU_2D_ARB_BASE_ADDR 0x00134000&lt;BR /&gt;#define GPU_2D_ARB_END_ADDR 0x00137FFF&lt;BR /&gt;#define DTCP_ARB_BASE_ADDR 0x00138000&lt;BR /&gt;#define DTCP_ARB_END_ADDR 0x0013BFFF&lt;/P&gt;&lt;P&gt;#define MXS_APBH_BASE APBH_DMA_ARB_BASE_ADDR&lt;BR /&gt;#define MXS_GPMI_BASE (APBH_DMA_ARB_BASE_ADDR + 0x02000)&lt;BR /&gt;#define MXS_BCH_BASE (APBH_DMA_ARB_BASE_ADDR + 0x04000)&lt;/P&gt;&lt;P&gt;#endif /* CONFIG_MX6SL */&lt;/P&gt;&lt;P&gt;/* GPV - PL301 configuration ports */&lt;BR /&gt;#if (defined(CONFIG_MX6SL) || defined(CONFIG_MX6SX) || defined(CONFIG_MX6UL))&lt;BR /&gt;#define GPV2_BASE_ADDR 0x00D00000&lt;BR /&gt;#else&lt;BR /&gt;#define GPV2_BASE_ADDR 0x00200000&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;#if (defined(CONFIG_MX6SX) || defined(CONFIG_MX6UL))&lt;BR /&gt;#define GPV3_BASE_ADDR 0x00E00000&lt;BR /&gt;#define GPV4_BASE_ADDR 0x00F00000&lt;BR /&gt;#define GPV5_BASE_ADDR 0x01000000&lt;BR /&gt;#define GPV6_BASE_ADDR 0x01100000&lt;BR /&gt;#define PCIE_ARB_BASE_ADDR 0x08000000&lt;BR /&gt;#define PCIE_ARB_END_ADDR 0x08FFFFFF&lt;BR /&gt;#else&lt;BR /&gt;#define GPV3_BASE_ADDR 0x00300000&lt;BR /&gt;#define GPV4_BASE_ADDR 0x00800000&lt;BR /&gt;#define PCIE_ARB_BASE_ADDR 0x01000000&lt;BR /&gt;#define PCIE_ARB_END_ADDR 0x01FFFFFF&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;#define IRAM_BASE_ADDR 0x00900000&lt;BR /&gt;#define SCU_BASE_ADDR 0x00A00000&lt;BR /&gt;#define IC_INTERFACES_BASE_ADDR 0x00A00100&lt;BR /&gt;#define GLOBAL_TIMER_BASE_ADDR 0x00A00200&lt;BR /&gt;#define PRIVATE_TIMERS_WD_BASE_ADDR 0x00A00600&lt;BR /&gt;#define IC_DISTRIBUTOR_BASE_ADDR 0x00A01000&lt;BR /&gt;#define L2_PL310_BASE 0x00A02000&lt;BR /&gt;#define GPV0_BASE_ADDR 0x00B00000&lt;BR /&gt;#define GPV1_BASE_ADDR 0x00C00000&lt;/P&gt;&lt;P&gt;#define AIPS1_ARB_BASE_ADDR 0x02000000&lt;BR /&gt;#define AIPS1_ARB_END_ADDR 0x020FFFFF&lt;BR /&gt;#define AIPS2_ARB_BASE_ADDR 0x02100000&lt;BR /&gt;#define AIPS2_ARB_END_ADDR 0x021FFFFF&lt;BR /&gt;#if (defined(CONFIG_MX6SX) || defined(CONFIG_MX6UL))&lt;BR /&gt;#define AIPS3_ARB_BASE_ADDR 0x02200000&lt;BR /&gt;#define AIPS3_ARB_END_ADDR 0x022FFFFF&lt;BR /&gt;#define WEIM_ARB_BASE_ADDR 0x50000000&lt;BR /&gt;#define WEIM_ARB_END_ADDR 0x57FFFFFF&lt;BR /&gt;#define QSPI1_ARB_BASE_ADDR 0x60000000&lt;BR /&gt;#define QSPI1_ARB_END_ADDR 0x6FFFFFFF&lt;BR /&gt;#define QSPI2_ARB_BASE_ADDR 0x70000000&lt;BR /&gt;#define QSPI2_ARB_END_ADDR 0x7FFFFFFF&lt;BR /&gt;#else&lt;BR /&gt;#define SATA_ARB_BASE_ADDR 0x02200000&lt;BR /&gt;#define SATA_ARB_END_ADDR 0x02203FFF&lt;BR /&gt;#define OPENVG_ARB_BASE_ADDR 0x02204000&lt;BR /&gt;#define OPENVG_ARB_END_ADDR 0x02207FFF&lt;BR /&gt;#define HSI_ARB_BASE_ADDR 0x02208000&lt;BR /&gt;#define HSI_ARB_END_ADDR 0x0220BFFF&lt;BR /&gt;#define IPU1_ARB_BASE_ADDR 0x02400000&lt;BR /&gt;#define IPU1_ARB_END_ADDR 0x027FFFFF&lt;BR /&gt;#define IPU2_ARB_BASE_ADDR 0x02800000&lt;BR /&gt;#define IPU2_ARB_END_ADDR 0x02BFFFFF&lt;BR /&gt;#define WEIM_ARB_BASE_ADDR 0x08000000&lt;BR /&gt;#define WEIM_ARB_END_ADDR 0x0FFFFFFF&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;#if (defined(CONFIG_MX6SL) || defined(CONFIG_MX6SX) || defined(CONFIG_MX6UL))&lt;BR /&gt;#define MMDC0_ARB_BASE_ADDR 0x80000000&lt;BR /&gt;#define MMDC0_ARB_END_ADDR 0xFFFFFFFF&lt;BR /&gt;#define MMDC1_ARB_BASE_ADDR 0xC0000000&lt;BR /&gt;#define MMDC1_ARB_END_ADDR 0xFFFFFFFF&lt;BR /&gt;#else&lt;BR /&gt;#define MMDC0_ARB_BASE_ADDR 0x10000000&lt;BR /&gt;#define MMDC0_ARB_END_ADDR 0x7FFFFFFF&lt;BR /&gt;#define MMDC1_ARB_BASE_ADDR 0x80000000&lt;BR /&gt;#define MMDC1_ARB_END_ADDR 0xFFFFFFFF&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;#if (!(defined(CONFIG_MX6SX) || defined(CONFIG_MX6UL)))&lt;BR /&gt;#define IPU_SOC_BASE_ADDR IPU1_ARB_BASE_ADDR&lt;BR /&gt;#define IPU_SOC_OFFSET 0x00200000&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;/* Defines for Blocks connected via AIPS (SkyBlue) */&lt;BR /&gt;#define ATZ1_BASE_ADDR AIPS1_ARB_BASE_ADDR&lt;BR /&gt;#define ATZ2_BASE_ADDR AIPS2_ARB_BASE_ADDR&lt;BR /&gt;#define AIPS1_BASE_ADDR AIPS1_ON_BASE_ADDR&lt;BR /&gt;#define AIPS2_BASE_ADDR AIPS2_ON_BASE_ADDR&lt;/P&gt;&lt;P&gt;#define SPDIF_BASE_ADDR (ATZ1_BASE_ADDR + 0x04000)&lt;BR /&gt;#define ECSPI1_BASE_ADDR (ATZ1_BASE_ADDR + 0x08000)&lt;BR /&gt;#define ECSPI2_BASE_ADDR (ATZ1_BASE_ADDR + 0x0C000)&lt;BR /&gt;#define ECSPI3_BASE_ADDR (ATZ1_BASE_ADDR + 0x10000)&lt;BR /&gt;#define ECSPI4_BASE_ADDR (ATZ1_BASE_ADDR + 0x14000)&lt;BR /&gt;#ifdef CONFIG_MX6SL&lt;BR /&gt;#define UART5_IPS_BASE_ADDR (ATZ1_BASE_ADDR + 0x18000)&lt;BR /&gt;#define UART1_IPS_BASE_ADDR (ATZ1_BASE_ADDR + 0x20000)&lt;BR /&gt;#define UART2_IPS_BASE_ADDR (ATZ1_BASE_ADDR + 0x24000)&lt;BR /&gt;#define SSI1_IPS_BASE_ADDR (ATZ1_BASE_ADDR + 0x28000)&lt;BR /&gt;#define SSI2_IPS_BASE_ADDR (ATZ1_BASE_ADDR + 0x2C000)&lt;BR /&gt;#define SSI3_IPS_BASE_ADDR (ATZ1_BASE_ADDR + 0x30000)&lt;BR /&gt;#define UART3_IPS_BASE_ADDR (ATZ1_BASE_ADDR + 0x34000)&lt;BR /&gt;#define UART4_IPS_BASE_ADDR (ATZ1_BASE_ADDR + 0x38000)&lt;BR /&gt;#else&lt;/P&gt;&lt;P&gt;#if defined(CONFIG_MX6UL)&lt;BR /&gt;#define UART7_IPS_BASE_ADDR (ATZ1_BASE_ADDR + 0x18000)&lt;BR /&gt;#elif !defined(CONFIG_MX6SX)&lt;BR /&gt;#define ECSPI5_BASE_ADDR (ATZ1_BASE_ADDR + 0x18000)&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;#define UART1_BASE (ATZ1_BASE_ADDR + 0x20000)&lt;BR /&gt;#if defined(CONFIG_MX6UL)&lt;BR /&gt;#define UART8_IPS_BASE_ADDR (ATZ1_BASE_ADDR + 0x24000)&lt;BR /&gt;#define SAI1_BASE_ADDR (ATZ1_BASE_ADDR + 0x28000)&lt;BR /&gt;#define SAI2_BASE_ADDR (ATZ1_BASE_ADDR + 0x2C000)&lt;BR /&gt;#define SAI3_BASE_ADDR (ATZ1_BASE_ADDR + 0x30000)&lt;BR /&gt;#else&lt;BR /&gt;#define ESAI1_BASE_ADDR (ATZ1_BASE_ADDR + 0x24000)&lt;BR /&gt;#define SSI1_BASE_ADDR (ATZ1_BASE_ADDR + 0x28000)&lt;BR /&gt;#define SSI2_BASE_ADDR (ATZ1_BASE_ADDR + 0x2C000)&lt;BR /&gt;#define SSI3_BASE_ADDR (ATZ1_BASE_ADDR + 0x30000)&lt;BR /&gt;#endif&lt;BR /&gt;#define ASRC_BASE_ADDR (ATZ1_BASE_ADDR + 0x34000)&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;#if defined(CONFIG_MX6UL)&lt;BR /&gt;#define TOUCH_CTRL_BASE_ADDR (ATZ1_BASE_ADDR + 0x40000)&lt;BR /&gt;#define BEE_BASE_ADDR (ATZ1_BASE_ADDR + 0x44000)&lt;BR /&gt;#elif !defined(CONFIG_MX6SX)&lt;BR /&gt;#define SPBA_BASE_ADDR (ATZ1_BASE_ADDR + 0x3C000)&lt;BR /&gt;#define VPU_BASE_ADDR (ATZ1_BASE_ADDR + 0x40000)&lt;BR /&gt;#endif&lt;BR /&gt;#define AIPS1_ON_BASE_ADDR (ATZ1_BASE_ADDR + 0x7C000)&lt;/P&gt;&lt;P&gt;#define AIPS1_OFF_BASE_ADDR (ATZ1_BASE_ADDR + 0x80000)&lt;BR /&gt;#define PWM1_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x0000)&lt;BR /&gt;#define PWM2_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x4000)&lt;BR /&gt;#define PWM3_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x8000)&lt;BR /&gt;#define PWM4_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0xC000)&lt;BR /&gt;#define CAN1_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x10000)&lt;BR /&gt;#define CAN2_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x14000)&lt;BR /&gt;#define GPT1_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x18000)&lt;BR /&gt;#define GPIO1_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x1C000)&lt;BR /&gt;#define GPIO2_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x20000)&lt;BR /&gt;#define GPIO3_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x24000)&lt;BR /&gt;#define GPIO4_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x28000)&lt;BR /&gt;#define GPIO5_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x2C000)&lt;BR /&gt;#if defined(CONFIG_MX6UL)&lt;BR /&gt;#define SNVS_LP_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x30000)&lt;BR /&gt;#define ENET2_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x34000)&lt;BR /&gt;#else&lt;BR /&gt;#define GPIO6_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x30000)&lt;BR /&gt;#define GPIO7_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x34000)&lt;BR /&gt;#endif&lt;BR /&gt;#define KPP_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x38000)&lt;BR /&gt;#define WDOG1_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x3C000)&lt;BR /&gt;#define WDOG2_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x40000)&lt;BR /&gt;#define ANATOP_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x48000)&lt;BR /&gt;#define USB_PHY0_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x49000)&lt;BR /&gt;#define USB_PHY1_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x4a000)&lt;BR /&gt;#define CCM_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x44000)&lt;BR /&gt;#define SNVS_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x4C000)&lt;BR /&gt;#define EPIT1_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x50000)&lt;BR /&gt;#define EPIT2_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x54000)&lt;BR /&gt;#define SRC_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x58000)&lt;BR /&gt;#define GPC_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x5C000)&lt;BR /&gt;#define IOMUXC_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x60000)&lt;BR /&gt;#define IOMUXC_GPR_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x64000)&lt;BR /&gt;#if defined(CONFIG_MX6SL)&lt;BR /&gt;#define CSI_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x64000)&lt;BR /&gt;#define SIPIX_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x68000)&lt;BR /&gt;#define SDMA_PORT_HOST_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x6C000)&lt;/P&gt;&lt;P&gt;#elif defined(CONFIG_MX6SX)&lt;BR /&gt;#define CANFD1_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x68000)&lt;BR /&gt;#define SDMA_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x6C000)&lt;BR /&gt;#define CANFD2_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x70000)&lt;BR /&gt;#define SEMAPHORE1_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x74000)&lt;BR /&gt;#define SEMAPHORE2_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x78000)&lt;BR /&gt;#define RDC_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x7C000)&lt;/P&gt;&lt;P&gt;#elif defined(CONFIG_MX6UL)&lt;BR /&gt;#define GPT2_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x68000)&lt;BR /&gt;#define SDMA_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x6C000)&lt;BR /&gt;#define PWM5_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x70000)&lt;BR /&gt;#define PWM6_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x74000)&lt;BR /&gt;#define PWM7_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x78000)&lt;BR /&gt;#define PWM8_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x7C000)&lt;BR /&gt;#else&lt;BR /&gt;#define DCIC1_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x64000)&lt;BR /&gt;#define DCIC2_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x68000)&lt;BR /&gt;#define DMA_REQ_PORT_HOST_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x6C000)&lt;BR /&gt;#endif&lt;BR /&gt;#define EPDC_BASE_ADDR (AIPS1_OFF_BASE_ADDR + 0x74000)&lt;/P&gt;&lt;P&gt;#define AIPS2_ON_BASE_ADDR (ATZ2_BASE_ADDR + 0x7C000)&lt;BR /&gt;#define AIPS2_OFF_BASE_ADDR (ATZ2_BASE_ADDR + 0x80000)&lt;BR /&gt;#if defined(CONFIG_MX6UL)&lt;BR /&gt;#define CAAM_BASE_ADDR (ATZ2_BASE_ADDR + 0x40000)&lt;BR /&gt;#define ARM_BASE_ADDR (ATZ2_BASE_ADDR)&lt;BR /&gt;#else&lt;BR /&gt;#define CAAM_BASE_ADDR (ATZ2_BASE_ADDR)&lt;BR /&gt;#define ARM_BASE_ADDR (ATZ2_BASE_ADDR + 0x40000)&lt;BR /&gt;#endif&lt;BR /&gt;#define CONFIG_SYS_FSL_SEC_ADDR CAAM_BASE_ADDR&lt;BR /&gt;#define CONFIG_SYS_FSL_JR0_ADDR (CAAM_BASE_ADDR + 0x1000)&lt;/P&gt;&lt;P&gt;#define USB_PL301_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x0000)&lt;BR /&gt;#define USB_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x4000)&lt;/P&gt;&lt;P&gt;#define ENET_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x8000)&lt;BR /&gt;#if defined(CONFIG_MX6SL)&lt;BR /&gt;#define MSHC_IPS_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0xC000)&lt;BR /&gt;#elif defined(CONFIG_MX6UL)&lt;BR /&gt;#define SIM1_IPS_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0xC000)&lt;BR /&gt;#else&lt;BR /&gt;#define MLB_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0xC000)&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;#define USDHC1_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x10000)&lt;BR /&gt;#define USDHC2_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x14000)&lt;BR /&gt;#if !defined(CONFIG_MX6UL)&lt;BR /&gt;#define USDHC3_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x18000)&lt;BR /&gt;#define USDHC4_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x1C000)&lt;BR /&gt;#else&lt;BR /&gt;#define ADC1_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x18000)&lt;BR /&gt;#define ADC2_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x1C000)&lt;BR /&gt;#endif&lt;BR /&gt;#define I2C1_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x20000)&lt;BR /&gt;#define I2C2_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x24000)&lt;BR /&gt;#define I2C3_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x28000)&lt;BR /&gt;#define ROMCP_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x2C000)&lt;BR /&gt;#define MMDC_P0_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x30000)&lt;BR /&gt;#if defined(CONFIG_MX6SL)&lt;BR /&gt;#define RNGB_IPS_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x34000)&lt;BR /&gt;#elif defined(CONFIG_MX6SX)&lt;BR /&gt;#define ENET2_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x34000)&lt;BR /&gt;#elif defined(CONFIG_MX6UL)&lt;BR /&gt;#define SIM2_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x34000)&lt;BR /&gt;#else&lt;BR /&gt;#define MMDC_P1_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x34000)&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;#define WEIM_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x38000)&lt;BR /&gt;#define OCOTP_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x3C000)&lt;BR /&gt;#define CSU_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x40000)&lt;BR /&gt;#if defined(CONFIG_MX6UL)&lt;BR /&gt;#define CSI_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x44000)&lt;BR /&gt;#define LCDIF1_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x48000)&lt;BR /&gt;#define LCDIF2_BASE_ADDR LCDIF1_BASE_ADDR&lt;BR /&gt;#define PXP_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x4C000)&lt;BR /&gt;#else&lt;BR /&gt;#define IP2APB_PERFMON1_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x44000)&lt;BR /&gt;#define IP2APB_PERFMON2_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x48000)&lt;BR /&gt;#ifdef CONFIG_MX6SX&lt;BR /&gt;#define DEBUG_MONITOR_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x4C000)&lt;BR /&gt;#else&lt;BR /&gt;#define IP2APB_PERFMON3_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x4C000)&lt;BR /&gt;#endif&lt;BR /&gt;#endif /* CONFIG_MX6UL */&lt;/P&gt;&lt;P&gt;#define IP2APB_TZASC1_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x50000)&lt;BR /&gt;#if defined(CONFIG_MX6UL)&lt;BR /&gt;#define SYSCNT_RD_IPS_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x54000)&lt;BR /&gt;#define SYSCNT_CMP_IPS_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x58000)&lt;BR /&gt;#define SYSCNT_CTRL_IPS_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x5C000)&lt;BR /&gt;#define QSPI1_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x60000)&lt;BR /&gt;#define WDOG3_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x64000)&lt;BR /&gt;#elif defined(CONFIG_MX6SX)&lt;BR /&gt;#define SAI1_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x54000)&lt;BR /&gt;#define AUDMUX_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x58000)&lt;BR /&gt;#define SAI2_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x5C000)&lt;BR /&gt;#define QSPI1_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x60000)&lt;BR /&gt;#define QSPI2_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x64000)&lt;BR /&gt;#else&lt;BR /&gt;#define IP2APB_TZASC2_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x54000)&lt;BR /&gt;#define MIPI_CSI2_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x5C000)&lt;BR /&gt;#define MIPI_DSI_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x60000)&lt;BR /&gt;#define VDOA_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x64000)&lt;BR /&gt;#endif&lt;BR /&gt;#define UART2_BASE (AIPS2_OFF_BASE_ADDR + 0x68000)&lt;BR /&gt;#define UART3_BASE (AIPS2_OFF_BASE_ADDR + 0x6C000)&lt;BR /&gt;#define UART4_BASE (AIPS2_OFF_BASE_ADDR + 0x70000)&lt;BR /&gt;#define UART5_BASE (AIPS2_OFF_BASE_ADDR + 0x74000)&lt;BR /&gt;#if defined(CONFIG_MX6SX)&lt;BR /&gt;#define I2C4_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x78000)&lt;BR /&gt;#define QOSC_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x7C000)&lt;BR /&gt;#elif defined(CONFIG_MX6UL)&lt;BR /&gt;#define I2C4_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x78000)&lt;BR /&gt;#define UART6_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x7C000)&lt;BR /&gt;#else&lt;BR /&gt;#define IP2APB_USBPHY1_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x78000)&lt;BR /&gt;#define IP2APB_USBPHY2_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x7C000)&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;#define OTG_BASE_ADDR USB_BASE_ADDR&lt;/P&gt;&lt;P&gt;#if defined(CONFIG_MX6UL)&lt;BR /&gt;#define SCTR_BASE_ADDR SYSCNT_CTRL_IPS_BASE_ADDR&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;#ifdef CONFIG_MX6SX&lt;BR /&gt;#define GIS_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x04000)&lt;BR /&gt;#define DCIC1_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x0C000)&lt;BR /&gt;#define DCIC2_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x10000)&lt;BR /&gt;#define CSI1_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x14000)&lt;BR /&gt;#define PXP_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x18000)&lt;BR /&gt;#define CSI2_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x1C000)&lt;BR /&gt;#define LCDIF1_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x20000)&lt;BR /&gt;#define LCDIF2_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x24000)&lt;BR /&gt;#define VADC_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x28000)&lt;BR /&gt;#define VDEC_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x2C000)&lt;BR /&gt;#define SPBA_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x3C000)&lt;BR /&gt;#define AIPS3_CONFIG_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x7C000)&lt;BR /&gt;#define ADC1_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x80000)&lt;BR /&gt;#define ADC2_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x84000)&lt;BR /&gt;#define WDOG3_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x88000)&lt;BR /&gt;#define ECSPI5_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x8C000)&lt;BR /&gt;#define HS_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x90000)&lt;BR /&gt;#define MU_MCU_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x94000)&lt;BR /&gt;#define CANFD_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x98000)&lt;BR /&gt;#define MU_DSP_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0x9C000)&lt;BR /&gt;#define UART6_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0xA0000)&lt;BR /&gt;#define PWM5_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0xA4000)&lt;BR /&gt;#define PWM6_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0xA8000)&lt;BR /&gt;#define PWM7_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0xAC000)&lt;BR /&gt;#define PWM8_BASE_ADDR (AIPS3_ARB_BASE_ADDR + 0xB0000)&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;#define CHIP_REV_1_0 0x10&lt;BR /&gt;#define CHIP_REV_1_1 0x11&lt;BR /&gt;#define CHIP_REV_1_2 0x12&lt;BR /&gt;#define CHIP_REV_1_3 0x13&lt;BR /&gt;#define CHIP_REV_1_4 0x14&lt;BR /&gt;#define CHIP_REV_1_5 0x15&lt;BR /&gt;#define CHIP_REV_2_0 0x20&lt;BR /&gt;#if (!(defined(CONFIG_MX6SX) || defined(CONFIG_MX6UL)))&lt;BR /&gt;#define IRAM_SIZE 0x00040000&lt;BR /&gt;#else&lt;BR /&gt;#define IRAM_SIZE 0x00040000 /* 0x00010000 for 1G; 0x00020000 for 2G 0x00040000 for 4G*/&lt;BR /&gt;#endif&lt;BR /&gt;#define FEC_QUIRK_ENET_MAC&lt;BR /&gt;#define SNVS_LPGPR 0x68&lt;/P&gt;&lt;P&gt;#if !(defined(__KERNEL_STRICT_NAMES) || defined(__ASSEMBLY__))&lt;BR /&gt;#include &amp;lt;asm/types.h&amp;gt;&lt;/P&gt;&lt;P&gt;extern void imx_get_mac_from_fuse(int dev_id, unsigned char *mac);&lt;/P&gt;&lt;P&gt;#define SRC_SCR_CORE_1_RESET_OFFSET 14&lt;BR /&gt;#define SRC_SCR_CORE_1_RESET_MASK (1&amp;lt;&amp;lt;SRC_SCR_CORE_1_RESET_OFFSET)&lt;BR /&gt;#define SRC_SCR_CORE_2_RESET_OFFSET 15&lt;BR /&gt;#define SRC_SCR_CORE_2_RESET_MASK (1&amp;lt;&amp;lt;SRC_SCR_CORE_2_RESET_OFFSET)&lt;BR /&gt;#define SRC_SCR_CORE_3_RESET_OFFSET 16&lt;BR /&gt;#define SRC_SCR_CORE_3_RESET_MASK (1&amp;lt;&amp;lt;SRC_SCR_CORE_3_RESET_OFFSET)&lt;BR /&gt;#define SRC_SCR_CORE_1_ENABLE_OFFSET 22&lt;BR /&gt;#define SRC_SCR_CORE_1_ENABLE_MASK (1&amp;lt;&amp;lt;SRC_SCR_CORE_1_ENABLE_OFFSET)&lt;BR /&gt;#define SRC_SCR_CORE_2_ENABLE_OFFSET 23&lt;BR /&gt;#define SRC_SCR_CORE_2_ENABLE_MASK (1&amp;lt;&amp;lt;SRC_SCR_CORE_2_ENABLE_OFFSET)&lt;BR /&gt;#define SRC_SCR_CORE_3_ENABLE_OFFSET 24&lt;BR /&gt;#define SRC_SCR_CORE_3_ENABLE_MASK (1&amp;lt;&amp;lt;SRC_SCR_CORE_3_ENABLE_OFFSET)&lt;/P&gt;&lt;P&gt;/* WEIM registers */&lt;BR /&gt;struct weim {&lt;BR /&gt; u32 cs0gcr1;&lt;BR /&gt; u32 cs0gcr2;&lt;BR /&gt; u32 cs0rcr1;&lt;BR /&gt; u32 cs0rcr2;&lt;BR /&gt; u32 cs0wcr1;&lt;BR /&gt; u32 cs0wcr2;&lt;/P&gt;&lt;P&gt;u32 cs1gcr1;&lt;BR /&gt; u32 cs1gcr2;&lt;BR /&gt; u32 cs1rcr1;&lt;BR /&gt; u32 cs1rcr2;&lt;BR /&gt; u32 cs1wcr1;&lt;BR /&gt; u32 cs1wcr2;&lt;/P&gt;&lt;P&gt;u32 cs2gcr1;&lt;BR /&gt; u32 cs2gcr2;&lt;BR /&gt; u32 cs2rcr1;&lt;BR /&gt; u32 cs2rcr2;&lt;BR /&gt; u32 cs2wcr1;&lt;BR /&gt; u32 cs2wcr2;&lt;/P&gt;&lt;P&gt;u32 cs3gcr1;&lt;BR /&gt; u32 cs3gcr2;&lt;BR /&gt; u32 cs3rcr1;&lt;BR /&gt; u32 cs3rcr2;&lt;BR /&gt; u32 cs3wcr1;&lt;BR /&gt; u32 cs3wcr2;&lt;/P&gt;&lt;P&gt;u32 unused[12];&lt;/P&gt;&lt;P&gt;u32 wcr;&lt;BR /&gt; u32 wiar;&lt;BR /&gt; u32 ear;&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;/* System Reset Controller (SRC) */&lt;BR /&gt;struct src {&lt;BR /&gt; u32 scr;&lt;BR /&gt; u32 sbmr1;&lt;BR /&gt; u32 srsr;&lt;BR /&gt; u32 reserved1[2];&lt;BR /&gt; u32 sisr;&lt;BR /&gt; u32 simr;&lt;BR /&gt; u32 sbmr2;&lt;BR /&gt; u32 gpr1;&lt;BR /&gt; u32 gpr2;&lt;BR /&gt; u32 gpr3;&lt;BR /&gt; u32 gpr4;&lt;BR /&gt; u32 gpr5;&lt;BR /&gt; u32 gpr6;&lt;BR /&gt; u32 gpr7;&lt;BR /&gt; u32 gpr8;&lt;BR /&gt; u32 gpr9;&lt;BR /&gt; u32 gpr10;&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;/* GPR1 bitfields */&lt;BR /&gt;#define IOMUXC_GPR1_ENET_CLK_SEL_OFFSET 21&lt;BR /&gt;#define IOMUXC_GPR1_ENET_CLK_SEL_MASK (1 &amp;lt;&amp;lt; IOMUXC_GPR1_ENET_CLK_SEL_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR1_USB_OTG_ID_OFFSET 13&lt;BR /&gt;#define IOMUXC_GPR1_USB_OTG_ID_SEL_MASK (1 &amp;lt;&amp;lt; IOMUXC_GPR1_USB_OTG_ID_OFFSET)&lt;/P&gt;&lt;P&gt;/* GPR3 bitfields */&lt;BR /&gt;#define IOMUXC_GPR3_GPU_DBG_OFFSET 29&lt;BR /&gt;#define IOMUXC_GPR3_GPU_DBG_MASK (3&amp;lt;&amp;lt;IOMUXC_GPR3_GPU_DBG_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR3_BCH_WR_CACHE_CTL_OFFSET 28&lt;BR /&gt;#define IOMUXC_GPR3_BCH_WR_CACHE_CTL_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR3_BCH_WR_CACHE_CTL_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR3_BCH_RD_CACHE_CTL_OFFSET 27&lt;BR /&gt;#define IOMUXC_GPR3_BCH_RD_CACHE_CTL_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR3_BCH_RD_CACHE_CTL_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR3_uSDHCx_WR_CACHE_CTL_OFFSET 26&lt;BR /&gt;#define IOMUXC_GPR3_uSDHCx_WR_CACHE_CTL_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR3_uSDHCx_WR_CACHE_CTL_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR3_uSDHCx_RD_CACHE_CTL_OFFSET 25&lt;BR /&gt;#define IOMUXC_GPR3_uSDHCx_RD_CACHE_CTL_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR3_uSDHCx_RD_CACHE_CTL_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR3_OCRAM_CTL_OFFSET 21&lt;BR /&gt;#define IOMUXC_GPR3_OCRAM_CTL_MASK (0xf&amp;lt;&amp;lt;IOMUXC_GPR3_OCRAM_CTL_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR3_OCRAM_STATUS_OFFSET 17&lt;BR /&gt;#define IOMUXC_GPR3_OCRAM_STATUS_MASK (0xf&amp;lt;&amp;lt;IOMUXC_GPR3_OCRAM_STATUS_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR3_CORE3_DBG_ACK_EN_OFFSET 16&lt;BR /&gt;#define IOMUXC_GPR3_CORE3_DBG_ACK_EN_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR3_CORE3_DBG_ACK_EN_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR3_CORE2_DBG_ACK_EN_OFFSET 15&lt;BR /&gt;#define IOMUXC_GPR3_CORE2_DBG_ACK_EN_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR3_CORE2_DBG_ACK_EN_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR3_CORE1_DBG_ACK_EN_OFFSET 14&lt;BR /&gt;#define IOMUXC_GPR3_CORE1_DBG_ACK_EN_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR3_CORE1_DBG_ACK_EN_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR3_CORE0_DBG_ACK_EN_OFFSET 13&lt;BR /&gt;#define IOMUXC_GPR3_CORE0_DBG_ACK_EN_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR3_CORE0_DBG_ACK_EN_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR3_TZASC2_BOOT_LOCK_OFFSET 12&lt;BR /&gt;#define IOMUXC_GPR3_TZASC2_BOOT_LOCK_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR3_TZASC2_BOOT_LOCK_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR3_TZASC1_BOOT_LOCK_OFFSET 11&lt;BR /&gt;#define IOMUXC_GPR3_TZASC1_BOOT_LOCK_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR3_TZASC1_BOOT_LOCK_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR3_IPU_DIAG_OFFSET 10&lt;BR /&gt;#define IOMUXC_GPR3_IPU_DIAG_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR3_IPU_DIAG_OFFSET)&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR3_MUX_SRC_IPU1_DI0 0&lt;BR /&gt;#define IOMUXC_GPR3_MUX_SRC_IPU1_DI1 1&lt;BR /&gt;#define IOMUXC_GPR3_MUX_SRC_IPU2_DI0 2&lt;BR /&gt;#define IOMUXC_GPR3_MUX_SRC_IPU2_DI1 3&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR3_LVDS1_MUX_CTL_OFFSET 8&lt;BR /&gt;#define IOMUXC_GPR3_LVDS1_MUX_CTL_MASK (3&amp;lt;&amp;lt;IOMUXC_GPR3_LVDS1_MUX_CTL_OFFSET)&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR3_LVDS0_MUX_CTL_OFFSET 6&lt;BR /&gt;#define IOMUXC_GPR3_LVDS0_MUX_CTL_MASK (3&amp;lt;&amp;lt;IOMUXC_GPR3_LVDS0_MUX_CTL_OFFSET)&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR3_MIPI_MUX_CTL_OFFSET 4&lt;BR /&gt;#define IOMUXC_GPR3_MIPI_MUX_CTL_MASK (3&amp;lt;&amp;lt;IOMUXC_GPR3_MIPI_MUX_CTL_OFFSET)&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR3_HDMI_MUX_CTL_OFFSET 2&lt;BR /&gt;#define IOMUXC_GPR3_HDMI_MUX_CTL_MASK (3&amp;lt;&amp;lt;IOMUXC_GPR3_HDMI_MUX_CTL_OFFSET)&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;struct iomuxc {&lt;BR /&gt;#if (defined(CONFIG_MX6SX) || defined(CONFIG_MX6UL))&lt;BR /&gt; u8 reserved[0x4000];&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;#ifdef CONFIG_MX6UL&lt;BR /&gt; u32 gpr[15];&lt;BR /&gt;#else&lt;BR /&gt; u32 gpr[14];&lt;BR /&gt;#endif&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;struct gpc {&lt;BR /&gt; u32 cntr;&lt;BR /&gt; u32 pgr;&lt;BR /&gt; u32 imr1;&lt;BR /&gt; u32 imr2;&lt;BR /&gt; u32 imr3;&lt;BR /&gt; u32 imr4;&lt;BR /&gt; u32 isr1;&lt;BR /&gt; u32 isr2;&lt;BR /&gt; u32 isr3;&lt;BR /&gt; u32 isr4;&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR2_COUNTER_RESET_VAL_OFFSET 20&lt;BR /&gt;#define IOMUXC_GPR2_COUNTER_RESET_VAL_MASK (3&amp;lt;&amp;lt;IOMUXC_GPR2_COUNTER_RESET_VAL_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_LVDS_CLK_SHIFT_OFFSET 16&lt;BR /&gt;#define IOMUXC_GPR2_LVDS_CLK_SHIFT_MASK (7&amp;lt;&amp;lt;IOMUXC_GPR2_LVDS_CLK_SHIFT_OFFSET)&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR2_BGREF_RRMODE_OFFSET 15&lt;BR /&gt;#define IOMUXC_GPR2_BGREF_RRMODE_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR2_BGREF_RRMODE_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_BGREF_RRMODE_INTERNAL_RES (1&amp;lt;&amp;lt;IOMUXC_GPR2_BGREF_RRMODE_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_BGREF_RRMODE_EXTERNAL_RES (0&amp;lt;&amp;lt;IOMUXC_GPR2_BGREF_RRMODE_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_VSYNC_ACTIVE_HIGH 0&lt;BR /&gt;#define IOMUXC_GPR2_VSYNC_ACTIVE_LOW 1&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR2_DI1_VS_POLARITY_OFFSET 10&lt;BR /&gt;#define IOMUXC_GPR2_DI1_VS_POLARITY_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR2_DI1_VS_POLARITY_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_DI1_VS_POLARITY_ACTIVE_HIGH (IOMUXC_GPR2_VSYNC_ACTIVE_HIGH&amp;lt;&amp;lt;IOMUXC_GPR2_DI1_VS_POLARITY_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_DI1_VS_POLARITY_ACTIVE_LOW (IOMUXC_GPR2_VSYNC_ACTIVE_LOW&amp;lt;&amp;lt;IOMUXC_GPR2_DI1_VS_POLARITY_OFFSET)&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR2_DI0_VS_POLARITY_OFFSET 9&lt;BR /&gt;#define IOMUXC_GPR2_DI0_VS_POLARITY_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR2_DI0_VS_POLARITY_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_DI0_VS_POLARITY_ACTIVE_HIGH (IOMUXC_GPR2_VSYNC_ACTIVE_HIGH&amp;lt;&amp;lt;IOMUXC_GPR2_DI0_VS_POLARITY_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_DI0_VS_POLARITY_ACTIVE_LOW (IOMUXC_GPR2_VSYNC_ACTIVE_LOW&amp;lt;&amp;lt;IOMUXC_GPR2_DI0_VS_POLARITY_OFFSET)&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR2_BITMAP_SPWG 0&lt;BR /&gt;#define IOMUXC_GPR2_BITMAP_JEIDA 1&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR2_BIT_MAPPING_CH1_OFFSET 8&lt;BR /&gt;#define IOMUXC_GPR2_BIT_MAPPING_CH1_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR2_BIT_MAPPING_CH1_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_BIT_MAPPING_CH1_JEIDA (IOMUXC_GPR2_BITMAP_JEIDA&amp;lt;&amp;lt;IOMUXC_GPR2_BIT_MAPPING_CH1_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_BIT_MAPPING_CH1_SPWG (IOMUXC_GPR2_BITMAP_SPWG&amp;lt;&amp;lt;IOMUXC_GPR2_BIT_MAPPING_CH1_OFFSET)&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR2_DATA_WIDTH_18 0&lt;BR /&gt;#define IOMUXC_GPR2_DATA_WIDTH_24 1&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR2_DATA_WIDTH_CH1_OFFSET 7&lt;BR /&gt;#define IOMUXC_GPR2_DATA_WIDTH_CH1_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR2_DATA_WIDTH_CH1_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_DATA_WIDTH_CH1_18BIT (IOMUXC_GPR2_DATA_WIDTH_18&amp;lt;&amp;lt;IOMUXC_GPR2_DATA_WIDTH_CH1_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_DATA_WIDTH_CH1_24BIT (IOMUXC_GPR2_DATA_WIDTH_24&amp;lt;&amp;lt;IOMUXC_GPR2_DATA_WIDTH_CH1_OFFSET)&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR2_BIT_MAPPING_CH0_OFFSET 6&lt;BR /&gt;#define IOMUXC_GPR2_BIT_MAPPING_CH0_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR2_BIT_MAPPING_CH0_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_BIT_MAPPING_CH0_JEIDA (IOMUXC_GPR2_BITMAP_JEIDA&amp;lt;&amp;lt;IOMUXC_GPR2_BIT_MAPPING_CH0_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_BIT_MAPPING_CH0_SPWG (IOMUXC_GPR2_BITMAP_SPWG&amp;lt;&amp;lt;IOMUXC_GPR2_BIT_MAPPING_CH0_OFFSET)&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR2_DATA_WIDTH_CH0_OFFSET 5&lt;BR /&gt;#define IOMUXC_GPR2_DATA_WIDTH_CH0_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR2_DATA_WIDTH_CH0_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_DATA_WIDTH_CH0_18BIT (IOMUXC_GPR2_DATA_WIDTH_18&amp;lt;&amp;lt;IOMUXC_GPR2_DATA_WIDTH_CH0_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_DATA_WIDTH_CH0_24BIT (IOMUXC_GPR2_DATA_WIDTH_24&amp;lt;&amp;lt;IOMUXC_GPR2_DATA_WIDTH_CH0_OFFSET)&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR2_SPLIT_MODE_EN_OFFSET 4&lt;BR /&gt;#define IOMUXC_GPR2_SPLIT_MODE_EN_MASK (1&amp;lt;&amp;lt;IOMUXC_GPR2_SPLIT_MODE_EN_OFFSET)&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR2_MODE_DISABLED 0&lt;BR /&gt;#define IOMUXC_GPR2_MODE_ENABLED_DI0 1&lt;BR /&gt;#define IOMUXC_GPR2_MODE_ENABLED_DI1 3&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR2_LVDS_CH1_MODE_OFFSET 2&lt;BR /&gt;#define IOMUXC_GPR2_LVDS_CH1_MODE_MASK (3&amp;lt;&amp;lt;IOMUXC_GPR2_LVDS_CH1_MODE_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_LVDS_CH1_MODE_DISABLED (IOMUXC_GPR2_MODE_DISABLED&amp;lt;&amp;lt;IOMUXC_GPR2_LVDS_CH1_MODE_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_LVDS_CH1_MODE_ENABLED_DI0 (IOMUXC_GPR2_MODE_ENABLED_DI0&amp;lt;&amp;lt;IOMUXC_GPR2_LVDS_CH1_MODE_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_LVDS_CH1_MODE_ENABLED_DI1 (IOMUXC_GPR2_MODE_ENABLED_DI1&amp;lt;&amp;lt;IOMUXC_GPR2_LVDS_CH1_MODE_OFFSET)&lt;/P&gt;&lt;P&gt;#define IOMUXC_GPR2_LVDS_CH0_MODE_OFFSET 0&lt;BR /&gt;#define IOMUXC_GPR2_LVDS_CH0_MODE_MASK (3&amp;lt;&amp;lt;IOMUXC_GPR2_LVDS_CH0_MODE_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_LVDS_CH0_MODE_DISABLED (IOMUXC_GPR2_MODE_DISABLED&amp;lt;&amp;lt;IOMUXC_GPR2_LVDS_CH0_MODE_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_LVDS_CH0_MODE_ENABLED_DI0 (IOMUXC_GPR2_MODE_ENABLED_DI0&amp;lt;&amp;lt;IOMUXC_GPR2_LVDS_CH0_MODE_OFFSET)&lt;BR /&gt;#define IOMUXC_GPR2_LVDS_CH0_MODE_ENABLED_DI1 (IOMUXC_GPR2_MODE_ENABLED_DI1&amp;lt;&amp;lt;IOMUXC_GPR2_LVDS_CH0_MODE_OFFSET)&lt;/P&gt;&lt;P&gt;#ifdef CONFIG_MX6SX&lt;BR /&gt;#define IMX6SX_GPR5_CSI1_MUX_CTRL_MASK (0x3 &amp;lt;&amp;lt; 4)&lt;BR /&gt;#define IMX6SX_GPR5_CSI1_MUX_CTRL_EXT_PIN (0x0 &amp;lt;&amp;lt; 4)&lt;BR /&gt;#define IMX6SX_GPR5_CSI1_MUX_CTRL_CVD (0x1 &amp;lt;&amp;lt; 4)&lt;BR /&gt;#define IMX6SX_GPR5_CSI1_MUX_CTRL_VDAC_TO_CSI (0x2 &amp;lt;&amp;lt; 4)&lt;BR /&gt;#define IMX6SX_GPR5_CSI1_MUX_CTRL_GND (0x3 &amp;lt;&amp;lt; 4)&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;/* ECSPI registers */&lt;BR /&gt;struct cspi_regs {&lt;BR /&gt; u32 rxdata;&lt;BR /&gt; u32 txdata;&lt;BR /&gt; u32 ctrl;&lt;BR /&gt; u32 cfg;&lt;BR /&gt; u32 intr;&lt;BR /&gt; u32 dma;&lt;BR /&gt; u32 stat;&lt;BR /&gt; u32 period;&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;/*&lt;BR /&gt; * CSPI register definitions&lt;BR /&gt; */&lt;BR /&gt;#define MXC_ECSPI&lt;BR /&gt;#define MXC_CSPICTRL_EN (1 &amp;lt;&amp;lt; 0)&lt;BR /&gt;#define MXC_CSPICTRL_MODE (1 &amp;lt;&amp;lt; 1)&lt;BR /&gt;#define MXC_CSPICTRL_XCH (1 &amp;lt;&amp;lt; 2)&lt;BR /&gt;#define MXC_CSPICTRL_MODE_MASK (0xf &amp;lt;&amp;lt; 4)&lt;BR /&gt;#define MXC_CSPICTRL_CHIPSELECT(x) (((x) &amp;amp; 0x3) &amp;lt;&amp;lt; 12)&lt;BR /&gt;#define MXC_CSPICTRL_BITCOUNT(x) (((x) &amp;amp; 0xfff) &amp;lt;&amp;lt; 20)&lt;BR /&gt;#define MXC_CSPICTRL_PREDIV(x) (((x) &amp;amp; 0xF) &amp;lt;&amp;lt; 12)&lt;BR /&gt;#define MXC_CSPICTRL_POSTDIV(x) (((x) &amp;amp; 0xF) &amp;lt;&amp;lt; 8)&lt;BR /&gt;#define MXC_CSPICTRL_SELCHAN(x) (((x) &amp;amp; 0x3) &amp;lt;&amp;lt; 18)&lt;BR /&gt;#define MXC_CSPICTRL_MAXBITS 0xfff&lt;BR /&gt;#define MXC_CSPICTRL_TC (1 &amp;lt;&amp;lt; 7)&lt;BR /&gt;#define MXC_CSPICTRL_RXOVF (1 &amp;lt;&amp;lt; 6)&lt;BR /&gt;#define MXC_CSPIPERIOD_32KHZ (1 &amp;lt;&amp;lt; 15)&lt;BR /&gt;#define MAX_SPI_BYTES 32&lt;BR /&gt;#if defined(CONFIG_MX6SL) || defined(CONFIG_MX6DL) || defined(CONFIG_MX6UL)&lt;BR /&gt;#define SPI_MAX_NUM 3&lt;BR /&gt;#else&lt;BR /&gt;#define SPI_MAX_NUM 4&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;/* Bit position inside CTRL register to be associated with SS */&lt;BR /&gt;#define MXC_CSPICTRL_CHAN 18&lt;/P&gt;&lt;P&gt;/* Bit position inside CON register to be associated with SS */&lt;BR /&gt;#define MXC_CSPICON_PHA 0 /* SCLK phase control */&lt;BR /&gt;#define MXC_CSPICON_POL 4 /* SCLK polarity */&lt;BR /&gt;#define MXC_CSPICON_SSPOL 12 /* SS polarity */&lt;BR /&gt;#define MXC_CSPICON_CTL 20 /* inactive state of SCLK */&lt;BR /&gt;#if defined(CONFIG_MX6SL) || defined(CONFIG_MX6DL) || defined(CONFIG_MX6UL)&lt;BR /&gt;#define MXC_SPI_BASE_ADDRESSES \&lt;BR /&gt; ECSPI1_BASE_ADDR, \&lt;BR /&gt; ECSPI2_BASE_ADDR, \&lt;BR /&gt; ECSPI3_BASE_ADDR, \&lt;BR /&gt; ECSPI4_BASE_ADDR&lt;BR /&gt;#else&lt;BR /&gt;#define MXC_SPI_BASE_ADDRESSES \&lt;BR /&gt; ECSPI1_BASE_ADDR, \&lt;BR /&gt; ECSPI2_BASE_ADDR, \&lt;BR /&gt; ECSPI3_BASE_ADDR, \&lt;BR /&gt; ECSPI4_BASE_ADDR, \&lt;BR /&gt; ECSPI5_BASE_ADDR&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;#define ANATOP_PLL_VIDEO 0xA0&lt;/P&gt;&lt;P&gt;struct ocotp_regs {&lt;BR /&gt; u32 ctrl;&lt;BR /&gt; u32 ctrl_set;&lt;BR /&gt; u32 ctrl_clr;&lt;BR /&gt; u32 ctrl_tog;&lt;BR /&gt; u32 timing;&lt;BR /&gt; u32 rsvd0[3];&lt;BR /&gt; u32 data;&lt;BR /&gt; u32 rsvd1[3];&lt;BR /&gt; u32 read_ctrl;&lt;BR /&gt; u32 rsvd2[3];&lt;BR /&gt; u32 read_fuse_data;&lt;BR /&gt; u32 rsvd3[3];&lt;BR /&gt; u32 sw_sticky;&lt;BR /&gt; u32 rsvd4[3];&lt;BR /&gt; u32 scs;&lt;BR /&gt; u32 scs_set;&lt;BR /&gt; u32 scs_clr;&lt;BR /&gt; u32 scs_tog;&lt;BR /&gt; u32 crc_addr;&lt;BR /&gt; u32 rsvd5[3];&lt;BR /&gt; u32 crc_value;&lt;BR /&gt; u32 rsvd6[3];&lt;BR /&gt; u32 version;&lt;BR /&gt; u32 rsvd7[0xdb];&lt;/P&gt;&lt;P&gt;/* fuse banks */&lt;BR /&gt; struct fuse_bank {&lt;BR /&gt; u32 fuse_regs[0x20];&lt;BR /&gt; } bank[0];&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;struct fuse_bank0_regs {&lt;BR /&gt; u32 lock;&lt;BR /&gt; u32 rsvd0[3];&lt;BR /&gt; u32 uid_low;&lt;BR /&gt; u32 rsvd1[3];&lt;BR /&gt; u32 uid_high;&lt;BR /&gt; u32 rsvd2[3];&lt;BR /&gt; u32 cfg2;&lt;BR /&gt; u32 rsvd3[3];&lt;BR /&gt; u32 cfg3;&lt;BR /&gt; u32 rsvd4[3];&lt;BR /&gt; u32 cfg4;&lt;BR /&gt; u32 rsvd5[3];&lt;BR /&gt; u32 cfg5;&lt;BR /&gt; u32 rsvd6[3];&lt;BR /&gt; u32 cfg6;&lt;BR /&gt; u32 rsvd7[3];&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;struct fuse_bank1_regs {&lt;BR /&gt; u32 mem[0x18];&lt;BR /&gt; u32 ana1;&lt;BR /&gt; u32 rsvd1[3];&lt;BR /&gt; u32 ana2;&lt;BR /&gt; u32 rsvd2[3];&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;#if (defined(CONFIG_MX6SX) || defined(CONFIG_MX6UL))&lt;BR /&gt;struct fuse_bank4_regs {&lt;BR /&gt; u32 sjc_resp_low;&lt;BR /&gt; u32 rsvd0[3];&lt;BR /&gt; u32 sjc_resp_high;&lt;BR /&gt; u32 rsvd1[3];&lt;BR /&gt; u32 mac_addr0;&lt;BR /&gt; u32 rsvd2[3];&lt;BR /&gt; u32 mac_addr1;&lt;BR /&gt; u32 rsvd3[3];&lt;BR /&gt; u32 mac_addr2;&lt;BR /&gt; u32 rsvd4[7];&lt;BR /&gt; u32 gp1;&lt;BR /&gt; u32 rsvd5[3];&lt;BR /&gt; u32 gp2;&lt;BR /&gt; u32 rsvd6[3];&lt;BR /&gt;};&lt;BR /&gt;#else&lt;BR /&gt;struct fuse_bank4_regs {&lt;BR /&gt; u32 sjc_resp_low;&lt;BR /&gt; u32 rsvd0[3];&lt;BR /&gt; u32 sjc_resp_high;&lt;BR /&gt; u32 rsvd1[3];&lt;BR /&gt; u32 mac_addr_low;&lt;BR /&gt; u32 rsvd2[3];&lt;BR /&gt; u32 mac_addr_high;&lt;BR /&gt; u32 rsvd3[0xb];&lt;BR /&gt; u32 gp1;&lt;BR /&gt; u32 rsvd4[3];&lt;BR /&gt; u32 gp2;&lt;BR /&gt; u32 rsvd5[3];&lt;BR /&gt;};&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;struct aipstz_regs {&lt;BR /&gt; u32 mprot0;&lt;BR /&gt; u32 mprot1;&lt;BR /&gt; u32 rsvd[0xe];&lt;BR /&gt; u32 opacr0;&lt;BR /&gt; u32 opacr1;&lt;BR /&gt; u32 opacr2;&lt;BR /&gt; u32 opacr3;&lt;BR /&gt; u32 opacr4;&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;struct anatop_regs {&lt;BR /&gt; u32 pll_sys; /* 0x000 */&lt;BR /&gt; u32 pll_sys_set; /* 0x004 */&lt;BR /&gt; u32 pll_sys_clr; /* 0x008 */&lt;BR /&gt; u32 pll_sys_tog; /* 0x00c */&lt;BR /&gt; u32 usb1_pll_480_ctrl; /* 0x010 */&lt;BR /&gt; u32 usb1_pll_480_ctrl_set; /* 0x014 */&lt;BR /&gt; u32 usb1_pll_480_ctrl_clr; /* 0x018 */&lt;BR /&gt; u32 usb1_pll_480_ctrl_tog; /* 0x01c */&lt;BR /&gt; u32 usb2_pll_480_ctrl; /* 0x020 */&lt;BR /&gt; u32 usb2_pll_480_ctrl_set; /* 0x024 */&lt;BR /&gt; u32 usb2_pll_480_ctrl_clr; /* 0x028 */&lt;BR /&gt; u32 usb2_pll_480_ctrl_tog; /* 0x02c */&lt;BR /&gt; u32 pll_528; /* 0x030 */&lt;BR /&gt; u32 pll_528_set; /* 0x034 */&lt;BR /&gt; u32 pll_528_clr; /* 0x038 */&lt;BR /&gt; u32 pll_528_tog; /* 0x03c */&lt;BR /&gt; u32 pll_528_ss; /* 0x040 */&lt;BR /&gt; u32 rsvd0[3];&lt;BR /&gt; u32 pll_528_num; /* 0x050 */&lt;BR /&gt; u32 rsvd1[3];&lt;BR /&gt; u32 pll_528_denom; /* 0x060 */&lt;BR /&gt; u32 rsvd2[3];&lt;BR /&gt; u32 pll_audio; /* 0x070 */&lt;BR /&gt; u32 pll_audio_set; /* 0x074 */&lt;BR /&gt; u32 pll_audio_clr; /* 0x078 */&lt;BR /&gt; u32 pll_audio_tog; /* 0x07c */&lt;BR /&gt; u32 pll_audio_num; /* 0x080 */&lt;BR /&gt; u32 rsvd3[3];&lt;BR /&gt; u32 pll_audio_denom; /* 0x090 */&lt;BR /&gt; u32 rsvd4[3];&lt;BR /&gt; u32 pll_video; /* 0x0a0 */&lt;BR /&gt; u32 pll_video_set; /* 0x0a4 */&lt;BR /&gt; u32 pll_video_clr; /* 0x0a8 */&lt;BR /&gt; u32 pll_video_tog; /* 0x0ac */&lt;BR /&gt; u32 pll_video_num; /* 0x0b0 */&lt;BR /&gt; u32 rsvd5[3];&lt;BR /&gt; u32 pll_video_denom; /* 0x0c0 */&lt;BR /&gt; u32 rsvd6[3];&lt;BR /&gt; u32 pll_mlb; /* 0x0d0 */&lt;BR /&gt; u32 pll_mlb_set; /* 0x0d4 */&lt;BR /&gt; u32 pll_mlb_clr; /* 0x0d8 */&lt;BR /&gt; u32 pll_mlb_tog; /* 0x0dc */&lt;BR /&gt; u32 pll_enet; /* 0x0e0 */&lt;BR /&gt; u32 pll_enet_set; /* 0x0e4 */&lt;BR /&gt; u32 pll_enet_clr; /* 0x0e8 */&lt;BR /&gt; u32 pll_enet_tog; /* 0x0ec */&lt;BR /&gt; u32 pfd_480; /* 0x0f0 */&lt;BR /&gt; u32 pfd_480_set; /* 0x0f4 */&lt;BR /&gt; u32 pfd_480_clr; /* 0x0f8 */&lt;BR /&gt; u32 pfd_480_tog; /* 0x0fc */&lt;BR /&gt; u32 pfd_528; /* 0x100 */&lt;BR /&gt; u32 pfd_528_set; /* 0x104 */&lt;BR /&gt; u32 pfd_528_clr; /* 0x108 */&lt;BR /&gt; u32 pfd_528_tog; /* 0x10c */&lt;BR /&gt; u32 reg_1p1; /* 0x110 */&lt;BR /&gt; u32 reg_1p1_set; /* 0x114 */&lt;BR /&gt; u32 reg_1p1_clr; /* 0x118 */&lt;BR /&gt; u32 reg_1p1_tog; /* 0x11c */&lt;BR /&gt; u32 reg_3p0; /* 0x120 */&lt;BR /&gt; u32 reg_3p0_set; /* 0x124 */&lt;BR /&gt; u32 reg_3p0_clr; /* 0x128 */&lt;BR /&gt; u32 reg_3p0_tog; /* 0x12c */&lt;BR /&gt; u32 reg_2p5; /* 0x130 */&lt;BR /&gt; u32 reg_2p5_set; /* 0x134 */&lt;BR /&gt; u32 reg_2p5_clr; /* 0x138 */&lt;BR /&gt; u32 reg_2p5_tog; /* 0x13c */&lt;BR /&gt; u32 reg_core; /* 0x140 */&lt;BR /&gt; u32 reg_core_set; /* 0x144 */&lt;BR /&gt; u32 reg_core_clr; /* 0x148 */&lt;BR /&gt; u32 reg_core_tog; /* 0x14c */&lt;BR /&gt; u32 ana_misc0; /* 0x150 */&lt;BR /&gt; u32 ana_misc0_set; /* 0x154 */&lt;BR /&gt; u32 ana_misc0_clr; /* 0x158 */&lt;BR /&gt; u32 ana_misc0_tog; /* 0x15c */&lt;BR /&gt; u32 ana_misc1; /* 0x160 */&lt;BR /&gt; u32 ana_misc1_set; /* 0x164 */&lt;BR /&gt; u32 ana_misc1_clr; /* 0x168 */&lt;BR /&gt; u32 ana_misc1_tog; /* 0x16c */&lt;BR /&gt; u32 ana_misc2; /* 0x170 */&lt;BR /&gt; u32 ana_misc2_set; /* 0x174 */&lt;BR /&gt; u32 ana_misc2_clr; /* 0x178 */&lt;BR /&gt; u32 ana_misc2_tog; /* 0x17c */&lt;BR /&gt; u32 tempsense0; /* 0x180 */&lt;BR /&gt; u32 tempsense0_set; /* 0x184 */&lt;BR /&gt; u32 tempsense0_clr; /* 0x188 */&lt;BR /&gt; u32 tempsense0_tog; /* 0x18c */&lt;BR /&gt; u32 tempsense1; /* 0x190 */&lt;BR /&gt; u32 tempsense1_set; /* 0x194 */&lt;BR /&gt; u32 tempsense1_clr; /* 0x198 */&lt;BR /&gt; u32 tempsense1_tog; /* 0x19c */&lt;BR /&gt; u32 usb1_vbus_detect; /* 0x1a0 */&lt;BR /&gt; u32 usb1_vbus_detect_set; /* 0x1a4 */&lt;BR /&gt; u32 usb1_vbus_detect_clr; /* 0x1a8 */&lt;BR /&gt; u32 usb1_vbus_detect_tog; /* 0x1ac */&lt;BR /&gt; u32 usb1_chrg_detect; /* 0x1b0 */&lt;BR /&gt; u32 usb1_chrg_detect_set; /* 0x1b4 */&lt;BR /&gt; u32 usb1_chrg_detect_clr; /* 0x1b8 */&lt;BR /&gt; u32 usb1_chrg_detect_tog; /* 0x1bc */&lt;BR /&gt; u32 usb1_vbus_det_stat; /* 0x1c0 */&lt;BR /&gt; u32 usb1_vbus_det_stat_set; /* 0x1c4 */&lt;BR /&gt; u32 usb1_vbus_det_stat_clr; /* 0x1c8 */&lt;BR /&gt; u32 usb1_vbus_det_stat_tog; /* 0x1cc */&lt;BR /&gt; u32 usb1_chrg_det_stat; /* 0x1d0 */&lt;BR /&gt; u32 usb1_chrg_det_stat_set; /* 0x1d4 */&lt;BR /&gt; u32 usb1_chrg_det_stat_clr; /* 0x1d8 */&lt;BR /&gt; u32 usb1_chrg_det_stat_tog; /* 0x1dc */&lt;BR /&gt; u32 usb1_loopback; /* 0x1e0 */&lt;BR /&gt; u32 usb1_loopback_set; /* 0x1e4 */&lt;BR /&gt; u32 usb1_loopback_clr; /* 0x1e8 */&lt;BR /&gt; u32 usb1_loopback_tog; /* 0x1ec */&lt;BR /&gt; u32 usb1_misc; /* 0x1f0 */&lt;BR /&gt; u32 usb1_misc_set; /* 0x1f4 */&lt;BR /&gt; u32 usb1_misc_clr; /* 0x1f8 */&lt;BR /&gt; u32 usb1_misc_tog; /* 0x1fc */&lt;BR /&gt; u32 usb2_vbus_detect; /* 0x200 */&lt;BR /&gt; u32 usb2_vbus_detect_set; /* 0x204 */&lt;BR /&gt; u32 usb2_vbus_detect_clr; /* 0x208 */&lt;BR /&gt; u32 usb2_vbus_detect_tog; /* 0x20c */&lt;BR /&gt; u32 usb2_chrg_detect; /* 0x210 */&lt;BR /&gt; u32 usb2_chrg_detect_set; /* 0x214 */&lt;BR /&gt; u32 usb2_chrg_detect_clr; /* 0x218 */&lt;BR /&gt; u32 usb2_chrg_detect_tog; /* 0x21c */&lt;BR /&gt; u32 usb2_vbus_det_stat; /* 0x220 */&lt;BR /&gt; u32 usb2_vbus_det_stat_set; /* 0x224 */&lt;BR /&gt; u32 usb2_vbus_det_stat_clr; /* 0x228 */&lt;BR /&gt; u32 usb2_vbus_det_stat_tog; /* 0x22c */&lt;BR /&gt; u32 usb2_chrg_det_stat; /* 0x230 */&lt;BR /&gt; u32 usb2_chrg_det_stat_set; /* 0x234 */&lt;BR /&gt; u32 usb2_chrg_det_stat_clr; /* 0x238 */&lt;BR /&gt; u32 usb2_chrg_det_stat_tog; /* 0x23c */&lt;BR /&gt; u32 usb2_loopback; /* 0x240 */&lt;BR /&gt; u32 usb2_loopback_set; /* 0x244 */&lt;BR /&gt; u32 usb2_loopback_clr; /* 0x248 */&lt;BR /&gt; u32 usb2_loopback_tog; /* 0x24c */&lt;BR /&gt; u32 usb2_misc; /* 0x250 */&lt;BR /&gt; u32 usb2_misc_set; /* 0x254 */&lt;BR /&gt; u32 usb2_misc_clr; /* 0x258 */&lt;BR /&gt; u32 usb2_misc_tog; /* 0x25c */&lt;BR /&gt; u32 digprog; /* 0x260 */&lt;BR /&gt; u32 reserved1[7];&lt;BR /&gt; u32 digprog_sololite; /* 0x280 */&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;#define ANATOP_PFD_FRAC_SHIFT(n) ((n)*8)&lt;BR /&gt;#define ANATOP_PFD_FRAC_MASK(n) (0x3f&amp;lt;&amp;lt;ANATOP_PFD_FRAC_SHIFT(n))&lt;BR /&gt;#define ANATOP_PFD_STABLE_SHIFT(n) (6+((n)*8))&lt;BR /&gt;#define ANATOP_PFD_STABLE_MASK(n) (1&amp;lt;&amp;lt;ANATOP_PFD_STABLE_SHIFT(n))&lt;BR /&gt;#define ANATOP_PFD_CLKGATE_SHIFT(n) (7+((n)*8))&lt;BR /&gt;#define ANATOP_PFD_CLKGATE_MASK(n) (1&amp;lt;&amp;lt;ANATOP_PFD_CLKGATE_SHIFT(n))&lt;/P&gt;&lt;P&gt;struct iomuxc_gpr_base_regs {&lt;BR /&gt;#if defined(CONFIG_MX6UL)&lt;BR /&gt; u32 gpr[15]; /* 0x000 */&lt;BR /&gt;#else&lt;BR /&gt; u32 gpr[14]; /* 0x000 */&lt;BR /&gt;#endif&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;struct iomuxc_base_regs {&lt;BR /&gt;#if !(defined(CONFIG_MX6SX) || defined(CONFIG_MX6UL))&lt;BR /&gt; u32 gpr[14]; /* 0x000 */&lt;BR /&gt;#endif&lt;BR /&gt; u32 obsrv[5]; /* 0x038 */&lt;BR /&gt; u32 swmux_ctl[197]; /* 0x04c */&lt;BR /&gt; u32 swpad_ctl[250]; /* 0x360 */&lt;BR /&gt; u32 swgrp[26]; /* 0x748 */&lt;BR /&gt; u32 daisy[104]; /* 0x7b0..94c */&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;struct wdog_regs {&lt;BR /&gt; u16 wcr; /* Control */&lt;BR /&gt; u16 wsr; /* Service */&lt;BR /&gt; u16 wrsr; /* Reset Status */&lt;BR /&gt; u16 wicr; /* Interrupt Control */&lt;BR /&gt; u16 wmcr; /* Miscellaneous Control */&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;#define PWMCR_PRESCALER(x) (((x - 1) &amp;amp; 0xFFF) &amp;lt;&amp;lt; 4)&lt;BR /&gt;#define PWMCR_DOZEEN (1 &amp;lt;&amp;lt; 24)&lt;BR /&gt;#define PWMCR_WAITEN (1 &amp;lt;&amp;lt; 23)&lt;BR /&gt;#define PWMCR_DBGEN (1 &amp;lt;&amp;lt; 22)&lt;BR /&gt;#define PWMCR_CLKSRC_IPG_HIGH (2 &amp;lt;&amp;lt; 16)&lt;BR /&gt;#define PWMCR_CLKSRC_IPG (1 &amp;lt;&amp;lt; 16)&lt;BR /&gt;#define PWMCR_EN (1 &amp;lt;&amp;lt; 0)&lt;/P&gt;&lt;P&gt;struct pwm_regs {&lt;BR /&gt; u32 cr;&lt;BR /&gt; u32 sr;&lt;BR /&gt; u32 ir;&lt;BR /&gt; u32 sar;&lt;BR /&gt; u32 pr;&lt;BR /&gt; u32 cnr;&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;struct dbg_monitor_regs {&lt;BR /&gt; u32 ctrl[4]; /* Control */&lt;BR /&gt; u32 master_en[4]; /* Master enable */&lt;BR /&gt; u32 irq[4]; /* IRQ */&lt;BR /&gt; u32 trap_addr_low[4]; /* Trap address low */&lt;BR /&gt; u32 trap_addr_high[4]; /* Trap address high */&lt;BR /&gt; u32 trap_id[4]; /* Trap ID */&lt;BR /&gt; u32 snvs_addr[4]; /* SNVS address */&lt;BR /&gt; u32 snvs_data[4]; /* SNVS data */&lt;BR /&gt; u32 snvs_info[4]; /* SNVS info */&lt;BR /&gt; u32 version[4]; /* Version */&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;/* eLCDIF controller registers */&lt;BR /&gt;struct mxs_lcdif_regs {&lt;BR /&gt; u32 hw_lcdif_ctrl; /* 0x00 */&lt;BR /&gt; u32 hw_lcdif_ctrl_set;&lt;BR /&gt; u32 hw_lcdif_ctrl_clr;&lt;BR /&gt; u32 hw_lcdif_ctrl_tog;&lt;BR /&gt; u32 hw_lcdif_ctrl1; /* 0x10 */&lt;BR /&gt; u32 hw_lcdif_ctrl1_set;&lt;BR /&gt; u32 hw_lcdif_ctrl1_clr;&lt;BR /&gt; u32 hw_lcdif_ctrl1_tog;&lt;BR /&gt; u32 hw_lcdif_ctrl2; /* 0x20 */&lt;BR /&gt; u32 hw_lcdif_ctrl2_set;&lt;BR /&gt; u32 hw_lcdif_ctrl2_clr;&lt;BR /&gt; u32 hw_lcdif_ctrl2_tog;&lt;BR /&gt; u32 hw_lcdif_transfer_count; /* 0x30 */&lt;BR /&gt; u32 reserved1[3];&lt;BR /&gt; u32 hw_lcdif_cur_buf; /* 0x40 */&lt;BR /&gt; u32 reserved2[3];&lt;BR /&gt; u32 hw_lcdif_next_buf; /* 0x50 */&lt;BR /&gt; u32 reserved3[3];&lt;BR /&gt; u32 hw_lcdif_timing; /* 0x60 */&lt;BR /&gt; u32 reserved4[3];&lt;BR /&gt; u32 hw_lcdif_vdctrl0; /* 0x70 */&lt;BR /&gt; u32 hw_lcdif_vdctrl0_set;&lt;BR /&gt; u32 hw_lcdif_vdctrl0_clr;&lt;BR /&gt; u32 hw_lcdif_vdctrl0_tog;&lt;BR /&gt; u32 hw_lcdif_vdctrl1; /* 0x80 */&lt;BR /&gt; u32 reserved5[3];&lt;BR /&gt; u32 hw_lcdif_vdctrl2; /* 0x90 */&lt;BR /&gt; u32 reserved6[3];&lt;BR /&gt; u32 hw_lcdif_vdctrl3; /* 0xa0 */&lt;BR /&gt; u32 reserved7[3];&lt;BR /&gt; u32 hw_lcdif_vdctrl4; /* 0xb0 */&lt;BR /&gt; u32 reserved8[3];&lt;BR /&gt; u32 hw_lcdif_dvictrl0; /* 0xc0 */&lt;BR /&gt; u32 reserved9[3];&lt;BR /&gt; u32 hw_lcdif_dvictrl1; /* 0xd0 */&lt;BR /&gt; u32 reserved10[3];&lt;BR /&gt; u32 hw_lcdif_dvictrl2; /* 0xe0 */&lt;BR /&gt; u32 reserved11[3];&lt;BR /&gt; u32 hw_lcdif_dvictrl3; /* 0xf0 */&lt;BR /&gt; u32 reserved12[3];&lt;BR /&gt; u32 hw_lcdif_dvictrl4; /* 0x100 */&lt;BR /&gt; u32 reserved13[3];&lt;BR /&gt; u32 hw_lcdif_csc_coeffctrl0; /* 0x110 */&lt;BR /&gt; u32 reserved14[3];&lt;BR /&gt; u32 hw_lcdif_csc_coeffctrl1; /* 0x120 */&lt;BR /&gt; u32 reserved15[3];&lt;BR /&gt; u32 hw_lcdif_csc_coeffctrl2; /* 0x130 */&lt;BR /&gt; u32 reserved16[3];&lt;BR /&gt; u32 hw_lcdif_csc_coeffctrl3; /* 0x140 */&lt;BR /&gt; u32 reserved17[3];&lt;BR /&gt; u32 hw_lcdif_csc_coeffctrl4; /* 0x150 */&lt;BR /&gt; u32 reserved18[3];&lt;BR /&gt; u32 hw_lcdif_csc_offset; /* 0x160 */&lt;BR /&gt; u32 reserved19[3];&lt;BR /&gt; u32 hw_lcdif_csc_limit; /* 0x170 */&lt;BR /&gt; u32 reserved20[3];&lt;BR /&gt; u32 hw_lcdif_data; /* 0x180 */&lt;BR /&gt; u32 reserved21[3];&lt;BR /&gt; u32 hw_lcdif_bm_error_stat; /* 0x190 */&lt;BR /&gt; u32 reserved22[3];&lt;BR /&gt; u32 hw_lcdif_crc_stat; /* 0x1a0 */&lt;BR /&gt; u32 reserved23[3];&lt;BR /&gt; u32 hw_lcdif_lcdif_stat; /* 0x1b0 */&lt;BR /&gt; u32 reserved24[3];&lt;BR /&gt; u32 hw_lcdif_version; /* 0x1c0 */&lt;BR /&gt; u32 reserved25[3];&lt;BR /&gt; u32 hw_lcdif_debug0; /* 0x1d0 */&lt;BR /&gt; u32 reserved26[3];&lt;BR /&gt; u32 hw_lcdif_debug1; /* 0x1e0 */&lt;BR /&gt; u32 reserved27[3];&lt;BR /&gt; u32 hw_lcdif_debug2; /* 0x1f0 */&lt;BR /&gt; u32 reserved28[3];&lt;BR /&gt; u32 hw_lcdif_thres; /* 0x200 */&lt;BR /&gt; u32 reserved29[3];&lt;BR /&gt; u32 hw_lcdif_as_ctrl; /* 0x210 */&lt;BR /&gt; u32 reserved30[3];&lt;BR /&gt; u32 hw_lcdif_as_buf; /* 0x220 */&lt;BR /&gt; u32 reserved31[3];&lt;BR /&gt; u32 hw_lcdif_as_next_buf; /* 0x230 */&lt;BR /&gt; u32 reserved32[3];&lt;BR /&gt; u32 hw_lcdif_as_clrkeylow; /* 0x240 */&lt;BR /&gt; u32 reserved33[3];&lt;BR /&gt; u32 hw_lcdif_as_clrkeyhigh; /* 0x250 */&lt;BR /&gt; u32 reserved34[3];&lt;BR /&gt; u32 hw_lcdif_as_sync_delay; /* 0x260 */&lt;BR /&gt; u32 reserved35[3];&lt;BR /&gt; u32 hw_lcdif_as_debug3; /* 0x270 */&lt;BR /&gt; u32 reserved36[3];&lt;BR /&gt; u32 hw_lcdif_as_debug4; /* 0x280 */&lt;BR /&gt; u32 reserved37[3];&lt;BR /&gt; u32 hw_lcdif_as_debug5; /* 0x290 */&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;struct rdc_regs {&lt;BR /&gt; u32 vir; /* Version information */&lt;BR /&gt; u32 reserved1[8];&lt;BR /&gt; u32 stat; /* Status */&lt;BR /&gt; u32 intctrl; /* Interrupt and Control */&lt;BR /&gt; u32 intstat; /* Interrupt Status */&lt;BR /&gt; u32 reserved2[116];&lt;BR /&gt; u32 mda[32]; /* Master Domain Assignment */&lt;BR /&gt; u32 reserved3[96];&lt;BR /&gt; u32 pdap[104]; /* Peripheral Domain Access Permissions */&lt;BR /&gt; u32 reserved4[88];&lt;BR /&gt; struct {&lt;BR /&gt; u32 mrsa; /* Memory Region Start Address */&lt;BR /&gt; u32 mrea; /* Memory Region End Address */&lt;BR /&gt; u32 mrc; /* Memory Region Control */&lt;BR /&gt; u32 mrvs; /* Memory Region Violation Status */&lt;BR /&gt; } mem_region[55];&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;struct rdc_sema_regs {&lt;BR /&gt; u8 gate[64]; /* Gate */&lt;BR /&gt; u16 rstgt; /* Reset Gate */&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;#define MXS_LCDIF_BASE LCDIF2_BASE_ADDR&lt;/P&gt;&lt;P&gt;#define LCDIF_CTRL_SFTRST (1 &amp;lt;&amp;lt; 31)&lt;BR /&gt;#define LCDIF_CTRL_CLKGATE (1 &amp;lt;&amp;lt; 30)&lt;BR /&gt;#define LCDIF_CTRL_YCBCR422_INPUT (1 &amp;lt;&amp;lt; 29)&lt;BR /&gt;#define LCDIF_CTRL_READ_WRITEB (1 &amp;lt;&amp;lt; 28)&lt;BR /&gt;#define LCDIF_CTRL_WAIT_FOR_VSYNC_EDGE (1 &amp;lt;&amp;lt; 27)&lt;BR /&gt;#define LCDIF_CTRL_DATA_SHIFT_DIR (1 &amp;lt;&amp;lt; 26)&lt;BR /&gt;#define LCDIF_CTRL_SHIFT_NUM_BITS_MASK (0x1f &amp;lt;&amp;lt; 21)&lt;BR /&gt;#define LCDIF_CTRL_SHIFT_NUM_BITS_OFFSET 21&lt;BR /&gt;#define LCDIF_CTRL_DVI_MODE (1 &amp;lt;&amp;lt; 20)&lt;BR /&gt;#define LCDIF_CTRL_BYPASS_COUNT (1 &amp;lt;&amp;lt; 19)&lt;BR /&gt;#define LCDIF_CTRL_VSYNC_MODE (1 &amp;lt;&amp;lt; 18)&lt;BR /&gt;#define LCDIF_CTRL_DOTCLK_MODE (1 &amp;lt;&amp;lt; 17)&lt;BR /&gt;#define LCDIF_CTRL_DATA_SELECT (1 &amp;lt;&amp;lt; 16)&lt;BR /&gt;#define LCDIF_CTRL_INPUT_DATA_SWIZZLE_MASK (0x3 &amp;lt;&amp;lt; 14)&lt;BR /&gt;#define LCDIF_CTRL_INPUT_DATA_SWIZZLE_OFFSET 14&lt;BR /&gt;#define LCDIF_CTRL_CSC_DATA_SWIZZLE_MASK (0x3 &amp;lt;&amp;lt; 12)&lt;BR /&gt;#define LCDIF_CTRL_CSC_DATA_SWIZZLE_OFFSET 12&lt;BR /&gt;#define LCDIF_CTRL_LCD_DATABUS_WIDTH_MASK (0x3 &amp;lt;&amp;lt; 10)&lt;BR /&gt;#define LCDIF_CTRL_LCD_DATABUS_WIDTH_OFFSET 10&lt;BR /&gt;#define LCDIF_CTRL_LCD_DATABUS_WIDTH_16BIT (0 &amp;lt;&amp;lt; 10)&lt;BR /&gt;#define LCDIF_CTRL_LCD_DATABUS_WIDTH_8BIT (1 &amp;lt;&amp;lt; 10)&lt;BR /&gt;#define LCDIF_CTRL_LCD_DATABUS_WIDTH_18BIT (2 &amp;lt;&amp;lt; 10)&lt;BR /&gt;#define LCDIF_CTRL_LCD_DATABUS_WIDTH_24BIT (3 &amp;lt;&amp;lt; 10)&lt;BR /&gt;#define LCDIF_CTRL_WORD_LENGTH_MASK (0x3 &amp;lt;&amp;lt; 8)&lt;BR /&gt;#define LCDIF_CTRL_WORD_LENGTH_OFFSET 8&lt;BR /&gt;#define LCDIF_CTRL_WORD_LENGTH_16BIT (0 &amp;lt;&amp;lt; 8)&lt;BR /&gt;#define LCDIF_CTRL_WORD_LENGTH_8BIT (1 &amp;lt;&amp;lt; 8)&lt;BR /&gt;#define LCDIF_CTRL_WORD_LENGTH_18BIT (2 &amp;lt;&amp;lt; 8)&lt;BR /&gt;#define LCDIF_CTRL_WORD_LENGTH_24BIT (3 &amp;lt;&amp;lt; 8)&lt;BR /&gt;#define LCDIF_CTRL_RGB_TO_YCBCR422_CSC (1 &amp;lt;&amp;lt; 7)&lt;BR /&gt;#define LCDIF_CTRL_LCDIF_MASTER (1 &amp;lt;&amp;lt; 5)&lt;BR /&gt;#define LCDIF_CTRL_DATA_FORMAT_16_BIT (1 &amp;lt;&amp;lt; 3)&lt;BR /&gt;#define LCDIF_CTRL_DATA_FORMAT_18_BIT (1 &amp;lt;&amp;lt; 2)&lt;BR /&gt;#define LCDIF_CTRL_DATA_FORMAT_24_BIT (1 &amp;lt;&amp;lt; 1)&lt;BR /&gt;#define LCDIF_CTRL_RUN (1 &amp;lt;&amp;lt; 0)&lt;/P&gt;&lt;P&gt;#define LCDIF_CTRL1_COMBINE_MPU_WR_STRB (1 &amp;lt;&amp;lt; 27)&lt;BR /&gt;#define LCDIF_CTRL1_BM_ERROR_IRQ_EN (1 &amp;lt;&amp;lt; 26)&lt;BR /&gt;#define LCDIF_CTRL1_BM_ERROR_IRQ (1 &amp;lt;&amp;lt; 25)&lt;BR /&gt;#define LCDIF_CTRL1_RECOVER_ON_UNDERFLOW (1 &amp;lt;&amp;lt; 24)&lt;BR /&gt;#define LCDIF_CTRL1_INTERLACE_FIELDS (1 &amp;lt;&amp;lt; 23)&lt;BR /&gt;#define LCDIF_CTRL1_START_INTERLACE_FROM_SECOND_FIELD (1 &amp;lt;&amp;lt; 22)&lt;BR /&gt;#define LCDIF_CTRL1_FIFO_CLEAR (1 &amp;lt;&amp;lt; 21)&lt;BR /&gt;#define LCDIF_CTRL1_IRQ_ON_ALTERNATE_FIELDS (1 &amp;lt;&amp;lt; 20)&lt;BR /&gt;#define LCDIF_CTRL1_BYTE_PACKING_FORMAT_MASK (0xf &amp;lt;&amp;lt; 16)&lt;BR /&gt;#define LCDIF_CTRL1_BYTE_PACKING_FORMAT_OFFSET 16&lt;BR /&gt;#define LCDIF_CTRL1_OVERFLOW_IRQ_EN (1 &amp;lt;&amp;lt; 15)&lt;BR /&gt;#define LCDIF_CTRL1_UNDERFLOW_IRQ_EN (1 &amp;lt;&amp;lt; 14)&lt;BR /&gt;#define LCDIF_CTRL1_CUR_FRAME_DONE_IRQ_EN (1 &amp;lt;&amp;lt; 13)&lt;BR /&gt;#define LCDIF_CTRL1_VSYNC_EDGE_IRQ_EN (1 &amp;lt;&amp;lt; 12)&lt;BR /&gt;#define LCDIF_CTRL1_OVERFLOW_IRQ (1 &amp;lt;&amp;lt; 11)&lt;BR /&gt;#define LCDIF_CTRL1_UNDERFLOW_IRQ (1 &amp;lt;&amp;lt; 10)&lt;BR /&gt;#define LCDIF_CTRL1_CUR_FRAME_DONE_IRQ (1 &amp;lt;&amp;lt; 9)&lt;BR /&gt;#define LCDIF_CTRL1_VSYNC_EDGE_IRQ (1 &amp;lt;&amp;lt; 8)&lt;BR /&gt;#define LCDIF_CTRL1_BUSY_ENABLE (1 &amp;lt;&amp;lt; 2)&lt;BR /&gt;#define LCDIF_CTRL1_MODE86 (1 &amp;lt;&amp;lt; 1)&lt;BR /&gt;#define LCDIF_CTRL1_RESET (1 &amp;lt;&amp;lt; 0)&lt;/P&gt;&lt;P&gt;#define LCDIF_CTRL2_OUTSTANDING_REQS_MASK (0x7 &amp;lt;&amp;lt; 21)&lt;BR /&gt;#define LCDIF_CTRL2_OUTSTANDING_REQS_OFFSET 21&lt;BR /&gt;#define LCDIF_CTRL2_OUTSTANDING_REQS_REQ_1 (0x0 &amp;lt;&amp;lt; 21)&lt;BR /&gt;#define LCDIF_CTRL2_OUTSTANDING_REQS_REQ_2 (0x1 &amp;lt;&amp;lt; 21)&lt;BR /&gt;#define LCDIF_CTRL2_OUTSTANDING_REQS_REQ_4 (0x2 &amp;lt;&amp;lt; 21)&lt;BR /&gt;#define LCDIF_CTRL2_OUTSTANDING_REQS_REQ_8 (0x3 &amp;lt;&amp;lt; 21)&lt;BR /&gt;#define LCDIF_CTRL2_OUTSTANDING_REQS_REQ_16 (0x4 &amp;lt;&amp;lt; 21)&lt;BR /&gt;#define LCDIF_CTRL2_BURST_LEN_8 (1 &amp;lt;&amp;lt; 20)&lt;BR /&gt;#define LCDIF_CTRL2_ODD_LINE_PATTERN_MASK (0x7 &amp;lt;&amp;lt; 16)&lt;BR /&gt;#define LCDIF_CTRL2_ODD_LINE_PATTERN_OFFSET 16&lt;BR /&gt;#define LCDIF_CTRL2_ODD_LINE_PATTERN_RGB (0x0 &amp;lt;&amp;lt; 16)&lt;BR /&gt;#define LCDIF_CTRL2_ODD_LINE_PATTERN_RBG (0x1 &amp;lt;&amp;lt; 16)&lt;BR /&gt;#define LCDIF_CTRL2_ODD_LINE_PATTERN_GBR (0x2 &amp;lt;&amp;lt; 16)&lt;BR /&gt;#define LCDIF_CTRL2_ODD_LINE_PATTERN_GRB (0x3 &amp;lt;&amp;lt; 16)&lt;BR /&gt;#define LCDIF_CTRL2_ODD_LINE_PATTERN_BRG (0x4 &amp;lt;&amp;lt; 16)&lt;BR /&gt;#define LCDIF_CTRL2_ODD_LINE_PATTERN_BGR (0x5 &amp;lt;&amp;lt; 16)&lt;BR /&gt;#define LCDIF_CTRL2_EVEN_LINE_PATTERN_MASK (0x7 &amp;lt;&amp;lt; 12)&lt;BR /&gt;#define LCDIF_CTRL2_EVEN_LINE_PATTERN_OFFSET 12&lt;BR /&gt;#define LCDIF_CTRL2_EVEN_LINE_PATTERN_RGB (0x0 &amp;lt;&amp;lt; 12)&lt;BR /&gt;#define LCDIF_CTRL2_EVEN_LINE_PATTERN_RBG (0x1 &amp;lt;&amp;lt; 12)&lt;BR /&gt;#define LCDIF_CTRL2_EVEN_LINE_PATTERN_GBR (0x2 &amp;lt;&amp;lt; 12)&lt;BR /&gt;#define LCDIF_CTRL2_EVEN_LINE_PATTERN_GRB (0x3 &amp;lt;&amp;lt; 12)&lt;BR /&gt;#define LCDIF_CTRL2_EVEN_LINE_PATTERN_BRG (0x4 &amp;lt;&amp;lt; 12)&lt;BR /&gt;#define LCDIF_CTRL2_EVEN_LINE_PATTERN_BGR (0x5 &amp;lt;&amp;lt; 12)&lt;BR /&gt;#define LCDIF_CTRL2_READ_PACK_DIR (1 &amp;lt;&amp;lt; 10)&lt;BR /&gt;#define LCDIF_CTRL2_READ_MODE_OUTPUT_IN_RGB_FORMAT (1 &amp;lt;&amp;lt; 9)&lt;BR /&gt;#define LCDIF_CTRL2_READ_MODE_6_BIT_INPUT (1 &amp;lt;&amp;lt; 8)&lt;BR /&gt;#define LCDIF_CTRL2_READ_MODE_NUM_PACKED_SUBWORDS_MASK (0x7 &amp;lt;&amp;lt; 4)&lt;BR /&gt;#define LCDIF_CTRL2_READ_MODE_NUM_PACKED_SUBWORDS_OFFSET 4&lt;BR /&gt;#define LCDIF_CTRL2_INITIAL_DUMMY_READ_MASK (0x7 &amp;lt;&amp;lt; 1)&lt;BR /&gt;#define LCDIF_CTRL2_INITIAL_DUMMY_READ_OFFSET 1&lt;/P&gt;&lt;P&gt;#define LCDIF_TRANSFER_COUNT_V_COUNT_MASK (0xffff &amp;lt;&amp;lt; 16)&lt;BR /&gt;#define LCDIF_TRANSFER_COUNT_V_COUNT_OFFSET 16&lt;BR /&gt;#define LCDIF_TRANSFER_COUNT_H_COUNT_MASK (0xffff &amp;lt;&amp;lt; 0)&lt;BR /&gt;#define LCDIF_TRANSFER_COUNT_H_COUNT_OFFSET 0&lt;/P&gt;&lt;P&gt;#define LCDIF_CUR_BUF_ADDR_MASK 0xffffffff&lt;BR /&gt;#define LCDIF_CUR_BUF_ADDR_OFFSET 0&lt;/P&gt;&lt;P&gt;#define LCDIF_NEXT_BUF_ADDR_MASK 0xffffffff&lt;BR /&gt;#define LCDIF_NEXT_BUF_ADDR_OFFSET 0&lt;/P&gt;&lt;P&gt;#define LCDIF_TIMING_CMD_HOLD_MASK (0xff &amp;lt;&amp;lt; 24)&lt;BR /&gt;#define LCDIF_TIMING_CMD_HOLD_OFFSET 24&lt;BR /&gt;#define LCDIF_TIMING_CMD_SETUP_MASK (0xff &amp;lt;&amp;lt; 16)&lt;BR /&gt;#define LCDIF_TIMING_CMD_SETUP_OFFSET 16&lt;BR /&gt;#define LCDIF_TIMING_DATA_HOLD_MASK (0xff &amp;lt;&amp;lt; 8)&lt;BR /&gt;#define LCDIF_TIMING_DATA_HOLD_OFFSET 8&lt;BR /&gt;#define LCDIF_TIMING_DATA_SETUP_MASK (0xff &amp;lt;&amp;lt; 0)&lt;BR /&gt;#define LCDIF_TIMING_DATA_SETUP_OFFSET 0&lt;/P&gt;&lt;P&gt;#define LCDIF_VDCTRL0_VSYNC_OEB (1 &amp;lt;&amp;lt; 29)&lt;BR /&gt;#define LCDIF_VDCTRL0_ENABLE_PRESENT (1 &amp;lt;&amp;lt; 28)&lt;BR /&gt;#define LCDIF_VDCTRL0_VSYNC_POL (1 &amp;lt;&amp;lt; 27)&lt;BR /&gt;#define LCDIF_VDCTRL0_HSYNC_POL (1 &amp;lt;&amp;lt; 26)&lt;BR /&gt;#define LCDIF_VDCTRL0_DOTCLK_POL (1 &amp;lt;&amp;lt; 25)&lt;BR /&gt;#define LCDIF_VDCTRL0_ENABLE_POL (1 &amp;lt;&amp;lt; 24)&lt;BR /&gt;#define LCDIF_VDCTRL0_VSYNC_PERIOD_UNIT (1 &amp;lt;&amp;lt; 21)&lt;BR /&gt;#define LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_UNIT (1 &amp;lt;&amp;lt; 20)&lt;BR /&gt;#define LCDIF_VDCTRL0_HALF_LINE (1 &amp;lt;&amp;lt; 19)&lt;BR /&gt;#define LCDIF_VDCTRL0_HALF_LINE_MODE (1 &amp;lt;&amp;lt; 18)&lt;BR /&gt;#define LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_MASK 0x3ffff&lt;BR /&gt;#define LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_OFFSET 0&lt;/P&gt;&lt;P&gt;#define LCDIF_VDCTRL1_VSYNC_PERIOD_MASK 0xffffffff&lt;BR /&gt;#define LCDIF_VDCTRL1_VSYNC_PERIOD_OFFSET 0&lt;/P&gt;&lt;P&gt;#define LCDIF_VDCTRL2_HSYNC_PULSE_WIDTH_MASK (0x3fff &amp;lt;&amp;lt; 18)&lt;BR /&gt;#define LCDIF_VDCTRL2_HSYNC_PULSE_WIDTH_OFFSET 18&lt;BR /&gt;#define LCDIF_VDCTRL2_HSYNC_PERIOD_MASK 0x3ffff&lt;BR /&gt;#define LCDIF_VDCTRL2_HSYNC_PERIOD_OFFSET 0&lt;/P&gt;&lt;P&gt;#define LCDIF_VDCTRL3_MUX_SYNC_SIGNALS (1 &amp;lt;&amp;lt; 29)&lt;BR /&gt;#define LCDIF_VDCTRL3_VSYNC_ONLY (1 &amp;lt;&amp;lt; 28)&lt;BR /&gt;#define LCDIF_VDCTRL3_HORIZONTAL_WAIT_CNT_MASK (0xfff &amp;lt;&amp;lt; 16)&lt;BR /&gt;#define LCDIF_VDCTRL3_HORIZONTAL_WAIT_CNT_OFFSET 16&lt;BR /&gt;#define LCDIF_VDCTRL3_VERTICAL_WAIT_CNT_MASK (0xffff &amp;lt;&amp;lt; 0)&lt;BR /&gt;#define LCDIF_VDCTRL3_VERTICAL_WAIT_CNT_OFFSET 0&lt;/P&gt;&lt;P&gt;#define LCDIF_VDCTRL4_DOTCLK_DLY_SEL_MASK (0x7 &amp;lt;&amp;lt; 29)&lt;BR /&gt;#define LCDIF_VDCTRL4_DOTCLK_DLY_SEL_OFFSET 29&lt;BR /&gt;#define LCDIF_VDCTRL4_SYNC_SIGNALS_ON (1 &amp;lt;&amp;lt; 18)&lt;BR /&gt;#define LCDIF_VDCTRL4_DOTCLK_H_VALID_DATA_CNT_MASK 0x3ffff&lt;BR /&gt;#define LCDIF_VDCTRL4_DOTCLK_H_VALID_DATA_CNT_OFFSET 0&lt;/P&gt;&lt;P&gt;#ifdef CONFIG_MX6SX&lt;BR /&gt;extern void vadc_power_up(void);&lt;BR /&gt;extern void vadc_power_down(void);&lt;BR /&gt;extern void pcie_power_up(void);&lt;BR /&gt;extern void pcie_power_off(void);&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;/*&lt;BR /&gt; * If ROM fail back to USB recover mode, USBPH0_PWD will be clear to use USB&lt;BR /&gt; * If boot from the other mode, USB0_PWD will keep reset value&lt;BR /&gt; */&lt;BR /&gt;#define is_boot_from_usb(void) (!(readl(USB_PHY0_BASE_ADDR) &amp;amp; (1&amp;lt;&amp;lt;20)))&lt;BR /&gt;#define disconnect_from_pc(void) writel(0x0, OTG_BASE_ADDR + 0x140)&lt;/P&gt;&lt;P&gt;#endif /* __ASSEMBLER__*/&lt;BR /&gt;#endif /* __ASM_ARCH_MX6_IMX_REGS_H__ */&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Still when I burning my image it will show the DRAM size is 1G.&lt;/P&gt;&lt;P&gt;But there is 4G RAM on my board.&lt;/P&gt;&lt;P&gt;Where did I miss ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;Thanks in Advanced!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Nov 2017 07:38:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-Quad-4G-RAM-porting-issue/m-p/773517#M120091</guid>
      <dc:creator>wangvictor</dc:creator>
      <dc:date>2017-11-14T07:38:37Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 Quad 4G RAM porting issue</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-Quad-4G-RAM-porting-issue/m-p/773518#M120092</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;Please refer to Chapter 1 (Porting U-Boot from an i.MX 6/7 Reference Board to an i.MX 6/7 Custom &lt;BR /&gt;Board) in “i.MX_BSP_Porting_Guide.pdf”. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; In particular, in Uboot file “include/configs/mx6 &amp;lt;board&amp;gt;.h” check / modify (if needed) parameters :&lt;BR /&gt;&amp;nbsp;- CONFIG_NR_DRAM_BANKS: Number of ddr banks.&lt;BR /&gt;&amp;nbsp;- PHYS_SDRAM_SIZE: Configure the DDR size in MB.&lt;BR /&gt;&amp;nbsp;- PHYS_SDRAM: Physical address for the DDR memory.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;BR /&gt;Yuri&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Nov 2017 00:36:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-Quad-4G-RAM-porting-issue/m-p/773518#M120092</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2017-11-15T00:36:22Z</dc:date>
    </item>
  </channel>
</rss>

