summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2013-10-04 10:11:12 -0600
committerGregory Nutt <gnutt@nuttx.org>2013-10-04 10:11:12 -0600
commitbbcc55ca6de37a8903fdb77339ebf7235137d17d (patch)
tree5e12bb21d164f59d96adf27958c6a01a0ee4196d
parentbab043d8db32c04614235913c92987899415f1b0 (diff)
downloadnuttx-bbcc55ca6de37a8903fdb77339ebf7235137d17d.tar.gz
nuttx-bbcc55ca6de37a8903fdb77339ebf7235137d17d.tar.bz2
nuttx-bbcc55ca6de37a8903fdb77339ebf7235137d17d.zip
SAMA5: Add LCD register definition header file
-rw-r--r--nuttx/ChangeLog6
-rw-r--r--nuttx/arch/arm/src/sama5/chip/sam_lcdc.h831
2 files changed, 836 insertions, 1 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog
index 2abc29b0d..d410ca807 100644
--- a/nuttx/ChangeLog
+++ b/nuttx/ChangeLog
@@ -5698,4 +5698,8 @@
* include/net/route.h and libc/net/lib_addroute.c and delroute.c:
Add an application interface to manage the routing table
(2013-10-2).
-
+ * arch/arm/src/sama5/sam_adc.c and sam_tsc.c: The SAMA5
+ touschscreen drive is basically functional) (2013-10-3)
+ * arch/arm/src/sama5/chip/sam_lcdc.h: Add SAMA5 LCD register
+ definition header file (2013-10-4).
+
diff --git a/nuttx/arch/arm/src/sama5/chip/sam_lcdc.h b/nuttx/arch/arm/src/sama5/chip/sam_lcdc.h
new file mode 100644
index 000000000..d190bbbfd
--- /dev/null
+++ b/nuttx/arch/arm/src/sama5/chip/sam_lcdc.h
@@ -0,0 +1,831 @@
+/************************************************************************************
+ * arch/arm/src/sama5/chip/sam_lcdc.h
+ *
+ * Copyright (C) 2013 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ * 3. Neither the name NuttX nor the names of its contributors may be
+ * used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ ************************************************************************************/
+
+#ifndef __ARCH_ARM_SRC_SAMA5_CHIP_SAM_LCDC_H
+#define __ARCH_ARM_SRC_SAMA5_CHIP_SAM_LCDC_H
+
+/************************************************************************************
+ * Included Files
+ ************************************************************************************/
+
+#include <nuttx/config.h>
+#include "chip/sam_memorymap.h"
+
+/************************************************************************************
+ * Pre-processor Definitions
+ ************************************************************************************/
+/* LCDC Register Offsets ************************************************************/
+
+#define SAM_LCDC_LCDCFG0_OFFSET 0x0000 /* LCD Controller Configuration Register 0 */
+#define SAM_LCDC_LCDCFG1_OFFSET 0x0004 /* LCD Controller Configuration Register 1 */
+#define SAM_LCDC_LCDCFG2_OFFSET 0x0008 /* LCD Controller Configuration Register 2 */
+#define SAM_LCDC_LCDCFG3_OFFSET 0x000c /* LCD Controller Configuration Register 3 */
+#define SAM_LCDC_LCDCFG4_OFFSET 0x0010 /* LCD Controller Configuration Register 4 */
+#define SAM_LCDC_LCDCFG5_OFFSET 0x0014 /* LCD Controller Configuration Register 5 */
+#define SAM_LCDC_LCDCFG6_OFFSET 0x0018 /* LCD Controller Configuration Register 6 */
+ /* 0x001c Reserved */
+#define SAM_LCDC_LCDEN_OFFSET 0x0020 /* LCD Controller Enable Register */
+#define SAM_LCDC_LCDDIS_OFFSET 0x0024 /* LCD Controller Disable Register */
+#define SAM_LCDC_LCDSR_OFFSET 0x0028 /* LCD Controller Status Register */
+#define SAM_LCDC_LCDIER_OFFSET 0x002C /* LCD Controller Interrupt Enable Register */
+#define SAM_LCDC_LCDIDR_OFFSET 0x0030 /* LCD Controller Interrupt Disable Register */
+#define SAM_LCDC_LCDIMR_OFFSET 0x0034 /* LCD Controller Interrupt Mask Register */
+#define SAM_LCDC_LCDISR_OFFSET 0x0038 /* LCD Controller Interrupt Status Register */
+ /* 0x003c Reserved */
+#define SAM_LCDC_BASECHER_OFFSET 0x0040 /* Base Layer Channel Enable Register */
+#define SAM_LCDC_BASECHDR_OFFSET 0x0044 /* Base Layer Channel Disable Register */
+#define SAM_LCDC_BASECHSR_OFFSET 0x0048 /* Base Layer Channel Status Register */
+#define SAM_LCDC_BASEIER_OFFSET 0x004c /* Base Layer Interrupt Enable Register */
+#define SAM_LCDC_BASEIDR_OFFSET 0x0050 /* Base Layer Interrupt Disable Register */
+#define SAM_LCDC_BASEIMR_OFFSET 0x0054 /* Base Layer Interrupt Mask Register */
+#define SAM_LCDC_BASEISR_OFFSET 0x0058 /* Base Layer Interrupt Status Register */
+#define SAM_LCDC_BASEHEAD_OFFSET 0x005c /* Base DMA Head Register */
+#define SAM_LCDC_BASEADDR_OFFSET 0x0060 /* Base DMA Address Register */
+#define SAM_LCDC_BASECTRL_OFFSET 0x0064 /* Base DMA Control Register */
+#define SAM_LCDC_BASENEXT_OFFSET 0x0068 /* Base DMA Next Register */
+#define SAM_LCDC_BASECFG0_OFFSET 0x006c /* Base Configuration register 0 */
+#define SAM_LCDC_BASECFG1_OFFSET 0x0070 /* Base Configuration register 1 */
+#define SAM_LCDC_BASECFG2_OFFSET 0x0074 /* Base Configuration register 2 */
+#define SAM_LCDC_BASECFG3_OFFSET 0x0078 /* Base Configuration register 3 */
+#define SAM_LCDC_BASECFG4_OFFSET 0x007c /* Base Configuration register 4 */
+#define SAM_LCDC_BASECFG5_OFFSET 0x0080 /* Base Configuration register 5 */
+#define SAM_LCDC_BASECFG6_OFFSET 0x0084 /* Base Configuration register 6 */
+ /* 0x0088-0x013c Reserved */
+#define SAM_LCDC_OVR1CHER_OFFSET 0x0140 /* Overlay 1 Channel Enable Register */
+#define SAM_LCDC_OVR1CHDR_OFFSET 0x0144 /* Overlay 1 Channel Disable Register */
+#define SAM_LCDC_OVR1CHSR_OFFSET 0x0148 /* Overlay 1 Channel Status Register */
+#define SAM_LCDC_OVR1IER_OFFSET 0x014c /* Overlay 1 Interrupt Enable Register */
+#define SAM_LCDC_OVR1IDR_OFFSET 0x0150 /* Overlay 1 Interrupt Disable Register */
+#define SAM_LCDC_OVR1IMR_OFFSET 0x0154 /* Overlay 1 Interrupt Mask Register */
+#define SAM_LCDC_OVR1ISR_OFFSET 0x0158 /* Overlay 1 Interrupt Status Register */
+#define SAM_LCDC_OVR1HEAD_OFFSET 0x015c /* Overlay 1 DMA Head Register */
+#define SAM_LCDC_OVR1ADDR_OFFSET 0x0160 /* Overlay 1 DMA Address Register */
+#define SAM_LCDC_OVR1CTRL_OFFSET 0x0164 /* Overlay 1 DMA Control Register */
+#define SAM_LCDC_OVR1NEXT_OFFSET 0x0168 /* Overlay 1 DMA Next Register */
+#define SAM_LCDC_OVR1CFG0_OFFSET 0x016c /* Overlay 1 Configuration 0 Register */
+#define SAM_LCDC_OVR1CFG1_OFFSET 0x0170 /* Overlay 1 Configuration 1 Register */
+#define SAM_LCDC_OVR1CFG2_OFFSET 0x0174 /* Overlay 1 Configuration 2 Register */
+#define SAM_LCDC_OVR1CFG3_OFFSET 0x0178 /* Overlay 1 Configuration 3 Register */
+#define SAM_LCDC_OVR1CFG4_OFFSET 0x017c /* Overlay 1 Configuration 4 Register */
+#define SAM_LCDC_OVR1CFG5_OFFSET 0x0180 /* Overlay 1 Configuration 5 Register */
+#define SAM_LCDC_OVR1CFG6_OFFSET 0x0184 /* Overlay 1 Configuration 6 Register */
+#define SAM_LCDC_OVR1CFG7_OFFSET 0x0188 /* Overlay 1 Configuration 7 Register */
+#define SAM_LCDC_OVR1CFG8_OFFSET 0x018c /* Overlay 1 Configuration 8 Register */
+#define SAM_LCDC_OVR1CFG9_OFFSET 0x0190 /* Overlay 1 Configuration 9 Register */
+ /* 0x0194-0x023c Reserved */
+#define SAM_LCDC_OVR2CHER_OFFSET 0x0240 /* Overlay 2 Channel Enable Register */
+#define SAM_LCDC_OVR2CHDR_OFFSET 0x0244 /* Overlay 2 Channel Disable Register */
+#define SAM_LCDC_OVR2CHSR_OFFSET 0x0248 /* Overlay 2 Channel Status Register */
+#define SAM_LCDC_OVR2IER_OFFSET 0x024c /* Overlay 2 Interrupt Enable Register */
+#define SAM_LCDC_OVR2IDR_OFFSET 0x0250 /* Overlay 2 Interrupt Disable Register */
+#define SAM_LCDC_OVR2IMR_OFFSET 0x0254 /* Overlay 2 Interrupt Mask Register */
+#define SAM_LCDC_OVR2ISR_OFFSET 0x0258 /* Overlay 2 Interrupt Status Register */
+#define SAM_LCDC_OVR2HEAD_OFFSET 0x025c /* Overlay 2 DMA Head Register */
+#define SAM_LCDC_OVR2ADDR_OFFSET 0x0260 /* Overlay 2 DMA Address Register */
+#define SAM_LCDC_OVR2CTRL_OFFSET 0x0264 /* Overlay 2 DMA Control Register */
+#define SAM_LCDC_OVR2NEXT_OFFSET 0x0268 /* Overlay 2 DMA Next Register */
+#define SAM_LCDC_OVR2CFG0_OFFSET 0x026c /* Overlay 2 Configuration 0 Register */
+#define SAM_LCDC_OVR2CFG1_OFFSET 0x0270 /* Overlay 2 Configuration 1 Register */
+#define SAM_LCDC_OVR2CFG2_OFFSET 0x0274 /* Overlay 2 Configuration 2 Register */
+#define SAM_LCDC_OVR2CFG3_OFFSET 0x0278 /* Overlay 2 Configuration 3 Register */
+#define SAM_LCDC_OVR2CFG4_OFFSET 0x027c /* Overlay 2 Configuration 4 Register */
+#define SAM_LCDC_OVR2CFG5_OFFSET 0x0280 /* Overlay 2 Configuration 5 Register */
+#define SAM_LCDC_OVR2CFG6_OFFSET 0x0284 /* Overlay 2 Configuration 6 Register */
+#define SAM_LCDC_OVR2CFG7_OFFSET 0x0288 /* Overlay 2 Configuration 7 Register */
+#define SAM_LCDC_OVR2CFG8_OFFSET 0x028c /* Overlay 2 Configuration 8 Register */
+#define SAM_LCDC_OVR2CFG9_OFFSET 0x0290 /* Overlay 2 Configuration 9 Register */
+ /* 0x0294-0x033c Reserved */
+#define SAM_LCDC_HEOCHER_OFFSET 0x0340 /* High-End Overlay Channel Enable Register */
+#define SAM_LCDC_HEOCHDR_OFFSET 0x0344 /* High-End Overlay Channel Disable Register */
+#define SAM_LCDC_HEOCHSR_OFFSET 0x0348 /* High-End Overlay Channel Status Register */
+#define SAM_LCDC_HEOIER_OFFSET 0x034c /* High-End Overlay Interrupt Enable Register */
+#define SAM_LCDC_HEOIDR_OFFSET 0x0350 /* High-End Overlay Interrupt Disable Register */
+#define SAM_LCDC_HEOIMR_OFFSET 0x0354 /* High-End Overlay Interrupt Mask Register */
+#define SAM_LCDC_HEOISR_OFFSET 0x0358 /* High-End Overlay Interrupt Status Register */
+#define SAM_LCDC_HEOHEAD_OFFSET 0x035c /* High-End Overlay DMA Head Register */
+#define SAM_LCDC_HEOADDR_OFFSET 0x0360 /* High-End Overlay DMA Address Register */
+#define SAM_LCDC_HEOCTRL_OFFSET 0x0364 /* High-End Overlay DMA Control Register */
+#define SAM_LCDC_HEONEXT_OFFSET 0x0368 /* High-End Overlay DMA Next Register */
+#define SAM_LCDC_HEOUHEAD_OFFSET 0x036c /* High-End Overlay U DMA Head Register */
+#define SAM_LCDC_HEOUADDR_OFFSET 0x0370 /* High-End Overlay U DMA Address Register */
+#define SAM_LCDC_HEOUCTRL_OFFSET 0x0374 /* High-End Overlay U DMA Control Register */
+#define SAM_LCDC_HEOUNEXT_OFFSET 0x0378 /* High-End Overlay U DMA Next Register */
+#define SAM_LCDC_HEOVHEAD_OFFSET 0x037c /* High-End Overlay V DMA Head Register */
+#define SAM_LCDC_HEOVADDR_OFFSET 0x0380 /* High-End Overlay V DMA Address Register */
+#define SAM_LCDC_HEOVCTRL_OFFSET 0x0384 /* High-End Overlay V DMA Control Register */
+#define SAM_LCDC_HEOVNEXT_OFFSET 0x0388 /* High-End Overlay VDMA Next Register */
+#define SAM_LCDC_HEOCFG0_OFFSET 0x038c /* High-End Overlay Configuration Register 0 */
+#define SAM_LCDC_HEOCFG1_OFFSET 0x0390 /* High-End Overlay Configuration Register 1 */
+#define SAM_LCDC_HEOCFG2_OFFSET 0x0394 /* High-End Overlay Configuration Register 2 */
+#define SAM_LCDC_HEOCFG3_OFFSET 0x0398 /* High-End Overlay Configuration Register 3 */
+#define SAM_LCDC_HEOCFG4_OFFSET 0x039c /* High-End Overlay Configuration Register 4 */
+#define SAM_LCDC_HEOCFG5_OFFSET 0x03a0 /* High-End Overlay Configuration Register 5 */
+#define SAM_LCDC_HEOCFG6_OFFSET 0x03a4 /* High-End Overlay Configuration Register 6 */
+#define SAM_LCDC_HEOCFG7_OFFSET 0x03a8 /* High-End Overlay Configuration Register 7 */
+#define SAM_LCDC_HEOCFG8_OFFSET 0x03ac /* High-End Overlay Configuration Register 8 */
+#define SAM_LCDC_HEOCFG9_OFFSET 0x03b0 /* High-End Overlay Configuration Register 9 */
+#define SAM_LCDC_HEOCFG10_OFFSET 0x03b4 /* High-End Overlay Configuration Register 10 */
+#define SAM_LCDC_HEOCFG11_OFFSET 0x03b8 /* High-End Overlay Configuration Register 11 */
+#define SAM_LCDC_HEOCFG12_OFFSET 0x03bc /* High-End Overlay Configuration Register 12 */
+#define SAM_LCDC_HEOCFG13_OFFSET 0x03c0 /* High-End Overlay Configuration Register 13 */
+#define SAM_LCDC_HEOCFG14_OFFSET 0x03c4 /* High-End Overlay Configuration Register 14 */
+#define SAM_LCDC_HEOCFG15_OFFSET 0x03c8 /* High-End Overlay Configuration Register 15 */
+#define SAM_LCDC_HEOCFG16_OFFSET 0x03cc /* High-End Overlay Configuration Register 16 */
+#define SAM_LCDC_HEOCFG17_OFFSET 0x03d0 /* High-End Overlay Configuration Register 17 */
+#define SAM_LCDC_HEOCFG18_OFFSET 0x03d4 /* High-End Overlay Configuration Register 18 */
+#define SAM_LCDC_HEOCFG19_OFFSET 0x03d8 /* High-End Overlay Configuration Register 19 */
+#define SAM_LCDC_HEOCFG20_OFFSET 0x03dc /* High-End Overlay Configuration Register 20 */
+#define SAM_LCDC_HEOCFG21_OFFSET 0x03e0 /* High-End Overlay Configuration Register 21 */
+#define SAM_LCDC_HEOCFG22_OFFSET 0x03e4 /* High-End Overlay Configuration Register 22 */
+#define SAM_LCDC_HEOCFG23_OFFSET 0x03e8 /* High-End Overlay Configuration Register 23 */
+#define SAM_LCDC_HEOCFG24_OFFSET 0x03ec /* High-End Overlay Configuration Register 24 */
+#define SAM_LCDC_HEOCFG25_OFFSET 0x03f0 /* High-End Overlay Configuration Register 25 */
+#define SAM_LCDC_HEOCFG26_OFFSET 0x03f4 /* High-End Overlay Configuration Register 26 */
+#define SAM_LCDC_HEOCFG27_OFFSET 0x03f8 /* High-End Overlay Configuration Register 27 */
+#define SAM_LCDC_HEOCFG28_OFFSET 0x03fc /* High-End Overlay Configuration Register 28 */
+#define SAM_LCDC_HEOCFG29_OFFSET 0x0400 /* High-End Overlay Configuration Register 29 */
+#define SAM_LCDC_HEOCFG30_OFFSET 0x0404 /* High-End Overlay Configuration Register 30 */
+#define SAM_LCDC_HEOCFG31_OFFSET 0x0408 /* High-End Overlay Configuration Register 31 */
+#define SAM_LCDC_HEOCFG32_OFFSET 0x040c /* High-End Overlay Configuration Register 32 */
+#define SAM_LCDC_HEOCFG33_OFFSET 0x0410 /* High-End Overlay Configuration Register 33 */
+#define SAM_LCDC_HEOCFG34_OFFSET 0x0414 /* High-End Overlay Configuration Register 34 */
+#define SAM_LCDC_HEOCFG35_OFFSET 0x0418 /* High-End Overlay Configuration Register 35 */
+#define SAM_LCDC_HEOCFG36_OFFSET 0x041c /* High-End Overlay Configuration Register 36 */
+#define SAM_LCDC_HEOCFG37_OFFSET 0x0420 /* High-End Overlay Configuration Register 37 */
+#define SAM_LCDC_HEOCFG38_OFFSET 0x0424 /* High-End Overlay Configuration Register 38 */
+#define SAM_LCDC_HEOCFG39_OFFSET 0x0428 /* High-End Overlay Configuration Register 39 */
+#define SAM_LCDC_HEOCFG40_OFFSET 0x042c /* High-End Overlay Configuration Register 40 */
+#define SAM_LCDC_HEOCFG41_OFFSET 0x0430 /* High-End Overlay Configuration Register 41 */
+ /* 0x0434-0x043c Reserved */
+#define SAM_LCDC_HCRCHER_OFFSET 0x0440 /* Hardware Cursor Channel Enable Register */
+#define SAM_LCDC_HCRCHDR_OFFSET 0x0444 /* Hardware Cursor Channel Disable Register */
+#define SAM_LCDC_HCRCHSR_OFFSET 0x0448 /* Hardware Cursor Channel Status Register */
+#define SAM_LCDC_HCRIER_OFFSET 0x044c /* Hardware Cursor Interrupt Enable Register */
+#define SAM_LCDC_HCRIDR_OFFSET 0x0450 /* Hardware Cursor Interrupt Disable Register */
+#define SAM_LCDC_HCRIMR_OFFSET 0x0454 /* Hardware Cursor Interrupt Mask Register */
+#define SAM_LCDC_HCRISR_OFFSET 0x0458 /* Hardware Cursor Interrupt Status Register */
+#define SAM_LCDC_HCRHEAD_OFFSET 0x045c /* Hardware Cursor DMA Head Register */
+#define SAM_LCDC_HCRADDR_OFFSET 0x0460 /* Hardware cursor DMA Address Register */
+#define SAM_LCDC_HCRCTRL_OFFSET 0x0464 /* Hardware Cursor DMA Control Register */
+#define SAM_LCDC_HCRNEXT_OFFSET 0x0468 /* Hardware Cursor DMA Next Register */
+#define SAM_LCDC_HCRCFG0_OFFSET 0x046c /* Hardware Cursor Configuration 0 Register */
+#define SAM_LCDC_HCRCFG1_OFFSET 0x0470 /* Hardware Cursor Configuration 1 Register */
+#define SAM_LCDC_HCRCFG2_OFFSET 0x0474 /* Hardware Cursor Configuration 2 Register */
+#define SAM_LCDC_HCRCFG3_OFFSET 0x0478 /* Hardware Cursor Configuration 3 Register */
+#define SAM_LCDC_HCRCFG4_OFFSET 0x047c /* Hardware Cursor Configuration 4 Register */
+ /* 0x0480 Reserved */
+#define SAM_LCDC_HCRCFG6_OFFSET 0x0484 /* Hardware Cursor Configuration 6 Register */
+#define SAM_LCDC_HCRCFG7_OFFSET 0x0488 /* Hardware Cursor Configuration 7 Register */
+#define SAM_LCDC_HCRCFG8_OFFSET 0x048c /* Hardware Cursor Configuration 8 Register */
+#define SAM_LCDC_HCRCFG9_OFFSET 0x0490 /* Hardware Cursor Configuration 9 Register */
+ /* 0x0494-0x053c Reserved */
+#define SAM_LCDC_PPCHER_OFFSET 0x0540 /* Post Processing Channel Enable Register */
+#define SAM_LCDC_PPCHDR_OFFSET 0x0544 /* Post Processing Channel Disable Register */
+#define SAM_LCDC_PPCHSR_OFFSET 0x0548 /* Post Processing Channel Status Register */
+#define SAM_LCDC_PPIER_OFFSET 0x054c /* Post Processing Interrupt Enable Register */
+#define SAM_LCDC_PPIDR_OFFSET 0x0550 /* Post Processing Interrupt Disable Register */
+#define SAM_LCDC_PPIMR_OFFSET 0x0554 /* Post Processing Interrupt Mask Register */
+#define SAM_LCDC_PPISR_OFFSET 0x0558 /* Post Processing Interrupt Status Register */
+#define SAM_LCDC_PPHEAD_OFFSET 0x055c /* Post Processing Head Register */
+#define SAM_LCDC_PPADDR_OFFSET 0x0560 /* Post Processing Address Register */
+#define SAM_LCDC_PPCTRL_OFFSET 0x0564 /* Post Processing Control Register */
+#define SAM_LCDC_PPNEXT_OFFSET 0x0568 /* Post Processing Next Register */
+#define SAM_LCDC_PPCFG0_OFFSET 0x056c /* Post Processing Configuration Register 0 */
+#define SAM_LCDC_PPCFG1_OFFSET 0x0570 /* Post Processing Configuration Register 1 */
+#define SAM_LCDC_PPCFG2_OFFSET 0x0574 /* Post Processing Configuration Register 2 */
+#define SAM_LCDC_PPCFG3_OFFSET 0x0578 /* Post Processing Configuration Register 3 */
+#define SAM_LCDC_PPCFG4_OFFSET 0x057c /* Post Processing Configuration Register 4 */
+#define SAM_LCDC_PPCFG5_OFFSET 0x0580 /* Post Processing Configuration Register 5 */
+ /* 0x0584-0x05fc Reserved */
+/* 0x0600-0x08fc Base CLUT Registers 0-255 */
+
+#define SAM_LCDC_BASECLUT_OFFSET(n) (0x0600 + ((n) << 2))
+
+/* 0x0a00-0x0dfc Overlay 1 CLUT Registers 0-255 */
+
+#define SAM_LCDC_OVR1CLUT_OFFSET(n) (0xa00 + ((n) << 2))
+
+/* 0x0e00-0x11fc Overlay 2 CLUT Registers 0-255 */
+
+#define SAM_LCDC_OVR2CLUT_OFFSET(n) (0x0e00 + ((n) << 2))
+
+/* 0x1200-0x15fc High End Overlay CLUT Registers 0-255 */
+
+#define SAM_LCDC_HEOCLUT_OFFSET(n) (0x1200 + ((n) << 2))
+
+/* 0x1600-0x19fc Hardware Cursor CLUT Registers 0-255 */
+
+#define SAM_LCDC_HCRCLUT_OFFSET(n) (0x1600 + ((n) << 2))
+ /* 0x1a00-0x1fe4 Reserved */
+
+/* LCDC Register Addresses *********************************************************/
+
+#define SAM_LCDC_LCDCFG0 (SAM_LCDC_VBASE+SAM_LCDC_LCDCFG0_OFFSET)
+#define SAM_LCDC_LCDCFG1 (SAM_LCDC_VBASE+SAM_LCDC_LCDCFG1_OFFSET)
+#define SAM_LCDC_LCDCFG2 (SAM_LCDC_VBASE+SAM_LCDC_LCDCFG2_OFFSET)
+#define SAM_LCDC_LCDCFG3 (SAM_LCDC_VBASE+SAM_LCDC_LCDCFG3_OFFSET)
+#define SAM_LCDC_LCDCFG4 (SAM_LCDC_VBASE+SAM_LCDC_LCDCFG4_OFFSET)
+#define SAM_LCDC_LCDCFG5 (SAM_LCDC_VBASE+SAM_LCDC_LCDCFG5_OFFSET)
+#define SAM_LCDC_LCDCFG6 (SAM_LCDC_VBASE+SAM_LCDC_LCDCFG6_OFFSET)
+
+#define SAM_LCDC_LCDEN (SAM_LCDC_VBASE+SAM_LCDC_LCDEN_OFFSET)
+#define SAM_LCDC_LCDDIS (SAM_LCDC_VBASE+SAM_LCDC_LCDDIS_OFFSET)
+#define SAM_LCDC_LCDSR (SAM_LCDC_VBASE+SAM_LCDC_LCDSR_OFFSET)
+#define SAM_LCDC_LCDIER (SAM_LCDC_VBASE+SAM_LCDC_LCDIER_OFFSET)
+#define SAM_LCDC_LCDIDR (SAM_LCDC_VBASE+SAM_LCDC_LCDIDR_OFFSET)
+#define SAM_LCDC_LCDIMR (SAM_LCDC_VBASE+SAM_LCDC_LCDIMR_OFFSET)
+#define SAM_LCDC_LCDISR (SAM_LCDC_VBASE+SAM_LCDC_LCDISR_OFFSET)
+
+#define SAM_LCDC_BASECHER (SAM_LCDC_VBASE+SAM_LCDC_BASECHER_OFFSET)
+#define SAM_LCDC_BASECHDR (SAM_LCDC_VBASE+SAM_LCDC_BASECHDR_OFFSET)
+#define SAM_LCDC_BASECHSR (SAM_LCDC_VBASE+SAM_LCDC_BASECHSR_OFFSET)
+#define SAM_LCDC_BASEIER (SAM_LCDC_VBASE+SAM_LCDC_BASEIER_OFFSET)
+#define SAM_LCDC_BASEIDR (SAM_LCDC_VBASE+SAM_LCDC_BASEIDR_OFFSET)
+#define SAM_LCDC_BASEIMR (SAM_LCDC_VBASE+SAM_LCDC_BASEIMR_OFFSET)
+#define SAM_LCDC_BASEISR (SAM_LCDC_VBASE+SAM_LCDC_BASEISR_OFFSET)
+#define SAM_LCDC_BASEHEAD (SAM_LCDC_VBASE+SAM_LCDC_BASEHEAD_OFFSET)
+#define SAM_LCDC_BASEADDR (SAM_LCDC_VBASE+SAM_LCDC_BASEADDR_OFFSET)
+#define SAM_LCDC_BASECTRL (SAM_LCDC_VBASE+SAM_LCDC_BASECTRL_OFFSET)
+#define SAM_LCDC_BASENEXT (SAM_LCDC_VBASE+SAM_LCDC_BASENEXT_OFFSET)
+#define SAM_LCDC_BASECFG0 (SAM_LCDC_VBASE+SAM_LCDC_BASECFG0_OFFSET)
+#define SAM_LCDC_BASECFG1 (SAM_LCDC_VBASE+SAM_LCDC_BASECFG1_OFFSET)
+#define SAM_LCDC_BASECFG2 (SAM_LCDC_VBASE+SAM_LCDC_BASECFG2_OFFSET)
+#define SAM_LCDC_BASECFG3 (SAM_LCDC_VBASE+SAM_LCDC_BASECFG3_OFFSET)
+#define SAM_LCDC_BASECFG4 (SAM_LCDC_VBASE+SAM_LCDC_BASECFG4_OFFSET)
+#define SAM_LCDC_BASECFG5 (SAM_LCDC_VBASE+SAM_LCDC_BASECFG5_OFFSET)
+#define SAM_LCDC_BASECFG6 (SAM_LCDC_VBASE+SAM_LCDC_BASECFG6_OFFSET)
+
+#define SAM_LCDC_OVR1CHER (SAM_LCDC_VBASE+SAM_LCDC_OVR1CHER_OFFSET)
+#define SAM_LCDC_OVR1CHDR (SAM_LCDC_VBASE+SAM_LCDC_OVR1CHDR_OFFSET)
+#define SAM_LCDC_OVR1CHSR (SAM_LCDC_VBASE+SAM_LCDC_OVR1CHSR_OFFSET)
+#define SAM_LCDC_OVR1IER (SAM_LCDC_VBASE+SAM_LCDC_OVR1IER_OFFSET)
+#define SAM_LCDC_OVR1IDR (SAM_LCDC_VBASE+SAM_LCDC_OVR1IDR_OFFSET)
+#define SAM_LCDC_OVR1IMR (SAM_LCDC_VBASE+SAM_LCDC_OVR1IMR_OFFSET)
+#define SAM_LCDC_OVR1ISR (SAM_LCDC_VBASE+SAM_LCDC_OVR1ISR_OFFSET)
+#define SAM_LCDC_OVR1HEAD (SAM_LCDC_VBASE+SAM_LCDC_OVR1HEAD_OFFSET)
+#define SAM_LCDC_OVR1ADDR (SAM_LCDC_VBASE+SAM_LCDC_OVR1ADDR_OFFSET)
+#define SAM_LCDC_OVR1CTRL (SAM_LCDC_VBASE+SAM_LCDC_OVR1CTRL_OFFSET)
+#define SAM_LCDC_OVR1NEXT (SAM_LCDC_VBASE+SAM_LCDC_OVR1NEXT_OFFSET)
+#define SAM_LCDC_OVR1CFG0 (SAM_LCDC_VBASE+SAM_LCDC_OVR1CFG0_OFFSET)
+#define SAM_LCDC_OVR1CFG1 (SAM_LCDC_VBASE+SAM_LCDC_OVR1CFG1_OFFSET)
+#define SAM_LCDC_OVR1CFG2 (SAM_LCDC_VBASE+SAM_LCDC_OVR1CFG2_OFFSET)
+#define SAM_LCDC_OVR1CFG3 (SAM_LCDC_VBASE+SAM_LCDC_OVR1CFG3_OFFSET)
+#define SAM_LCDC_OVR1CFG4 (SAM_LCDC_VBASE+SAM_LCDC_OVR1CFG4_OFFSET)
+#define SAM_LCDC_OVR1CFG5 (SAM_LCDC_VBASE+SAM_LCDC_OVR1CFG5_OFFSET)
+#define SAM_LCDC_OVR1CFG6 (SAM_LCDC_VBASE+SAM_LCDC_OVR1CFG6_OFFSET)
+#define SAM_LCDC_OVR1CFG7 (SAM_LCDC_VBASE+SAM_LCDC_OVR1CFG7_OFFSET)
+#define SAM_LCDC_OVR1CFG8 (SAM_LCDC_VBASE+SAM_LCDC_OVR1CFG8_OFFSET)
+#define SAM_LCDC_OVR1CFG9 (SAM_LCDC_VBASE+SAM_LCDC_OVR1CFG9_OFFSET)
+
+#define SAM_LCDC_OVR2CHER (SAM_LCDC_VBASE+SAM_LCDC_OVR2CHER_OFFSET)
+#define SAM_LCDC_OVR2CHDR (SAM_LCDC_VBASE+SAM_LCDC_OVR2CHDR_OFFSET)
+#define SAM_LCDC_OVR2CHSR (SAM_LCDC_VBASE+SAM_LCDC_OVR2CHSR_OFFSET)
+#define SAM_LCDC_OVR2IER (SAM_LCDC_VBASE+SAM_LCDC_OVR2IER_OFFSET)
+#define SAM_LCDC_OVR2IDR (SAM_LCDC_VBASE+SAM_LCDC_OVR2IDR_OFFSET)
+#define SAM_LCDC_OVR2IMR (SAM_LCDC_VBASE+SAM_LCDC_OVR2IMR_OFFSET)
+#define SAM_LCDC_OVR2ISR (SAM_LCDC_VBASE+SAM_LCDC_OVR2ISR_OFFSET)
+#define SAM_LCDC_OVR2HEAD (SAM_LCDC_VBASE+SAM_LCDC_OVR2HEAD_OFFSET)
+#define SAM_LCDC_OVR2ADDR (SAM_LCDC_VBASE+SAM_LCDC_OVR2ADDR_OFFSET)
+#define SAM_LCDC_OVR2CTRL (SAM_LCDC_VBASE+SAM_LCDC_OVR2CTRL_OFFSET)
+#define SAM_LCDC_OVR2NEXT (SAM_LCDC_VBASE+SAM_LCDC_OVR2NEXT_OFFSET)
+#define SAM_LCDC_OVR2CFG0 (SAM_LCDC_VBASE+SAM_LCDC_OVR2CFG0_OFFSET)
+#define SAM_LCDC_OVR2CFG1 (SAM_LCDC_VBASE+SAM_LCDC_OVR2CFG1_OFFSET)
+#define SAM_LCDC_OVR2CFG2 (SAM_LCDC_VBASE+SAM_LCDC_OVR2CFG2_OFFSET)
+#define SAM_LCDC_OVR2CFG3 (SAM_LCDC_VBASE+SAM_LCDC_OVR2CFG3_OFFSET)
+#define SAM_LCDC_OVR2CFG4 (SAM_LCDC_VBASE+SAM_LCDC_OVR2CFG4_OFFSET)
+#define SAM_LCDC_OVR2CFG5 (SAM_LCDC_VBASE+SAM_LCDC_OVR2CFG5_OFFSET)
+#define SAM_LCDC_OVR2CFG6 (SAM_LCDC_VBASE+SAM_LCDC_OVR2CFG6_OFFSET)
+#define SAM_LCDC_OVR2CFG7 (SAM_LCDC_VBASE+SAM_LCDC_OVR2CFG7_OFFSET)
+#define SAM_LCDC_OVR2CFG8 (SAM_LCDC_VBASE+SAM_LCDC_OVR2CFG8_OFFSET)
+#define SAM_LCDC_OVR2CFG9 (SAM_LCDC_VBASE+SAM_LCDC_OVR2CFG9_OFFSET)
+
+#define SAM_LCDC_HEOCHER (SAM_LCDC_VBASE+SAM_LCDC_HEOCHER_OFFSET)
+#define SAM_LCDC_HEOCHDR (SAM_LCDC_VBASE+SAM_LCDC_HEOCHDR_OFFSET)
+#define SAM_LCDC_HEOCHSR (SAM_LCDC_VBASE+SAM_LCDC_HEOCHSR_OFFSET)
+#define SAM_LCDC_HEOIER (SAM_LCDC_VBASE+SAM_LCDC_HEOIER_OFFSET)
+#define SAM_LCDC_HEOIDR (SAM_LCDC_VBASE+SAM_LCDC_HEOIDR_OFFSET)
+#define SAM_LCDC_HEOIMR (SAM_LCDC_VBASE+SAM_LCDC_HEOIMR_OFFSET)
+#define SAM_LCDC_HEOISR (SAM_LCDC_VBASE+SAM_LCDC_HEOISR_OFFSET)
+#define SAM_LCDC_HEOHEAD (SAM_LCDC_VBASE+SAM_LCDC_HEOHEAD_OFFSET)
+#define SAM_LCDC_HEOADDR (SAM_LCDC_VBASE+SAM_LCDC_HEOADDR_OFFSET)
+#define SAM_LCDC_HEOCTRL (SAM_LCDC_VBASE+SAM_LCDC_HEOCTRL_OFFSET)
+#define SAM_LCDC_HEONEXT (SAM_LCDC_VBASE+SAM_LCDC_HEONEXT_OFFSET)
+#define SAM_LCDC_HEOUHEAD (SAM_LCDC_VBASE+SAM_LCDC_HEOUHEAD_OFFSET)
+#define SAM_LCDC_HEOUADDR (SAM_LCDC_VBASE+SAM_LCDC_HEOUADDR_OFFSET)
+#define SAM_LCDC_HEOUCTRL (SAM_LCDC_VBASE+SAM_LCDC_HEOUCTRL_OFFSET)
+#define SAM_LCDC_HEOUNEXT (SAM_LCDC_VBASE+SAM_LCDC_HEOUNEXT_OFFSET)
+#define SAM_LCDC_HEOVHEAD (SAM_LCDC_VBASE+SAM_LCDC_HEOVHEAD_OFFSET)
+#define SAM_LCDC_HEOVADDR (SAM_LCDC_VBASE+SAM_LCDC_HEOVADDR_OFFSET)
+#define SAM_LCDC_HEOVCTRL (SAM_LCDC_VBASE+SAM_LCDC_HEOVCTRL_OFFSET)
+#define SAM_LCDC_HEOVNEXT (SAM_LCDC_VBASE+SAM_LCDC_HEOVNEXT_OFFSET)
+#define SAM_LCDC_HEOCFG0 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG0_OFFSET)
+#define SAM_LCDC_HEOCFG1 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG1_OFFSET)
+#define SAM_LCDC_HEOCFG2 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG2_OFFSET)
+#define SAM_LCDC_HEOCFG3 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG3_OFFSET)
+#define SAM_LCDC_HEOCFG4 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG4_OFFSET)
+#define SAM_LCDC_HEOCFG5 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG5_OFFSET)
+#define SAM_LCDC_HEOCFG6 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG6_OFFSET)
+#define SAM_LCDC_HEOCFG7 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG7_OFFSET)
+#define SAM_LCDC_HEOCFG8 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG8_OFFSET)
+#define SAM_LCDC_HEOCFG9 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG9_OFFSET)
+#define SAM_LCDC_HEOCFG10 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG10_OFFSET)
+#define SAM_LCDC_HEOCFG11 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG11_OFFSET)
+#define SAM_LCDC_HEOCFG12 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG12_OFFSET)
+#define SAM_LCDC_HEOCFG13 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG13_OFFSET)
+#define SAM_LCDC_HEOCFG14 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG14_OFFSET)
+#define SAM_LCDC_HEOCFG15 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG15_OFFSET)
+#define SAM_LCDC_HEOCFG16 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG16_OFFSET)
+#define SAM_LCDC_HEOCFG17 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG17_OFFSET)
+#define SAM_LCDC_HEOCFG18 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG18_OFFSET)
+#define SAM_LCDC_HEOCFG19 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG19_OFFSET)
+#define SAM_LCDC_HEOCFG20 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG20_OFFSET)
+#define SAM_LCDC_HEOCFG21 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG21_OFFSET)
+#define SAM_LCDC_HEOCFG22 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG22_OFFSET)
+#define SAM_LCDC_HEOCFG23 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG23_OFFSET)
+#define SAM_LCDC_HEOCFG24 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG24_OFFSET)
+#define SAM_LCDC_HEOCFG25 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG25_OFFSET)
+#define SAM_LCDC_HEOCFG26 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG26_OFFSET)
+#define SAM_LCDC_HEOCFG27 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG27_OFFSET)
+#define SAM_LCDC_HEOCFG28 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG28_OFFSET)
+#define SAM_LCDC_HEOCFG29 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG29_OFFSET)
+#define SAM_LCDC_HEOCFG30 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG30_OFFSET)
+#define SAM_LCDC_HEOCFG31 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG31_OFFSET)
+#define SAM_LCDC_HEOCFG32 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG32_OFFSET)
+#define SAM_LCDC_HEOCFG33 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG33_OFFSET)
+#define SAM_LCDC_HEOCFG34 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG34_OFFSET)
+#define SAM_LCDC_HEOCFG35 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG35_OFFSET)
+#define SAM_LCDC_HEOCFG36 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG36_OFFSET)
+#define SAM_LCDC_HEOCFG37 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG37_OFFSET)
+#define SAM_LCDC_HEOCFG38 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG38_OFFSET)
+#define SAM_LCDC_HEOCFG39 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG39_OFFSET)
+#define SAM_LCDC_HEOCFG40 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG40_OFFSET)
+#define SAM_LCDC_HEOCFG41 (SAM_LCDC_VBASE+SAM_LCDC_HEOCFG41_OFFSET)
+
+#define SAM_LCDC_HCRCHER (SAM_LCDC_VBASE+SAM_LCDC_HCRCHER_OFFSET)
+#define SAM_LCDC_HCRCHDR (SAM_LCDC_VBASE+SAM_LCDC_HCRCHDR_OFFSET)
+#define SAM_LCDC_HCRCHSR (SAM_LCDC_VBASE+SAM_LCDC_HCRCHSR_OFFSET)
+#define SAM_LCDC_HCRIER (SAM_LCDC_VBASE+SAM_LCDC_HCRIER_OFFSET)
+#define SAM_LCDC_HCRIDR (SAM_LCDC_VBASE+SAM_LCDC_HCRIDR_OFFSET)
+#define SAM_LCDC_HCRIMR (SAM_LCDC_VBASE+SAM_LCDC_HCRIMR_OFFSET)
+#define SAM_LCDC_HCRISR (SAM_LCDC_VBASE+SAM_LCDC_HCRISR_OFFSET)
+#define SAM_LCDC_HCRHEAD (SAM_LCDC_VBASE+SAM_LCDC_HCRHEAD_OFFSET)
+#define SAM_LCDC_HCRADDR (SAM_LCDC_VBASE+SAM_LCDC_HCRADDR_OFFSET)
+#define SAM_LCDC_HCRCTRL (SAM_LCDC_VBASE+SAM_LCDC_HCRCTRL_OFFSET)
+#define SAM_LCDC_HCRNEXT (SAM_LCDC_VBASE+SAM_LCDC_HCRNEXT_OFFSET)
+#define SAM_LCDC_HCRCFG0 (SAM_LCDC_VBASE+SAM_LCDC_HCRCFG0_OFFSET)
+#define SAM_LCDC_HCRCFG1 (SAM_LCDC_VBASE+SAM_LCDC_HCRCFG1_OFFSET)
+#define SAM_LCDC_HCRCFG2 (SAM_LCDC_VBASE+SAM_LCDC_HCRCFG2_OFFSET)
+#define SAM_LCDC_HCRCFG3 (SAM_LCDC_VBASE+SAM_LCDC_HCRCFG3_OFFSET)
+#define SAM_LCDC_HCRCFG4 (SAM_LCDC_VBASE+SAM_LCDC_HCRCFG4_OFFSET)
+#define SAM_LCDC_HCRCFG6 (SAM_LCDC_VBASE+SAM_LCDC_HCRCFG6_OFFSET)
+#define SAM_LCDC_HCRCFG7 (SAM_LCDC_VBASE+SAM_LCDC_HCRCFG7_OFFSET)
+#define SAM_LCDC_HCRCFG8 (SAM_LCDC_VBASE+SAM_LCDC_HCRCFG8_OFFSET)
+#define SAM_LCDC_HCRCFG9 (SAM_LCDC_VBASE+SAM_LCDC_HCRCFG9_OFFSET)
+
+#define SAM_LCDC_PPCHER (SAM_LCDC_VBASE+SAM_LCDC_PPCHER_OFFSET)
+#define SAM_LCDC_PPCHDR (SAM_LCDC_VBASE+SAM_LCDC_PPCHDR_OFFSET)
+#define SAM_LCDC_PPCHSR (SAM_LCDC_VBASE+SAM_LCDC_PPCHSR_OFFSET)
+#define SAM_LCDC_PPIER (SAM_LCDC_VBASE+SAM_LCDC_PPIER_OFFSET)
+#define SAM_LCDC_PPIDR (SAM_LCDC_VBASE+SAM_LCDC_PPIDR_OFFSET)
+#define SAM_LCDC_PPIMR (SAM_LCDC_VBASE+SAM_LCDC_PPIMR_OFFSET)
+#define SAM_LCDC_PPISR (SAM_LCDC_VBASE+SAM_LCDC_PPISR_OFFSET)
+#define SAM_LCDC_PPHEAD (SAM_LCDC_VBASE+SAM_LCDC_PPHEAD_OFFSET)
+#define SAM_LCDC_PPADDR (SAM_LCDC_VBASE+SAM_LCDC_PPADDR_OFFSET)
+#define SAM_LCDC_PPCTRL (SAM_LCDC_VBASE+SAM_LCDC_PPCTRL_OFFSET)
+#define SAM_LCDC_PPNEXT (SAM_LCDC_VBASE+SAM_LCDC_PPNEXT_OFFSET)
+#define SAM_LCDC_PPCFG0 (SAM_LCDC_VBASE+SAM_LCDC_PPCFG0_OFFSET)
+#define SAM_LCDC_PPCFG1 (SAM_LCDC_VBASE+SAM_LCDC_PPCFG1_OFFSET)
+#define SAM_LCDC_PPCFG2 (SAM_LCDC_VBASE+SAM_LCDC_PPCFG2_OFFSET)
+#define SAM_LCDC_PPCFG3 (SAM_LCDC_VBASE+SAM_LCDC_PPCFG3_OFFSET)
+#define SAM_LCDC_PPCFG4 (SAM_LCDC_VBASE+SAM_LCDC_PPCFG4_OFFSET)
+#define SAM_LCDC_PPCFG5 (SAM_LCDC_VBASE+SAM_LCDC_PPCFG5_OFFSET)
+
+/* 0x0600-0x08fc Base CLUT Registers 0-255 */
+
+#define SAM_LCDC_BASECLUT(n) (SAM_LCDC_VBASE+SAM_LCDC_BASECLUT_OFFSET(n))
+
+/* 0x0a00-0x0dfc Overlay 1 CLUT Registers 0-255 */
+
+#define SAM_LCDC_OVR1CLUT(n) (SAM_LCDC_VBASE+SAM_LCDC_OVR1CLUT_OFFSET(n))
+
+/* 0x0e00-0x11fc Overlay 2 CLUT Registers 0-255 */
+
+#define SAM_LCDC_OVR2CLUT(n) (SAM_LCDC_VBASE+SAM_LCDC_OVR2CLUT_OFFSET(n))
+
+/* 0x1200-0x15fc High End Overlay CLUT Registers 0-255 */
+
+#define SAM_LCDC_HEOCLUT(n) (SAM_LCDC_VBASE+SAM_LCDC_HEOCLUT_OFFSET(n))
+
+/* 0x1600-0x19fc Hardware Cursor CLUT Registers 0-255 */
+
+#define SAM_LCDC_HCRCLUT(n) (SAM_LCDC_VBASE+SAM_LCDC_HCRCLUT_OFFSET(n))
+
+/* LCDC Register Bit Definitions ***************************************************/
+
+/* LCD Controller Configuration Register 0 */
+#define LCDC_LCDCFG0_
+/* LCD Controller Configuration Register 1 */
+#define LCDC_LCDCFG1_
+/* LCD Controller Configuration Register 2 */
+#define LCDC_LCDCFG2_
+/* LCD Controller Configuration Register 3 */
+#define LCDC_LCDCFG3_
+/* LCD Controller Configuration Register 4 */
+#define LCDC_LCDCFG4_
+/* LCD Controller Configuration Register 5 */
+#define LCDC_LCDCFG5_
+/* LCD Controller Configuration Register 6 */
+#define LCDC_LCDCFG6_
+
+/* LCD Controller Enable Register */
+#define LCDC_LCDEN_
+/* LCD Controller Disable Register */
+#define LCDC_LCDDIS_
+/* LCD Controller Status Register */
+#define LCDC_LCDSR_
+/* LCD Controller Interrupt Enable Register */
+#define LCDC_LCDIER_
+/* LCD Controller Interrupt Disable Register */
+#define LCDC_LCDIDR_
+/* LCD Controller Interrupt Mask Register */
+#define LCDC_LCDIMR_
+/* LCD Controller Interrupt Status Register */
+#define LCDC_LCDISR_
+
+/* Base Layer Channel Enable Register */
+#define LCDC_BASECHER_
+/* Base Layer Channel Disable Register */
+#define LCDC_BASECHDR_
+/* Base Layer Channel Status Register */
+#define LCDC_BASECHSR_
+/* Base Layer Interrupt Enable Register */
+#define LCDC_BASEIER_
+/* Base Layer Interrupt Disable Register */
+#define LCDC_BASEIDR_
+/* Base Layer Interrupt Mask Register */
+#define LCDC_BASEIMR_
+/* Base Layer Interrupt Status Register */
+#define LCDC_BASEISR_
+/* Base DMA Head Register */
+#define LCDC_BASEHEAD_
+/* Base DMA Address Register */
+#define LCDC_BASEADDR_
+/* Base DMA Control Register */
+#define LCDC_BASECTRL_
+/* Base DMA Next Register */
+#define LCDC_BASENEXT_
+
+/* Base Configuration register 0 */
+#define LCDC_BASECFG0_
+/* Base Configuration register 1 */
+#define LCDC_BASECFG1_
+/* Base Configuration register 2 */
+#define LCDC_BASECFG2_
+/* Base Configuration register 3 */
+#define LCDC_BASECFG3_
+/* Base Configuration register 4 */
+#define LCDC_BASECFG4_
+/* Base Configuration register 5 */
+#define LCDC_BASECFG5_
+/* Base Configuration register 6 */
+#define LCDC_BASECFG6_
+
+/* Overlay 1 Channel Enable Register */
+#define LCDC_OVR1CHER_
+/* Overlay 1 Channel Disable Register */
+#define LCDC_OVR1CHDR_
+/* Overlay 1 Channel Status Register */
+#define LCDC_OVR1CHSR_
+/* Overlay 1 Interrupt Enable Register */
+#define LCDC_OVR1IER_
+/* Overlay 1 Interrupt Disable Register */
+#define LCDC_OVR1IDR_
+/* Overlay 1 Interrupt Mask Register */
+#define LCDC_OVR1IMR_
+/* Overlay 1 Interrupt Status Register */
+#define LCDC_OVR1ISR_
+/* Overlay 1 DMA Head Register */
+#define LCDC_OVR1HEAD_
+/* Overlay 1 DMA Address Register */
+#define LCDC_OVR1ADDR_
+/* Overlay 1 DMA Control Register */
+#define LCDC_OVR1CTRL_
+/* Overlay 1 DMA Next Register */
+#define LCDC_OVR1NEXT_
+
+/* Overlay 1 Configuration 0 Register */
+#define LCDC_OVR1CFG0_
+/* Overlay 1 Configuration 1 Register */
+#define LCDC_OVR1CFG1_
+/* Overlay 1 Configuration 2 Register */
+#define LCDC_OVR1CFG2_
+/* Overlay 1 Configuration 3 Register */
+#define LCDC_OVR1CFG3_
+/* Overlay 1 Configuration 4 Register */
+#define LCDC_OVR1CFG4_
+/* Overlay 1 Configuration 5 Register */
+#define LCDC_OVR1CFG5_
+/* Overlay 1 Configuration 6 Register */
+#define LCDC_OVR1CFG6_
+/* Overlay 1 Configuration 7 Register */
+#define LCDC_OVR1CFG7_
+/* Overlay 1 Configuration 8 Register */
+#define LCDC_OVR1CFG8_
+/* Overlay 1 Configuration 9 Register */
+#define LCDC_OVR1CFG9_
+
+/* Overlay 2 Channel Enable Register */
+#define LCDC_OVR2CHER_
+/* Overlay 2 Channel Disable Register */
+#define LCDC_OVR2CHDR_
+/* Overlay 2 Channel Status Register */
+#define LCDC_OVR2CHSR_
+/* Overlay 2 Interrupt Enable Register */
+#define LCDC_OVR2IER_
+/* Overlay 2 Interrupt Disable Register */
+#define LCDC_OVR2IDR_
+/* Overlay 2 Interrupt Mask Register */
+#define LCDC_OVR2IMR_
+/* Overlay 2 Interrupt Status Register */
+#define LCDC_OVR2ISR_
+/* Overlay 2 DMA Head Register */
+#define LCDC_OVR2HEAD_
+/* Overlay 2 DMA Address Register */
+#define LCDC_OVR2ADDR_
+/* Overlay 2 DMA Control Register */
+#define LCDC_OVR2CTRL_
+/* Overlay 2 DMA Next Register */
+#define LCDC_OVR2NEXT_
+
+/* Overlay 2 Configuration 0 Register */
+#define LCDC_OVR2CFG0_
+/* Overlay 2 Configuration 1 Register */
+#define LCDC_OVR2CFG1_
+/* Overlay 2 Configuration 2 Register */
+#define LCDC_OVR2CFG2_
+/* Overlay 2 Configuration 3 Register */
+#define LCDC_OVR2CFG3_
+/* Overlay 2 Configuration 4 Register */
+#define LCDC_OVR2CFG4_
+/* Overlay 2 Configuration 5 Register */
+#define LCDC_OVR2CFG5_
+/* Overlay 2 Configuration 6 Register */
+#define LCDC_OVR2CFG6_
+/* Overlay 2 Configuration 7 Register */
+#define LCDC_OVR2CFG7_
+/* Overlay 2 Configuration 8 Register */
+#define LCDC_OVR2CFG8_
+/* Overlay 2 Configuration 9 Register */
+#define LCDC_OVR2CFG9_
+
+/* High-End Overlay Channel Enable Register */
+#define LCDC_HEOCHER_
+/* High-End Overlay Channel Disable Register */
+#define LCDC_HEOCHDR_
+/* High-End Overlay Channel Status Register */
+#define LCDC_HEOCHSR_
+/* High-End Overlay Interrupt Enable Register */
+#define LCDC_HEOIER_
+/* High-End Overlay Interrupt Disable Register */
+#define LCDC_HEOIDR_
+/* High-End Overlay Interrupt Mask Register */
+#define LCDC_HEOIMR_
+/* High-End Overlay Interrupt Status Register */
+#define LCDC_HEOISR_
+/* High-End Overlay DMA Head Register */
+#define LCDC_HEOHEAD_
+/* High-End Overlay DMA Address Register */
+#define LCDC_HEOADDR_
+/* High-End Overlay DMA Control Register */
+#define LCDC_HEOCTRL_
+/* High-End Overlay DMA Next Register */
+#define LCDC_HEONEXT_
+/* High-End Overlay U DMA Head Register */
+#define LCDC_HEOUHEAD_
+/* High-End Overlay U DMA Address Register */
+#define LCDC_HEOUADDR_
+/* High-End Overlay U DMA Control Register */
+#define LCDC_HEOUCTRL_
+/* High-End Overlay U DMA Next Register */
+#define LCDC_HEOUNEXT_
+/* High-End Overlay V DMA Head Register */
+#define LCDC_HEOVHEAD_
+/* High-End Overlay V DMA Address Register */
+#define LCDC_HEOVADDR_
+/* High-End Overlay V DMA Control Register */
+#define LCDC_HEOVCTRL_
+/* High-End Overlay VDMA Next Register */
+#define LCDC_HEOVNEXT_
+
+/* High-End Overlay Configuration Register 0 */
+#define LCDC_HEOCFG0_
+/* High-End Overlay Configuration Register 1 */
+#define LCDC_HEOCFG1_
+/* High-End Overlay Configuration Register 2 */
+#define LCDC_HEOCFG2_
+/* High-End Overlay Configuration Register 3 */
+#define LCDC_HEOCFG3_
+/* High-End Overlay Configuration Register 4 */
+#define LCDC_HEOCFG4_
+/* High-End Overlay Configuration Register 5 */
+#define LCDC_HEOCFG5_
+/* High-End Overlay Configuration Register 6 */
+#define LCDC_HEOCFG6_
+/* High-End Overlay Configuration Register 7 */
+#define LCDC_HEOCFG7_
+/* High-End Overlay Configuration Register 8 */
+#define LCDC_HEOCFG8_
+/* High-End Overlay Configuration Register 9 */
+#define LCDC_HEOCFG9_
+/* High-End Overlay Configuration Register 10 */
+#define LCDC_HEOCFG10_
+/* High-End Overlay Configuration Register 11 */
+#define LCDC_HEOCFG11_
+/* High-End Overlay Configuration Register 12 */
+#define LCDC_HEOCFG12_
+/* High-End Overlay Configuration Register 13 */
+#define LCDC_HEOCFG13_
+/* High-End Overlay Configuration Register 14 */
+#define LCDC_HEOCFG14_
+/* High-End Overlay Configuration Register 15 */
+#define LCDC_HEOCFG15_
+/* High-End Overlay Configuration Register 16 */
+#define LCDC_HEOCFG16_
+/* High-End Overlay Configuration Register 17 */
+#define LCDC_HEOCFG17_
+/* High-End Overlay Configuration Register 18 */
+#define LCDC_HEOCFG18_
+/* High-End Overlay Configuration Register 19 */
+#define LCDC_HEOCFG19_
+/* High-End Overlay Configuration Register 20 */
+#define LCDC_HEOCFG20_
+/* High-End Overlay Configuration Register 21 */
+#define LCDC_HEOCFG21_
+/* High-End Overlay Configuration Register 22 */
+#define LCDC_HEOCFG22_
+/* High-End Overlay Configuration Register 23 */
+#define LCDC_HEOCFG23_
+/* High-End Overlay Configuration Register 24 */
+#define LCDC_HEOCFG24_
+/* High-End Overlay Configuration Register 25 */
+#define LCDC_HEOCFG25_
+/* High-End Overlay Configuration Register 26 */
+#define LCDC_HEOCFG26_
+/* High-End Overlay Configuration Register 27 */
+#define LCDC_HEOCFG27_
+/* High-End Overlay Configuration Register 28 */
+#define LCDC_HEOCFG28_
+/* High-End Overlay Configuration Register 29 */
+#define LCDC_HEOCFG29_
+/* High-End Overlay Configuration Register 30 */
+#define LCDC_HEOCFG30_
+/* High-End Overlay Configuration Register 31 */
+#define LCDC_HEOCFG31_
+/* High-End Overlay Configuration Register 32 */
+#define LCDC_HEOCFG32_
+/* High-End Overlay Configuration Register 33 */
+#define LCDC_HEOCFG33_
+/* High-End Overlay Configuration Register 34 */
+#define LCDC_HEOCFG34_
+/* High-End Overlay Configuration Register 35 */
+#define LCDC_HEOCFG35_
+/* High-End Overlay Configuration Register 36 */
+#define LCDC_HEOCFG36_
+/* High-End Overlay Configuration Register 37 */
+#define LCDC_HEOCFG37_
+/* High-End Overlay Configuration Register 38 */
+#define LCDC_HEOCFG38_
+/* High-End Overlay Configuration Register 39 */
+#define LCDC_HEOCFG39_
+/* High-End Overlay Configuration Register 40 */
+#define LCDC_HEOCFG40_
+/* High-End Overlay Configuration Register 41 */
+#define LCDC_HEOCFG41_
+
+/* Hardware Cursor Channel Enable Register */
+#define LCDC_HCRCHER_OFFSET 0x0440 /* Hardware Cursor Channel Enable Register */
+/* Hardware Cursor Channel Disable Register */
+#define LCDC_HCRCHDR_OFFSET 0x0444 /* Hardware Cursor Channel Disable Register */
+/* Hardware Cursor Channel Status Register */
+#define LCDC_HCRCHSR_OFFSET 0x0448 /* Hardware Cursor Channel Status Register */
+/* Hardware Cursor Interrupt Enable Register */
+#define LCDC_HCRIER_OFFSET 0x044c /* Hardware Cursor Interrupt Enable Register */
+/* Hardware Cursor Interrupt Disable Register */
+#define LCDC_HCRIDR_OFFSET 0x0450 /* Hardware Cursor Interrupt Disable Register */
+/* Hardware Cursor Interrupt Mask Register */
+#define LCDC_HCRIMR_OFFSET 0x0454 /* Hardware Cursor Interrupt Mask Register */
+/* Hardware Cursor Interrupt Status Register */
+#define LCDC_HCRISR_OFFSET 0x0458 /* Hardware Cursor Interrupt Status Register */
+/* Hardware Cursor DMA Head Register */
+#define LCDC_HCRHEAD_OFFSET 0x045c /* Hardware Cursor DMA Head Register */
+/* Hardware cursor DMA Address Register */
+#define LCDC_HCRADDR_OFFSET 0x0460 /* Hardware cursor DMA Address Register */
+/* Hardware Cursor DMA Control Register */
+#define LCDC_HCRCTRL_OFFSET 0x0464 /* Hardware Cursor DMA Control Register */
+/* Hardware Cursor DMA Next Register */
+#define LCDC_HCRNEXT_OFFSET 0x0468 /* Hardware Cursor DMA Next Register */
+
+/* Hardware Cursor Configuration 0 Register */
+#define LCDC_HCRCFG0_
+/* Hardware Cursor Configuration 1 Register */
+#define LCDC_HCRCFG1_
+/* Hardware Cursor Configuration 2 Register */
+#define LCDC_HCRCFG2_
+/* Hardware Cursor Configuration 3 Register */
+#define LCDC_HCRCFG3_
+/* Hardware Cursor Configuration 4 Register */
+#define LCDC_HCRCFG4_
+/* Hardware Cursor Configuration 6 Register */
+#define LCDC_HCRCFG6_
+/* Hardware Cursor Configuration 7 Register */
+#define LCDC_HCRCFG7_
+/* Hardware Cursor Configuration 8 Register */
+#define LCDC_HCRCFG8_
+/* Hardware Cursor Configuration 9 Register */
+#define LCDC_HCRCFG9_
+
+/* Post Processing Channel Enable Register */
+#define LCDC_PPCHER_
+/* Post Processing Channel Disable Register */
+#define LCDC_PPCHDR_
+/* Post Processing Channel Status Register */
+#define LCDC_PPCHSR_
+/* Post Processing Interrupt Enable Register */
+#define LCDC_PPIER_
+/* Post Processing Interrupt Disable Register */
+#define LCDC_PPIDR_
+/* Post Processing Interrupt Mask Register */
+#define LCDC_PPIMR_
+/* Post Processing Interrupt Status Register */
+#define LCDC_PPISR_
+/* Post Processing Head Register */
+#define LCDC_PPHEAD_
+/* Post Processing Address Register */
+#define LCDC_PPADDR_
+/* Post Processing Control Register */
+#define LCDC_PPCTRL_
+/* Post Processing Next Register */
+#define LCDC_PPNEXT_
+
+/* Post Processing Configuration Register 0 */
+#define LCDC_PPCFG0_
+/* Post Processing Configuration Register 1 */
+#define LCDC_PPCFG1_
+/* Post Processing Configuration Register 2 */
+#define LCDC_PPCFG2_
+/* Post Processing Configuration Register 3 */
+#define LCDC_PPCFG3_
+/* Post Processing Configuration Register 4 */
+#define LCDC_PPCFG4_
+/* Post Processing Configuration Register 5 */
+#define LCDC_PPCFG5_
+
+/* Base CLUT Registers 0-255 */
+#define LCDC_BASECLUT_
+/* Overlay 1 CLUT Registers 0-255 */
+#define LCDC_OVR1CLUT_
+/* Overlay 2 CLUT Registers 0-255 */
+#define LCDC_OVR2CLUT_
+/* High End Overlay CLUT Registers 0-255 */
+#define LCDC_HEOCLUT_
+/* Hardware Cursor CLUT Registers 0-255 */
+#define LCDC_HCRCLUT_
+
+
+ (1 << nn) /* Bit nn:
+_MASK (nn) /* Bits nn-nn:
+_SHIFT (xx << yy)
+
+#endif /* __ARCH_ARM_SRC_SAMA5_CHIP_SAM_LCDC_H */