/* ---------------------------------------------------------------------------- */ /* Atmel Microcontroller Software Support */ /* SAM Software Package License */ /* ---------------------------------------------------------------------------- */ /* Copyright (c) 2015, Atmel Corporation */ /* */ /* All rights reserved. */ /* */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following condition is met: */ /* */ /* - Redistributions of source code must retain the above copyright notice, */ /* this list of conditions and the disclaimer below. */ /* */ /* Atmel's name may not be used to endorse or promote products derived from */ /* this software without specific prior written permission. */ /* */ /* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */ /* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */ /* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */ /* DISCLAIMED. IN NO EVENT SHALL ATMEL 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 _SAM4C_SLCDC_COMPONENT_ #define _SAM4C_SLCDC_COMPONENT_ /* ============================================================================= */ /** SOFTWARE API DEFINITION FOR Segment LCD Controller */ /* ============================================================================= */ /** \addtogroup SAM4C_SLCDC Segment LCD Controller */ /*@{*/ #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) /** \brief SlcdcCom hardware registers */ typedef struct { __IO uint32_t SLCDC_LMEMR; /**< \brief (SlcdcCom Offset: 0x0) SLCDC LSB Memory Register */ __IO uint32_t SLCDC_MMEMR; /**< \brief (SlcdcCom Offset: 0x4) SLCDC MSB Memory Register */ } SlcdcCom; /** \brief Slcdc hardware registers */ #define SLCDCCOM_NUMBER 6 typedef struct { __O uint32_t SLCDC_CR; /**< \brief (Slcdc Offset: 0x0) SLCDC Control Register */ __IO uint32_t SLCDC_MR; /**< \brief (Slcdc Offset: 0x4) SLCDC Mode Register */ __IO uint32_t SLCDC_FRR; /**< \brief (Slcdc Offset: 0x8) SLCDC Frame Rate Register */ __IO uint32_t SLCDC_DR; /**< \brief (Slcdc Offset: 0xC) SLCDC Display Register */ __I uint32_t SLCDC_SR; /**< \brief (Slcdc Offset: 0x10) SLCDC Status Register */ __I uint32_t Reserved1[3]; __O uint32_t SLCDC_IER; /**< \brief (Slcdc Offset: 0x20) SLCDC Interrupt Enable Register */ __O uint32_t SLCDC_IDR; /**< \brief (Slcdc Offset: 0x24) SLCDC Interrupt Disable Register */ __I uint32_t SLCDC_IMR; /**< \brief (Slcdc Offset: 0x28) SLCDC Interrupt Mask Register */ __I uint32_t SLCDC_ISR; /**< \brief (Slcdc Offset: 0x2C) SLCDC Interrupt Status Register */ __IO uint32_t SLCDC_SMR0; /**< \brief (Slcdc Offset: 0x30) SLCDC Segment Map Register 0 */ __IO uint32_t SLCDC_SMR1; /**< \brief (Slcdc Offset: 0x34) SLCDC Segment Map Register 1 */ __I uint32_t Reserved2[43]; __IO uint32_t SLCDC_WPMR; /**< \brief (Slcdc Offset: 0xE4) SLCDC Write Protection Mode Register */ __I uint32_t SLCDC_WPSR; /**< \brief (Slcdc Offset: 0xE8) SLCDC Write Protection Status Register */ __I uint32_t Reserved3[69]; SlcdcCom SLCDC_COM[SLCDCCOM_NUMBER]; /**< \brief (Slcdc Offset: 0x200) com = 0 .. 5 */ } Slcdc; #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ /* -------- SLCDC_CR : (SLCDC Offset: 0x0) SLCDC Control Register -------- */ #define SLCDC_CR_LCDEN (0x1u << 0) /**< \brief (SLCDC_CR) Enable the LCDC */ #define SLCDC_CR_LCDDIS (0x1u << 1) /**< \brief (SLCDC_CR) Disable LCDC */ #define SLCDC_CR_SWRST (0x1u << 3) /**< \brief (SLCDC_CR) Software Reset */ /* -------- SLCDC_MR : (SLCDC Offset: 0x4) SLCDC Mode Register -------- */ #define SLCDC_MR_COMSEL_Pos 0 #define SLCDC_MR_COMSEL_Msk (0x7u << SLCDC_MR_COMSEL_Pos) /**< \brief (SLCDC_MR) Selection of the Number of Commons */ #define SLCDC_MR_COMSEL(value) ((SLCDC_MR_COMSEL_Msk & ((value) << SLCDC_MR_COMSEL_Pos))) #define SLCDC_MR_COMSEL_COM_0 (0x0u << 0) /**< \brief (SLCDC_MR) COM0 is driven by SLCDC, COM1:5 are driven by digital function */ #define SLCDC_MR_COMSEL_COM_0TO1 (0x1u << 0) /**< \brief (SLCDC_MR) COM0:1 are driven by SLCDC, COM2:5 are driven by digital function */ #define SLCDC_MR_COMSEL_COM_0TO2 (0x2u << 0) /**< \brief (SLCDC_MR) COM0:2 are driven by SLCDC, COM3:5 are driven by digital function */ #define SLCDC_MR_COMSEL_COM_0TO3 (0x3u << 0) /**< \brief (SLCDC_MR) COM0:3 are driven by SLCDC, COM4:5 are driven by digital function */ #define SLCDC_MR_COMSEL_COM_0TO4 (0x4u << 0) /**< \brief (SLCDC_MR) COM0:4 are driven by SLCDC, COM5 is driven by digital function */ #define SLCDC_MR_COMSEL_COM_0TO5 (0x5u << 0) /**< \brief (SLCDC_MR) COM0:5 are driven by SLCDC, No COM pin driven by digital function */ #define SLCDC_MR_SEGSEL_Pos 8 #define SLCDC_MR_SEGSEL_Msk (0x3fu << SLCDC_MR_SEGSEL_Pos) /**< \brief (SLCDC_MR) Selection of the Number of Segments */ #define SLCDC_MR_SEGSEL(value) ((SLCDC_MR_SEGSEL_Msk & ((value) << SLCDC_MR_SEGSEL_Pos))) #define SLCDC_MR_BUFTIME_Pos 16 #define SLCDC_MR_BUFTIME_Msk (0xfu << SLCDC_MR_BUFTIME_Pos) /**< \brief (SLCDC_MR) Buffer On-Time */ #define SLCDC_MR_BUFTIME(value) ((SLCDC_MR_BUFTIME_Msk & ((value) << SLCDC_MR_BUFTIME_Pos))) #define SLCDC_MR_BUFTIME_OFF (0x0u << 16) /**< \brief (SLCDC_MR) Nominal drive time is 0% of SLCK period */ #define SLCDC_MR_BUFTIME_X2_SLCK_PERIOD (0x1u << 16) /**< \brief (SLCDC_MR) Nominal drive time is 2 periods of SLCK clock */ #define SLCDC_MR_BUFTIME_X4_SLCK_PERIOD (0x2u << 16) /**< \brief (SLCDC_MR) Nominal drive time is 4 periods of SLCK clock */ #define SLCDC_MR_BUFTIME_X8_SLCK_PERIOD (0x3u << 16) /**< \brief (SLCDC_MR) Nominal drive time is 8 periods of SLCK clock */ #define SLCDC_MR_BUFTIME_X16_SLCK_PERIOD (0x4u << 16) /**< \brief (SLCDC_MR) Nominal drive time is 16 periods of SLCK clock */ #define SLCDC_MR_BUFTIME_X32_SLCK_PERIOD (0x5u << 16) /**< \brief (SLCDC_MR) Nominal drive time is 32 periods of SLCK clock */ #define SLCDC_MR_BUFTIME_X64_SLCK_PERIOD (0x6u << 16) /**< \brief (SLCDC_MR) Nominal drive time is 64 periods of SLCK clock */ #define SLCDC_MR_BUFTIME_X128_SLCK_PERIOD (0x7u << 16) /**< \brief (SLCDC_MR) Nominal drive time is 128 periods of SLCK clock */ #define SLCDC_MR_BUFTIME_PERCENT_50 (0x8u << 16) /**< \brief (SLCDC_MR) Nominal drive time is 50% of SLCK period */ #define SLCDC_MR_BUFTIME_PERCENT_100 (0x9u << 16) /**< \brief (SLCDC_MR) Nominal drive time is 100% of SLCK period */ #define SLCDC_MR_BIAS_Pos 20 #define SLCDC_MR_BIAS_Msk (0x3u << SLCDC_MR_BIAS_Pos) /**< \brief (SLCDC_MR) LCD Display Configuration */ #define SLCDC_MR_BIAS(value) ((SLCDC_MR_BIAS_Msk & ((value) << SLCDC_MR_BIAS_Pos))) #define SLCDC_MR_BIAS_STATIC (0x0u << 20) /**< \brief (SLCDC_MR) Static */ #define SLCDC_MR_BIAS_BIAS_1_2 (0x1u << 20) /**< \brief (SLCDC_MR) Bias 1/2 */ #define SLCDC_MR_BIAS_BIAS_1_3 (0x2u << 20) /**< \brief (SLCDC_MR) Bias 1/3 */ #define SLCDC_MR_LPMODE (0x1u << 24) /**< \brief (SLCDC_MR) Low Power Mode */ /* -------- SLCDC_FRR : (SLCDC Offset: 0x8) SLCDC Frame Rate Register -------- */ #define SLCDC_FRR_PRESC_Pos 0 #define SLCDC_FRR_PRESC_Msk (0x7u << SLCDC_FRR_PRESC_Pos) /**< \brief (SLCDC_FRR) Clock Prescaler */ #define SLCDC_FRR_PRESC(value) ((SLCDC_FRR_PRESC_Msk & ((value) << SLCDC_FRR_PRESC_Pos))) #define SLCDC_FRR_PRESC_SLCK_DIV8 (0x0u << 0) /**< \brief (SLCDC_FRR) Slow clock is divided by 8 */ #define SLCDC_FRR_PRESC_SLCK_DIV16 (0x1u << 0) /**< \brief (SLCDC_FRR) Slow clock is divided by 16 */ #define SLCDC_FRR_PRESC_SLCK_DIV32 (0x2u << 0) /**< \brief (SLCDC_FRR) Slow clock is divided by 32 */ #define SLCDC_FRR_PRESC_SLCK_DIV64 (0x3u << 0) /**< \brief (SLCDC_FRR) Slow clock is divided by 64 */ #define SLCDC_FRR_PRESC_SLCK_DIV128 (0x4u << 0) /**< \brief (SLCDC_FRR) Slow clock is divided by 128 */ #define SLCDC_FRR_PRESC_SLCK_DIV256 (0x5u << 0) /**< \brief (SLCDC_FRR) Slow clock is divided by 256 */ #define SLCDC_FRR_PRESC_SLCK_DIV512 (0x6u << 0) /**< \brief (SLCDC_FRR) Slow clock is divided by 512 */ #define SLCDC_FRR_PRESC_SLCK_DIV1024 (0x7u << 0) /**< \brief (SLCDC_FRR) Slow clock is divided by 1024 */ #define SLCDC_FRR_DIV_Pos 8 #define SLCDC_FRR_DIV_Msk (0x7u << SLCDC_FRR_DIV_Pos) /**< \brief (SLCDC_FRR) Clock Division */ #define SLCDC_FRR_DIV(value) ((SLCDC_FRR_DIV_Msk & ((value) << SLCDC_FRR_DIV_Pos))) #define SLCDC_FRR_DIV_PRESC_CLK_DIV1 (0x0u << 8) /**< \brief (SLCDC_FRR) Clock output from prescaler is divided by 1 */ #define SLCDC_FRR_DIV_PRESC_CLK_DIV2 (0x1u << 8) /**< \brief (SLCDC_FRR) Clock output from prescaler is divided by 2 */ #define SLCDC_FRR_DIV_PRESC_CLK_DIV3 (0x2u << 8) /**< \brief (SLCDC_FRR) Clock output from prescaler is divided by 3 */ #define SLCDC_FRR_DIV_PRESC_CLK_DIV4 (0x3u << 8) /**< \brief (SLCDC_FRR) Clock output from prescaler is divided by 4 */ #define SLCDC_FRR_DIV_PRESC_CLK_DIV5 (0x4u << 8) /**< \brief (SLCDC_FRR) Clock output from prescaler is divided by 5 */ #define SLCDC_FRR_DIV_PRESC_CLK_DIV6 (0x5u << 8) /**< \brief (SLCDC_FRR) Clock output from prescaler is divided by 6 */ #define SLCDC_FRR_DIV_PRESC_CLK_DIV7 (0x6u << 8) /**< \brief (SLCDC_FRR) Clock output from prescaler is divided by 7 */ #define SLCDC_FRR_DIV_PRESC_CLK_DIV8 (0x7u << 8) /**< \brief (SLCDC_FRR) Clock output from prescaler is divided by 8 */ /* -------- SLCDC_DR : (SLCDC Offset: 0xC) SLCDC Display Register -------- */ #define SLCDC_DR_DISPMODE_Pos 0 #define SLCDC_DR_DISPMODE_Msk (0x7u << SLCDC_DR_DISPMODE_Pos) /**< \brief (SLCDC_DR) Display Mode Register */ #define SLCDC_DR_DISPMODE(value) ((SLCDC_DR_DISPMODE_Msk & ((value) << SLCDC_DR_DISPMODE_Pos))) #define SLCDC_DR_DISPMODE_NORMAL (0x0u << 0) /**< \brief (SLCDC_DR) Normal Mode-Latched data are displayed. */ #define SLCDC_DR_DISPMODE_FORCE_OFF (0x1u << 0) /**< \brief (SLCDC_DR) Force Off Mode-All pixels are invisible. (The SLCDC memory is unchanged.) */ #define SLCDC_DR_DISPMODE_FORCE_ON (0x2u << 0) /**< \brief (SLCDC_DR) Force On Mode-All pixels are visible. (The SLCDC memory is unchanged.) */ #define SLCDC_DR_DISPMODE_BLINKING (0x3u << 0) /**< \brief (SLCDC_DR) Blinking Mode-All pixels are alternately turned off to the predefined state in SLCDC memory at LCDBLKFREQ frequency. (The SLCDC memory is unchanged.) */ #define SLCDC_DR_DISPMODE_INVERTED (0x4u << 0) /**< \brief (SLCDC_DR) Inverted Mode-All pixels are set in the inverted state as defined in SLCDC memory. (The SLCDC memory is unchanged.) */ #define SLCDC_DR_DISPMODE_INVERTED_BLINK (0x5u << 0) /**< \brief (SLCDC_DR) Inverted Blinking Mode-All pixels are alternately turned off to the predefined opposite state in SLCDC memory at LCDBLKFREQ frequency. (The SLCDC memory is unchanged.) */ #define SLCDC_DR_DISPMODE_USER_BUFFER_LOAD (0x6u << 0) /**< \brief (SLCDC_DR) User Buffer Only Load Mode-Blocks the automatic transfer from User Buffer to Display Buffer. */ #define SLCDC_DR_DISPMODE_BUFFERS_SWAP (0x7u << 0) /**< \brief (SLCDC_DR) Buffer Swap Mode-All pixels are alternatively assigned to the state defined in the User Buffer, then to the state defined in the Display Buffer at LCDBLKFREQ frequency. */ #define SLCDC_DR_LCDBLKFREQ_Pos 8 #define SLCDC_DR_LCDBLKFREQ_Msk (0xffu << SLCDC_DR_LCDBLKFREQ_Pos) /**< \brief (SLCDC_DR) LCD Blinking Frequency Selection */ #define SLCDC_DR_LCDBLKFREQ(value) ((SLCDC_DR_LCDBLKFREQ_Msk & ((value) << SLCDC_DR_LCDBLKFREQ_Pos))) /* -------- SLCDC_SR : (SLCDC Offset: 0x10) SLCDC Status Register -------- */ #define SLCDC_SR_ENA (0x1u << 0) /**< \brief (SLCDC_SR) Enable Status (Automatically Set/Reset) */ /* -------- SLCDC_IER : (SLCDC Offset: 0x20) SLCDC Interrupt Enable Register -------- */ #define SLCDC_IER_ENDFRAME (0x1u << 0) /**< \brief (SLCDC_IER) End of Frame Interrupt Enable */ #define SLCDC_IER_DIS (0x1u << 2) /**< \brief (SLCDC_IER) SLCDC Disable Completion Interrupt Enable */ /* -------- SLCDC_IDR : (SLCDC Offset: 0x24) SLCDC Interrupt Disable Register -------- */ #define SLCDC_IDR_ENDFRAME (0x1u << 0) /**< \brief (SLCDC_IDR) End of Frame Interrupt Disable */ #define SLCDC_IDR_DIS (0x1u << 2) /**< \brief (SLCDC_IDR) SLCDC Disable Completion Interrupt Disable */ /* -------- SLCDC_IMR : (SLCDC Offset: 0x28) SLCDC Interrupt Mask Register -------- */ #define SLCDC_IMR_ENDFRAME (0x1u << 0) /**< \brief (SLCDC_IMR) End of Frame Interrupt Mask */ #define SLCDC_IMR_DIS (0x1u << 2) /**< \brief (SLCDC_IMR) SLCDC Disable Completion Interrupt Mask */ /* -------- SLCDC_ISR : (SLCDC Offset: 0x2C) SLCDC Interrupt Status Register -------- */ #define SLCDC_ISR_ENDFRAME (0x1u << 0) /**< \brief (SLCDC_ISR) End of Frame Interrupt Status */ #define SLCDC_ISR_DIS (0x1u << 2) /**< \brief (SLCDC_ISR) SLCDC Disable Completion Interrupt Status */ /* -------- SLCDC_SMR0 : (SLCDC Offset: 0x30) SLCDC Segment Map Register 0 -------- */ #define SLCDC_SMR0_LCD0 (0x1u << 0) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD1 (0x1u << 1) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD2 (0x1u << 2) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD3 (0x1u << 3) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD4 (0x1u << 4) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD5 (0x1u << 5) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD6 (0x1u << 6) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD7 (0x1u << 7) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD8 (0x1u << 8) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD9 (0x1u << 9) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD10 (0x1u << 10) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD11 (0x1u << 11) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD12 (0x1u << 12) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD13 (0x1u << 13) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD14 (0x1u << 14) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD15 (0x1u << 15) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD16 (0x1u << 16) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD17 (0x1u << 17) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD18 (0x1u << 18) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD19 (0x1u << 19) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD20 (0x1u << 20) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD21 (0x1u << 21) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD22 (0x1u << 22) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD23 (0x1u << 23) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD24 (0x1u << 24) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD25 (0x1u << 25) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD26 (0x1u << 26) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD27 (0x1u << 27) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD28 (0x1u << 28) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD29 (0x1u << 29) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD30 (0x1u << 30) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR0_LCD31 (0x1u << 31) /**< \brief (SLCDC_SMR0) LCD Segment Mapped on SEGx I/O Pin */ /* -------- SLCDC_SMR1 : (SLCDC Offset: 0x34) SLCDC Segment Map Register 1 -------- */ #define SLCDC_SMR1_LCD32 (0x1u << 0) /**< \brief (SLCDC_SMR1) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR1_LCD33 (0x1u << 1) /**< \brief (SLCDC_SMR1) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR1_LCD34 (0x1u << 2) /**< \brief (SLCDC_SMR1) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR1_LCD35 (0x1u << 3) /**< \brief (SLCDC_SMR1) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR1_LCD36 (0x1u << 4) /**< \brief (SLCDC_SMR1) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR1_LCD37 (0x1u << 5) /**< \brief (SLCDC_SMR1) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR1_LCD38 (0x1u << 6) /**< \brief (SLCDC_SMR1) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR1_LCD39 (0x1u << 7) /**< \brief (SLCDC_SMR1) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR1_LCD40 (0x1u << 8) /**< \brief (SLCDC_SMR1) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR1_LCD41 (0x1u << 9) /**< \brief (SLCDC_SMR1) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR1_LCD42 (0x1u << 10) /**< \brief (SLCDC_SMR1) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR1_LCD43 (0x1u << 11) /**< \brief (SLCDC_SMR1) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR1_LCD44 (0x1u << 12) /**< \brief (SLCDC_SMR1) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR1_LCD45 (0x1u << 13) /**< \brief (SLCDC_SMR1) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR1_LCD46 (0x1u << 14) /**< \brief (SLCDC_SMR1) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR1_LCD47 (0x1u << 15) /**< \brief (SLCDC_SMR1) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR1_LCD48 (0x1u << 16) /**< \brief (SLCDC_SMR1) LCD Segment Mapped on SEGx I/O Pin */ #define SLCDC_SMR1_LCD49 (0x1u << 17) /**< \brief (SLCDC_SMR1) LCD Segment Mapped on SEGx I/O Pin */ /* -------- SLCDC_WPMR : (SLCDC Offset: 0xE4) SLCDC Write Protection Mode Register -------- */ #define SLCDC_WPMR_WPEN (0x1u << 0) /**< \brief (SLCDC_WPMR) Write Protection Enable */ #define SLCDC_WPMR_WPKEY_Pos 8 #define SLCDC_WPMR_WPKEY_Msk (0xffffffu << SLCDC_WPMR_WPKEY_Pos) /**< \brief (SLCDC_WPMR) Write Protection Key */ #define SLCDC_WPMR_WPKEY(value) ((SLCDC_WPMR_WPKEY_Msk & ((value) << SLCDC_WPMR_WPKEY_Pos))) #define SLCDC_WPMR_WPKEY_PASSWD (0x4C4344u << 8) /**< \brief (SLCDC_WPMR) Writing any other value in this field aborts the write operation of the WPEN bit.Always reads as 0. */ /* -------- SLCDC_WPSR : (SLCDC Offset: 0xE8) SLCDC Write Protection Status Register -------- */ #define SLCDC_WPSR_WPVS (0x1u << 0) /**< \brief (SLCDC_WPSR) Write Protection Violation Status */ #define SLCDC_WPSR_WPVSRC_Pos 8 #define SLCDC_WPSR_WPVSRC_Msk (0xffffu << SLCDC_WPSR_WPVSRC_Pos) /**< \brief (SLCDC_WPSR) Write Protection Violation Source */ /* -------- SLCDC_LMEMR : (SLCDC Offset: N/A) SLCDC LSB Memory Register -------- */ #define SLCDC_LMEMR_LPIXEL_Pos 0 #define SLCDC_LMEMR_LPIXEL_Msk (0xffffffffu << SLCDC_LMEMR_LPIXEL_Pos) /**< \brief (SLCDC_LMEMR) LSB Pixels pattern associated to COMx terminal */ #define SLCDC_LMEMR_LPIXEL(value) ((SLCDC_LMEMR_LPIXEL_Msk & ((value) << SLCDC_LMEMR_LPIXEL_Pos))) /* -------- SLCDC_MMEMR : (SLCDC Offset: N/A) SLCDC MSB Memory Register -------- */ #define SLCDC_MMEMR_MPIXEL_Pos 0 #define SLCDC_MMEMR_MPIXEL_Msk (0xffffffffu << SLCDC_MMEMR_MPIXEL_Pos) /**< \brief (SLCDC_MMEMR) MSB Pixels pattern associated to COMx terminal */ #define SLCDC_MMEMR_MPIXEL(value) ((SLCDC_MMEMR_MPIXEL_Msk & ((value) << SLCDC_MMEMR_MPIXEL_Pos))) /*@}*/ #endif /* _SAM4C_SLCDC_COMPONENT_ */