mirror of https://github.com/ARMmbed/mbed-os.git
652 lines
32 KiB
C
652 lines
32 KiB
C
/****************************************************************************
|
|
*
|
|
* Copyright 2020 Samsung Electronics All Rights Reserved.
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing,
|
|
* software distributed under the License is distributed on an
|
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
|
* either express or implied. See the License for the specific
|
|
* language governing permissions and limitations under the License.
|
|
*
|
|
****************************************************************************/
|
|
|
|
#ifndef S5JS100_H
|
|
#define S5JS100_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
/* ------------------------- Interrupt Number Definition ------------------------ */
|
|
#define S5JS100_IRQ_FIRST (16) /* Vector number of the first external interrupt */
|
|
typedef enum IRQn {
|
|
/* ------------------- Cortex-M7 Processor Exceptions Numbers ------------------- */
|
|
NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */
|
|
HardFault_IRQn = -13, /* 3 HardFault Interrupt */
|
|
MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */
|
|
BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */
|
|
UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */
|
|
SVCall_IRQn = -5, /* 11 SV Call Interrupt */
|
|
DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */
|
|
PendSV_IRQn = -2, /* 14 Pend SV Interrupt */
|
|
SysTick_IRQn = -1, /* 15 System Tick Interrupt */
|
|
/* --------------------- S5JS100 Specific Interrupt Numbers ---------------- */
|
|
S5JS100_IRQ_WDG = 0,
|
|
S5JS100_IRQ_PMU_ApTimer = 1,
|
|
S5JS100_IRQ_PMU_AlivePad = 2,
|
|
S5JS100_IRQ_PMU_JtagInt = 3,
|
|
S5JS100_IRQ_SSS_SSSINT = 4,
|
|
S5JS100_IRQ_SSS_MBINT = 5,
|
|
S5JS100_IRQ_SSS_KMINT = 6,
|
|
S5JS100_IRQ_DMACINTR = 7,
|
|
S5JS100_IRQ_SDIO_INTREQ_L = 8,
|
|
S5JS100_IRQ_TINT0 = 9,
|
|
S5JS100_IRQ_TINT1 = 10,
|
|
S5JS100_IRQ_TINT2 = 11,
|
|
S5JS100_IRQ_TINT3 = 12,
|
|
S5JS100_IRQ_TINT4 = 13,
|
|
S5JS100_IRQ_TINT5 = 14,
|
|
S5JS100_IRQ_GPIO_INTR0 = 15,
|
|
S5JS100_IRQ_GPIO_INTR1 = 16,
|
|
S5JS100_IRQ_GPIO_INTR2 = 17,
|
|
S5JS100_IRQ_USI0 = 18,
|
|
S5JS100_IRQ_USI1 = 19,
|
|
S5JS100_IRQ_SPI = 20,
|
|
S5JS100_IRQ_I2C = 21,
|
|
S5JS100_IRQ_PWM_INT0 = 22,
|
|
S5JS100_IRQ_PWM_INT1 = 23,
|
|
S5JS100_IRQ_PWM_INT2 = 24,
|
|
S5JS100_IRQ_PWM_INT3 = 25,
|
|
S5JS100_IRQ_PWM_INT4 = 26,
|
|
S5JS100_IRQ_PPMU = 27,
|
|
S5JS100_IRQ_EFUSE_WR = 28,
|
|
S5JS100_IRQ_CM7_CTT_0 = 29,
|
|
S5JS100_IRQ_CM7_CTT_1 = 30,
|
|
S5JS100_IRQ_MAILBOX_AP_INT = 31,
|
|
S5JS100_IRQ_UART0 = 32,
|
|
S5JS100_IRQ_UART1 = 33,
|
|
S5JS100_IRQ_GPADC = 34,
|
|
S5JS100_IRQ_MCPU_WDT = 35,
|
|
S5JS100_IRQ_SSS_INT1 = 36,
|
|
S5JS100_IRQ_SSS_INT2 = 37,
|
|
S5JS100_IRQ_SSS_RESET = 38,
|
|
S5JS100_IRQ_SLEEP = 39,
|
|
S5JS100_IRQ_TSU0 = 40,
|
|
S5JS100_IRQ_TSU1 = 41,
|
|
} IRQn_Type;
|
|
|
|
|
|
/* ================================================================================ */
|
|
/* ================ Processor and Core Peripheral Section ================ */
|
|
/* ================================================================================ */
|
|
|
|
/* -------- Configuration of the Cortex-M7 Processor and Core Peripherals ------- */
|
|
#define __CM7_REV 0x0201U /* Core revision r2p1 */
|
|
#define __MPU_PRESENT 1 /* MPU present */
|
|
#define __DCACHE_PRESENT 1 /* 32KB d-cache */
|
|
#define __ICACHE_PRESENT 1 /* 32KB I-cache */
|
|
|
|
#define __VTOR_PRESENT 1 /* VTOR present or not */
|
|
#define __NVIC_PRIO_BITS 3 /* Number of Bits used for Priority Levels */
|
|
#define __Vendor_SysTickConfig 0 /* Set to 1 if different SysTick Config is used */
|
|
|
|
#include <core_cm7.h> /* Processor and core peripherals */
|
|
#include "system_s5js100.h" /* System Header */
|
|
/* ================================================================================ */
|
|
/* ================ Device Specific Peripheral Section ================ */
|
|
/* ================================================================================ */
|
|
|
|
/* ------------------- Start of section using anonymous unions ------------------ */
|
|
#if defined ( __CC_ARM )
|
|
#pragma push
|
|
#pragma anon_unions
|
|
#elif defined(__ICCARM__)
|
|
#pragma language=extended
|
|
#elif defined(__GNUC__)
|
|
/* anonymous unions are enabled by default */
|
|
#elif defined(__TMS470__)
|
|
/* anonymous unions are enabled by default */
|
|
#elif defined(__TASKING__)
|
|
#pragma warning 586
|
|
#else
|
|
#warning Not supported compiler type
|
|
#endif
|
|
|
|
/*------------- Universal Asynchronous Receiver Transmitter (USI_UART) -----------*/
|
|
typedef struct {
|
|
__IO uint32_t ULCON; /* Offset : 0x000 (R/W) Line Control Register */
|
|
__IO uint32_t UCON; /* Offset: 0x004 (R/W) Control Register */
|
|
__IO uint32_t UFCON; /* Offset: 0x008 (R/W) FIFO Control Register */
|
|
__IO uint32_t UMCON; /* Offset: 0x00C (R/W) Modem Control Register */
|
|
__IO uint32_t UTRSTAT; /* Offset: 0x010 (R/W) Tx/Rx Status Register */
|
|
__IO uint32_t UERSTAT; /* Offset: 0x014 (R) Rx Error Status Register */
|
|
__IO uint32_t UFSTAT; /* Offset: 0x018 (R) FIFO Status Register */
|
|
__IO uint32_t UMSTAT; /* Offset: 0x01C (R) Modem Status Register */
|
|
__IO uint32_t UTXH; /* Offset: 0x020 (W) Transmit Buffer Register */
|
|
__IO uint32_t URXH; /* Offset: 0x024 (R) Receive Buffer Register */
|
|
__IO uint32_t UBRDIV; /* Offset: 0x028 (R/W) Baud Rate Divisor Register */
|
|
__IO uint32_t UFRACVAL; /* Offset: 0x02C (R/W) Divisor Fractional value Register */
|
|
__IO uint32_t UINTP; /* Offset: 0x030 (R/W) Interrupt Pending Register */
|
|
__IO uint32_t UINTS; /* Offset: 0x034 (R) Interrupt Source Register */
|
|
__IO uint32_t UINTM; /* Offset: 0x038 (R/W) Interrupt Mask Register */
|
|
__IO uint32_t RESERVED0[1];
|
|
__IO uint32_t UFTL_CONF; /* Offset: 0x040 (R/W) Filter Configuration Register */
|
|
|
|
} S5JS100_USI_UART_TypeDef;
|
|
|
|
/*------------- Universal Asynchronous Receiver Transmitter (UART) -----------*/
|
|
typedef struct {
|
|
__IO uint32_t DR; // 0x0000
|
|
__IO uint32_t SR; // 0x0004
|
|
__IO uint32_t RESERVED0[4]; // 0x008~0x014
|
|
__IO uint32_t FR; // 0x018
|
|
__IO uint32_t RESERVED1; // 0x01c
|
|
__IO uint32_t ILPR; // 0x020
|
|
__IO uint32_t IBRD; // 0x024
|
|
__IO uint32_t FBRD; // 0x028
|
|
__IO uint32_t LCRH; // 0x02c
|
|
__IO uint32_t CR; // 0x030
|
|
__IO uint32_t IFLS; // 0x034
|
|
__IO uint32_t IMSC; // 0x038
|
|
__IO uint32_t RIS; // 0x03C
|
|
__IO uint32_t MIS; // 0x040
|
|
__IO uint32_t ICR; // 0x044
|
|
__IO uint32_t DMACR; // 0x048
|
|
__IO uint32_t MODESEL; // 0x04C
|
|
} S5JS100_UART_TypeDef;
|
|
/* S5JS100 DATA Register Definitions */
|
|
/* Line Control register ****************************************************/
|
|
#define UART_ULCON_SAMPLING_SHIFT 7
|
|
#define UART_ULCON_SAMPLING_MASK (0x1 << UART_ULCON_SAMPLING_SHIFT)
|
|
#define UART_ULCON_SAMPLING_16 (0x0 << UART_ULCON_SAMPLING_SHIFT)
|
|
#define UART_ULCON_SAMPLING_8 (0x1 << UART_ULCON_SAMPLING_SHIFT)
|
|
|
|
#define UART_ULCON_INFRARED_SHIFT 6
|
|
#define UART_ULCON_INFRARED_MASK (0x1 << UART_ULCON_INFRARED_SHIFT)
|
|
#define UART_ULCON_INFRARED_NORMAL (0x0 << UART_ULCON_INFRARED_SHIFT)
|
|
#define UART_ULCON_INFRARED_IRTXRX (0x1 << UART_ULCON_INFRARED_SHIFT)
|
|
|
|
#define UART_ULCON_PARITY_SHIFT 5
|
|
#define UART_ULCON_PARITY_MASK (0x7 << UART_ULCON_PARITY_SHIFT)
|
|
#define UART_ULCON_PARITY_NONE (0x0 << UART_ULCON_PARITY_SHIFT)
|
|
#define UART_ULCON_PARITY_ODD (0x4 << UART_ULCON_PARITY_SHIFT)
|
|
#define UART_ULCON_PARITY_EVEN (0x5 << UART_ULCON_PARITY_SHIFT)
|
|
#define UART_ULCON_PARITY_FORCE1 (0x6 << UART_ULCON_PARITY_SHIFT)
|
|
#define UART_ULCON_PARITY_FORCE0 (0x7 << UART_ULCON_PARITY_SHIFT)
|
|
|
|
#define UART_ULCON_STOPBITS_SHIFT 2
|
|
#define UART_ULCON_STOPBITS_MASK (0x1 << UART_ULCON_STOPBITS_SHIFT)
|
|
#define UART_ULCON_STOPBITS_1BIT (0x0 << UART_ULCON_STOPBITS_SHIFT)
|
|
#define UART_ULCON_STOPBITS_2BITS (0x1 << UART_ULCON_STOPBITS_SHIFT)
|
|
|
|
#define UART_ULCON_DATABITS_SHIFT 0
|
|
#define UART_ULCON_DATABITS_MASK (0x3 << UART_ULCON_DATABITS_SHIFT)
|
|
#define UART_ULCON_DATABITS_5BITS (0x0 << UART_ULCON_DATABITS_SHIFT)
|
|
#define UART_ULCON_DATABITS_6BITS (0x1 << UART_ULCON_DATABITS_SHIFT)
|
|
#define UART_ULCON_DATABITS_7BITS (0x2 << UART_ULCON_DATABITS_SHIFT)
|
|
#define UART_ULCON_DATABITS_8BITS (0x3 << UART_ULCON_DATABITS_SHIFT)
|
|
|
|
/* Control register *********************************************************/
|
|
#define UART_UCON_TX_DMA_BURST_SHIFT 20
|
|
#define UART_UCON_TX_DMA_BURST_MASK (0x7 << UART_UCON_TX_DMA_BURST_SHIFT)
|
|
#define UART_UCON_TX_DMA_BURST_1BYTE (0x0 << UART_UCON_TX_DMA_BURST_SHIFT)
|
|
#define UART_UCON_TX_DMA_BURST_4BYTES (0x1 << UART_UCON_TX_DMA_BURST_SHIFT)
|
|
#define UART_UCON_TX_DMA_BURST_8BYTES (0x2 << UART_UCON_TX_DMA_BURST_SHIFT)
|
|
|
|
#define UART_UCON_RX_DMA_BURST_SHIFT 16
|
|
#define UART_UCON_RX_DMA_BURST_MASK (0x7 << UART_UCON_RX_DMA_BURST_SHIFT)
|
|
#define UART_UCON_RX_DMA_BURST_1BYTE (0x0 << UART_UCON_RX_DMA_BURST_SHIFT)
|
|
#define UART_UCON_RX_DMA_BURST_4BYTES (0x1 << UART_UCON_RX_DMA_BURST_SHIFT)
|
|
#define UART_UCON_RX_DMA_BURST_8BYTES (0x2 << UART_UCON_RX_DMA_BURST_SHIFT)
|
|
#define UART_UCON_RX_DMA_BURST_16BYTES (0x3 << UART_UCON_RX_DMA_BURST_SHIFT)
|
|
|
|
#define UART_UCON_RX_TOUT_SHIFT 12
|
|
#define UART_UCON_RX_TOUT_MASK (0x7 << UART_UCON_RX_TOUT_SHIFT)
|
|
#define UART_UCON_RX_TOUT_8FRAMES (0x0 << UART_UCON_RX_TOUT_SHIFT)
|
|
#define UART_UCON_RX_TOUT_16FRAMES (0x1 << UART_UCON_RX_TOUT_SHIFT)
|
|
#define UART_UCON_RX_TOUT_24FRAMES (0x2 << UART_UCON_RX_TOUT_SHIFT)
|
|
#define UART_UCON_RX_TOUT_32FRAMES (0x3 << UART_UCON_RX_TOUT_SHIFT)
|
|
#define UART_UCON_RX_TOUT_40FRAMES (0x4 << UART_UCON_RX_TOUT_SHIFT)
|
|
#define UART_UCON_RX_TOUT_48FRAMES (0x5 << UART_UCON_RX_TOUT_SHIFT)
|
|
#define UART_UCON_RX_TOUT_56FRAMES (0x6 << UART_UCON_RX_TOUT_SHIFT)
|
|
#define UART_UCON_RX_TOUT_64FRAMES (0x7 << UART_UCON_RX_TOUT_SHIFT)
|
|
|
|
#define UART_UCON_RX_FIFO_EMPTY_SHIFT 11
|
|
#define UART_UCON_RX_FIFO_EMPTY_MASK (0x1 << UART_UCON_RX_FIFO_EMPTY_SHIFT)
|
|
#define UART_UCON_RX_FIFO_EMPTY_DISABLE (0x0 << UART_UCON_RX_FIFO_EMPTY_SHIFT)
|
|
#define UART_UCON_RX_FIFO_EMPTY_ENABLE (0x1 << UART_UCON_RX_FIFO_EMPTY_SHIFT)
|
|
|
|
#define UART_UCON_RX_TOUT_DMAS_SHIFT 10
|
|
#define UART_UCON_RX_TOUT_DMAS_MASK (0x1 << UART_UCON_RX_TOUT_DMAS_SHIFT)
|
|
#define UART_UCON_RX_TOUT_DMAS_DISABLE (0x0 << UART_UCON_RX_TOUT_DMAS_SHIFT)
|
|
#define UART_UCON_RX_TOUT_DMAS_ENABLE (0x1 << UART_UCON_RX_TOUT_DMAS_SHIFT)
|
|
|
|
#define UART_UCON_TX_INTTYPE_SHIFT 9
|
|
#define UART_UCON_TX_INTTYPE_MASK (UART_UCON_TX_INTTYPE_SHIFT)
|
|
#define UART_UCON_TX_INTTYPE_PULSE (0x0 << UART_UCON_TX_INTTYPE_SHIFT)
|
|
#define UART_UCON_TX_INTTYPE_LEVEL (0x1 << UART_UCON_TX_INTTYPE_SHIFT)
|
|
|
|
#define UART_UCON_RX_INTTYPE_SHIFT 8
|
|
#define UART_UCON_RX_INTTYPE_MASK (UART_UCON_RX_INTTYPE_SHIFT)
|
|
#define UART_UCON_RX_INTTYPE_PULSE (0x0 << UART_UCON_RX_INTTYPE_SHIFT)
|
|
#define UART_UCON_RX_INTTYPE_LEVEL (0x1 << UART_UCON_RX_INTTYPE_SHIFT)
|
|
|
|
#define UART_UCON_RX_TOUTINT_SHIFT 7
|
|
#define UART_UCON_RX_TOUTINT_MASK (0x1 << UART_UCON_RX_TOUTINT_SHIFT)
|
|
#define UART_UCON_RX_TOUTINT_DISABLE (0x0 << UART_UCON_RX_TOUTINT_SHIFT)
|
|
#define UART_UCON_RX_TOUTINT_ENABLE (0x1 << UART_UCON_RX_TOUTINT_SHIFT)
|
|
|
|
#define UART_UCON_RX_ERRINT_SHIFT 6
|
|
#define UART_UCON_RX_ERRINT_MASK (0x1 << UART_UCON_RX_ERRINT_SHIFT)
|
|
#define UART_UCON_RX_ERRINT_DISABLE (0x0 << UART_UCON_RX_ERRINT_SHIFT)
|
|
#define UART_UCON_RX_ERRINT_ENABLE (0x1 << UART_UCON_RX_ERRINT_SHIFT)
|
|
|
|
#define UART_UCON_LOOPBACK_SHIFT 5
|
|
#define UART_UCON_LOOPBACK_MASK (0x1 << UART_UCON_LOOPBACK_SHIFT)
|
|
#define UART_UCON_LOOPBACK_DISABLE (0x0 << UART_UCON_LOOPBACK_SHIFT)
|
|
#define UART_UCON_LOOPBACK_ENABLE (0x1 << UART_UCON_LOOPBACK_SHIFT)
|
|
|
|
#define UART_UCON_SEND_BREAK_SHIFT 4
|
|
#define UART_UCON_SEND_BREAK (0x1 << UART_UCON_SEND_BREAK_SHIFT)
|
|
|
|
#define UART_UCON_TX_MODE_SHIFT 2
|
|
#define UART_UCON_TX_MODE_MASK (0x3 << UART_UCON_TX_MODE_SHIFT)
|
|
#define UART_UCON_TX_MODE_DISABLE (0x0 << UART_UCON_TX_MODE_SHIFT)
|
|
#define UART_UCON_TX_MODE_IRQPOLL (0x1 << UART_UCON_TX_MODE_SHIFT)
|
|
#define UART_UCON_TX_MODE_DMA (0x2 << UART_UCON_TX_MODE_SHIFT)
|
|
#define UART_UCON_TX_MODE_RESERVED (0x3 << UART_UCON_TX_MODE_SHIFT)
|
|
|
|
#define UART_UCON_RX_MODE_SHIFT 0
|
|
#define UART_UCON_RX_MODE_MASK (0x3 << UART_UCON_RX_MODE_SHIFT)
|
|
#define UART_UCON_RX_MODE_DISABLE (0x0 << UART_UCON_RX_MODE_SHIFT)
|
|
#define UART_UCON_RX_MODE_IRQPOLL (0x1 << UART_UCON_RX_MODE_SHIFT)
|
|
#define UART_UCON_RX_MODE_DMA (0x2 << UART_UCON_RX_MODE_SHIFT)
|
|
#define UART_UCON_RX_MODE_RESERVED (0x3 << UART_UCON_RX_MODE_SHIFT)
|
|
|
|
/* FIFO Control register ****************************************************/
|
|
#define UART_UFCON_TX_FIFO_TRIG_SHIFT 8
|
|
#define UART_UFCON_TX_FIFO_TRIG_MASK (0x7 << UART_UFCON_TX_FIFO_TRIG_SHIFT)
|
|
#define UART_UFCON_TX_FIFO_TRIG_0BYTE (0x0 << UART_UFCON_TX_FIFO_TRIG_SHIFT)
|
|
#define UART_UFCON_TX_FIFO_TRIG_2BYTES (0x1 << UART_UFCON_TX_FIFO_TRIG_SHIFT)
|
|
#define UART_UFCON_TX_FIFO_TRIG_4BYTES (0x2 << UART_UFCON_TX_FIFO_TRIG_SHIFT)
|
|
#define UART_UFCON_TX_FIFO_TRIG_6BYTES (0x3 << UART_UFCON_TX_FIFO_TRIG_SHIFT)
|
|
#define UART_UFCON_TX_FIFO_TRIG_8BYTES (0x4 << UART_UFCON_TX_FIFO_TRIG_SHIFT)
|
|
#define UART_UFCON_TX_FIFO_TRIG_10BYTES (0x4 << UART_UFCON_TX_FIFO_TRIG_SHIFT)
|
|
#define UART_UFCON_TX_FIFO_TRIG_12BYTES (0x5 << UART_UFCON_TX_FIFO_TRIG_SHIFT)
|
|
#define UART_UFCON_TX_FIFO_TRIG_14BYTES (0x6 << UART_UFCON_TX_FIFO_TRIG_SHIFT)
|
|
|
|
#define UART_UFCON_RX_FIFO_TRIG_SHIFT 4
|
|
#define UART_UFCON_RX_FIFO_TRIG_MASK (0x7 << UART_UFCON_RX_FIFO_TRIG_SHIFT)
|
|
#define UART_UFCON_RX_FIFO_TRIG_0BYTE (0x0 << UART_UFCON_RX_FIFO_TRIG_SHIFT)
|
|
#define UART_UFCON_RX_FIFO_TRIG_2BYTES (0x1 << UART_UFCON_RX_FIFO_TRIG_SHIFT)
|
|
#define UART_UFCON_RX_FIFO_TRIG_4BYTES (0x2 << UART_UFCON_RX_FIFO_TRIG_SHIFT)
|
|
#define UART_UFCON_RX_FIFO_TRIG_6BYTES (0x3 << UART_UFCON_RX_FIFO_TRIG_SHIFT)
|
|
#define UART_UFCON_RX_FIFO_TRIG_8BYTES (0x4 << UART_UFCON_RX_FIFO_TRIG_SHIFT)
|
|
#define UART_UFCON_RX_FIFO_TRIG_10BYTES (0x4 << UART_UFCON_RX_FIFO_TRIG_SHIFT)
|
|
#define UART_UFCON_RX_FIFO_TRIG_12BYTES (0x5 << UART_UFCON_RX_FIFO_TRIG_SHIFT)
|
|
#define UART_UFCON_RX_FIFO_TRIG_14BYTES (0x6 << UART_UFCON_RX_FIFO_TRIG_SHIFT)
|
|
|
|
#define UART_UFCON_TX_FIFO_RESET_SHIFT 2
|
|
#define UART_UFCON_TX_FIFO_RESET (0x1 << UART_UFCON_TX_FIFO_RESET_SHIFT)
|
|
|
|
#define UART_UFCON_RX_FIFO_RESET_SHIFT 1
|
|
#define UART_UFCON_RX_FIFO_RESET (0x1 << UART_UFCON_RX_FIFO_RESET_SHIFT)
|
|
|
|
#define UART_UFCON_FIFO_SHIFT 0
|
|
#define UART_UFCON_FIFO_MASK (0x1 << UART_UFCON_FIFO_SHIFT)
|
|
#define UART_UFCON_FIFO_DISABLE (0x0 << UART_UFCON_FIFO_SHIFT)
|
|
#define UART_UFCON_FIFO_ENABLE (0x1 << UART_UFCON_FIFO_SHIFT)
|
|
|
|
/* Modem Control register ***************************************************/
|
|
#define UART_UMCON_RTS_TRIG_SHIFT 5
|
|
#define UART_UMCON_RTS_TRIG_MASK (0x7 << UART_UMCON_RTS_TRIG_SHIFT)
|
|
#define UART_UMCON_RTS_TRIG_15BYTES (0x0 << UART_UMCON_RTS_TRIG_SHIFT)
|
|
#define UART_UMCON_RTS_TRIG_14BYTES (0x1 << UART_UMCON_RTS_TRIG_SHIFT)
|
|
#define UART_UMCON_RTS_TRIG_12BYTES (0x2 << UART_UMCON_RTS_TRIG_SHIFT)
|
|
#define UART_UMCON_RTS_TRIG_10BYTES (0x3 << UART_UMCON_RTS_TRIG_SHIFT)
|
|
#define UART_UMCON_RTS_TRIG_8BYTES (0x4 << UART_UMCON_RTS_TRIG_SHIFT)
|
|
#define UART_UMCON_RTS_TRIG_6BYTES (0x5 << UART_UMCON_RTS_TRIG_SHIFT)
|
|
#define UART_UMCON_RTS_TRIG_4BYTES (0x6 << UART_UMCON_RTS_TRIG_SHIFT)
|
|
#define UART_UMCON_RTS_TRIG_2BYTES (0x7 << UART_UMCON_RTS_TRIG_SHIFT)
|
|
|
|
#define UART_UMCON_AFC_SHIFT 4
|
|
#define UART_UMCON_AFC_MASK (0x1 << UART_UMCON_AFC_SHIFT)
|
|
#define UART_UMCON_AFC_DISABLE (0x0 << UART_UMCON_AFC_SHIFT)
|
|
#define UART_UMCON_AFC_ENABLE (0x1 << UART_UMCON_AFC_SHIFT)
|
|
|
|
#define UART_UMCON_MODEM_INT_SHIFT 3
|
|
#define UART_UMCON_MODEM_INT_MASK (0x1 << UART_UMCON_MODEM_INT_SHIFT)
|
|
#define UART_UMCON_MODEM_INT_DISABLE (0x0 << UART_UMCON_MODEM_INT_SHIFT)
|
|
#define UART_UMCON_MODEM_INT_ENABLE (0x1 << UART_UMCON_MODEM_INT_SHIFT)
|
|
|
|
#define UART_UMCON_REQ_TO_SEND_SHIFT 0
|
|
#define UART_UMCON_REQ_TO_SEND_MASK (0x1 << UART_UMCON_REQ_TO_SEND_SHIFT)
|
|
#define UART_UMCON_REQ_TO_SEND_HIGH (0x0 << UART_UMCON_REQ_TO_SEND_SHIFT)
|
|
#define UART_UMCON_REQ_TO_SEND_LOW (0x1 << UART_UMCON_REQ_TO_SEND_SHIFT)
|
|
|
|
/* Tx/Rx Status register ****************************************************/
|
|
#define UART_UTRSTAT_RX_FIFO_CNT_SHIFT 16
|
|
#define UART_UTRSTAT_RX_FIFO_CNT_MASK (0xff << UART_UTRSTAT_RXFIFO_CNT_SHIFT)
|
|
|
|
#define UART_UTRSTAT_TX_DMA_SHIFT 12
|
|
#define UART_UTRSTAT_TX_DMA_MASK (0xf << UART_UTRSTAT_TX_DMA_SHIFT)
|
|
#define UART_UTRSTAT_TX_DMA_IDLE (0x0 << UART_UTRSTAT_TX_DMA_SHIFT)
|
|
#define UART_UTRSTAT_TX_DMA_BURST_REQ (0x1 << UART_UTRSTAT_TX_DMA_SHIFT)
|
|
#define UART_UTRSTAT_TX_DMA_BURST_ACK (0x2 << UART_UTRSTAT_TX_DMA_SHIFT)
|
|
#define UART_UTRSTAT_TX_DMA_BURST_NEXT (0x3 << UART_UTRSTAT_TX_DMA_SHIFT)
|
|
#define UART_UTRSTAT_TX_DMA_SINGLE_REQ (0x4 << UART_UTRSTAT_TX_DMA_SHIFT)
|
|
#define UART_UTRSTAT_TX_DMA_SINGLE_ACK (0x5 << UART_UTRSTAT_TX_DMA_SHIFT)
|
|
#define UART_UTRSTAT_TX_DMA_SINGLE_NEXT (0x6 << UART_UTRSTAT_TX_DMA_SHIFT)
|
|
#define UART_UTRSTAT_TX_DMA_LBURST_REQ (0x7 << UART_UTRSTAT_TX_DMA_SHIFT)
|
|
#define UART_UTRSTAT_TX_DMA_LBURST_ACK (0x8 << UART_UTRSTAT_TX_DMA_SHIFT)
|
|
#define UART_UTRSTAT_TX_DMA_LSINGLE_REQ (0x9 << UART_UTRSTAT_TX_DMA_SHIFT)
|
|
#define UART_UTRSTAT_TX_DMA_LSINGLE_ACK (0xa << UART_UTRSTAT_TX_DMA_SHIFT)
|
|
|
|
#define UART_UTRSTAT_RX_DMA_SHIFT 8
|
|
#define UART_UTRSTAT_RX_DMA_MASK (0xf << UART_UTRSTAT_RX_DMA_SHIFT)
|
|
#define UART_UTRSTAT_RX_DMA_IDLE (0x0 << UART_UTRSTAT_RX_DMA_SHIFT)
|
|
#define UART_UTRSTAT_RX_DMA_BURST_REQ (0x1 << UART_UTRSTAT_RX_DMA_SHIFT)
|
|
#define UART_UTRSTAT_RX_DMA_BURST_ACK (0x2 << UART_UTRSTAT_RX_DMA_SHIFT)
|
|
#define UART_UTRSTAT_RX_DMA_BURST_NEXT (0x3 << UART_UTRSTAT_RX_DMA_SHIFT)
|
|
#define UART_UTRSTAT_RX_DMA_SINGLE_REQ (0x4 << UART_UTRSTAT_RX_DMA_SHIFT)
|
|
#define UART_UTRSTAT_RX_DMA_SINGLE_ACK (0x5 << UART_UTRSTAT_RX_DMA_SHIFT)
|
|
#define UART_UTRSTAT_RX_DMA_SINGLE_NEXT (0x6 << UART_UTRSTAT_RX_DMA_SHIFT)
|
|
#define UART_UTRSTAT_RX_DMA_LBURST_REQ (0x7 << UART_UTRSTAT_RX_DMA_SHIFT)
|
|
#define UART_UTRSTAT_RX_DMA_LBURST_ACK (0x8 << UART_UTRSTAT_RX_DMA_SHIFT)
|
|
#define UART_UTRSTAT_RX_DMA_LSINGLE_REQ (0x9 << UART_UTRSTAT_RX_DMA_SHIFT)
|
|
#define UART_UTRSTAT_RX_DMA_LSINGLE_ACK (0xa << UART_UTRSTAT_RX_DMA_SHIFT)
|
|
|
|
#define UART_UTRSTAT_RX_TOUT_SHIFT 3
|
|
#define UART_UTRSTAT_RX_TOUT_MASK (0x1 << UART_UTRSTAT_RX_TOUT_SHIFT)
|
|
#define UART_UTRSTAT_RX_TOUT_NONE (0x0 << UART_UTRSTAT_RX_TOUT_SHIFT)
|
|
#define UART_UTRSTAT_RX_TOUT_TIMEOUT (0x1 << UART_UTRSTAT_RX_TOUT_SHIFT)
|
|
|
|
#define UART_UTRSTAT_TX_SHIFT 2
|
|
#define UART_UTRSTAT_TX_MASK (0x1 << UART_UTRSTAT_TX_SHIFT)
|
|
#define UART_UTRSTAT_TX_NOT_EMPTY (0x0 << UART_UTRSTAT_TX_SHIFT)
|
|
#define UART_UTRSTAT_TX_EMPTY (0x1 << UART_UTRSTAT_TX_SHIFT)
|
|
|
|
#define UART_UTRSTAT_TX_BUF_SHIFT 1
|
|
#define UART_UTRSTAT_TX_BUF_MASK (0x1 << UART_UTRSTAT_TX_BUF_SHIFT)
|
|
#define UART_UTRSTAT_TX_BUF_NOT_EMPTY (0x0 << UART_UTRSTAT_TX_BUF_SHIFT)
|
|
#define UART_UTRSTAT_TX_BUF_EMPTY (0x1 << UART_UTRSTAT_TX_BUF_SHIFT)
|
|
|
|
#define UART_UTRSTAT_RX_BUF_SHIFT 0
|
|
#define UART_UTRSTAT_RX_BUF_MASK (0x1 << UART_UTRSTAT_RX_BUF_SHIFT)
|
|
#define UART_UTRSTAT_RX_BUF_NOT_EMPTY (0x1 << UART_UTRSTAT_RX_BUF_SHIFT)
|
|
#define UART_UTRSTAT_RX_BUF_EMPTY (0x0 << UART_UTRSTAT_RX_BUF_SHIFT)
|
|
|
|
/* Rx Error Status register *************************************************/
|
|
#define UART_UERSTAT_BREAK_DETECT 0x8
|
|
#define UART_UERSTAT_FRAME_ERROR 0x4
|
|
#define UART_UERSTAT_PARITY_ERROR 0x2
|
|
#define UART_UERSTAT_OVERRUN_ERROR 0x1
|
|
|
|
/* FIFO status register *****************************************************/
|
|
#define UART_UFSTAT_TX_FIFO_FULL_SHIFT 24
|
|
#define UART_UFSTAT_TX_FIFO_FULL_MASK (0x1 << UART_UFSTAT_TX_FIFO_FULL_SHIFT)
|
|
#define UART_UFSTAT_TX_FIFO_FULL (0x1 << UART_UFSTAT_TX_FIFO_FULL_SHIFT)
|
|
|
|
#define UART_UFSTAT_TX_FIFO_COUNT_SHIFT 16
|
|
#define UART_UFSTAT_TX_FIFO_COUNT_MASK (0xff << UART_UFSTAT_TX_FIFO_COUNT_SHIFT)
|
|
|
|
#define UART_UFSTAT_RX_FIFO_ERROR_SHIFT 9
|
|
#define UART_UFSTAT_RX_FIFO_ERROR_MASK (0x1 << UART_UFSTAT_RX_FIFO_ERROR_SHIFT)
|
|
#define UART_UFSTAT_RX_FIFO_ERROR (0x1 << UART_UFSTAT_RX_FIFO_ERROR_SHIFT)
|
|
|
|
#define UART_UFSTAT_RX_FIFO_FULL_SHIFT 8
|
|
#define UART_UFSTAT_RX_FIFO_FULL_MASK (0x1 << UART_UFSTAT_RX_FIFO_FULL_SHIFT)
|
|
#define UART_UFSTAT_RX_FIFO_FULL (0x1 << UART_UFSTAT_RX_FIFO_FULL_SHIFT)
|
|
|
|
#define UART_UFSTAT_RX_FIFO_COUNT_SHIFT 0
|
|
#define UART_UFSTAT_RX_FIFO_COUNT_MASK (0xff << UART_UFSTAT_RX_FIFO_COUNT_SHIFT)
|
|
|
|
/* Modem Status register ****************************************************/
|
|
#define UART_UMSTAT_DELTA_CTS_SHIFT 4
|
|
#define UART_UMSTAT_DELTA_CTS_MASK (0x1 << UART_UMSTAT_DELTA_CTS_SHIFT)
|
|
#define UART_UMSTAT_DELTA_CTS_NOCHANGE (0x0 << UART_UMSTAT_DELTA_CTS_SHIFT)
|
|
#define UART_UMSTAT_DELTA_CTS_CHANGED (0x1 << UART_UMSTAT_DELTA_CTS_SHIFT)
|
|
|
|
#define UART_UMSTAT_NCTS_SHIFT 0
|
|
#define UART_UMSTAT_NCTS_MASK (0x1 << UART_UMSTAT_NCTS_SHIFT)
|
|
#define UART_UMSTAT_NCTS_HIGH (0x0 << UART_UMSTAT_NCTS_SHIFT)
|
|
#define UART_UMSTAT_NCTS_LOW (0x1 << UART_UMSTAT_NCTS_SHIFT)
|
|
|
|
/* INterrupt Pending register ***********************************************/
|
|
#define UART_UINTP_MODEM_SHIFT 3
|
|
#define UART_UINTP_MODEM_MASK (0x1 << UART_UINTP_MODEM_SHIFT)
|
|
#define UART_UINTP_MODEM (0x1 << UART_UINTP_MODEM_SHIFT)
|
|
|
|
#define UART_UINTP_TXD_SHIFT 2
|
|
#define UART_UINTP_TXD_MASK (0x1 << UART_UINTP_TXD_SHIFT)
|
|
#define UART_UINTP_TXD (0x1 << UART_UINTP_TXD_SHIFT)
|
|
|
|
#define UART_UINTP_ERROR_SHIFT 1
|
|
#define UART_UINTP_ERROR_MASK (0x1 << UART_UINTP_ERROR_SHIFT)
|
|
#define UART_UINTP_ERROR (0x1 << UART_UINTP_ERROR_SHIFT)
|
|
|
|
#define UART_UINTP_RXD_SHIFT 0
|
|
#define UART_UINTP_RXD_MASK (0x1 << UART_UINTP_RXD_SHIFT)
|
|
#define UART_UINTP_RXD (0x1 << UART_UINTP_RXD_SHIFT)
|
|
|
|
/* Interrupt Source register ************************************************/
|
|
#define UART_UINTS_MODEM_SHIFT 3
|
|
#define UART_UINTS_MODEM_MASK (0x1 << UART_UINTS_MODEM_SHIFT)
|
|
#define UART_UINTS_MODEM (0x1 << UART_UINTS_MODEM_SHIFT)
|
|
|
|
#define UART_UINTS_TXD_SHIFT 2
|
|
#define UART_UINTS_TXD_MASK (0x1 << UART_UINTS_TXD_SHIFT)
|
|
#define UART_UINTS_TXD (0x1 << UART_UINTS_TXD_SHIFT)
|
|
|
|
#define UART_UINTS_ERROR_SHIFT 1
|
|
#define UART_UINTS_ERROR_MASK (0x1 << UART_UINTS_ERROR_SHIFT)
|
|
#define UART_UINTS_ERROR (0x1 << UART_UINTS_ERROR_SHIFT)
|
|
|
|
#define UART_UINTS_RXD_SHIFT 0
|
|
#define UART_UINTS_RXD_MASK (0x1 << UART_UINTS_RXD_SHIFT)
|
|
#define UART_UINTS_RXD (0x1 << UART_UINTS_RXD_SHIFT)
|
|
|
|
/* Interrupt Mask register **************************************************/
|
|
#define UART_UINTM_MODEM_SHIFT 3
|
|
#define UART_UINTM_MODEM_MASK (0x1 << UART_UINTM_MODEM_SHIFT)
|
|
|
|
#define UART_UINTM_TXD_SHIFT 2
|
|
#define UART_UINTM_TXD_MASK (0x1 << UART_UINTM_TXD_SHIFT)
|
|
|
|
#define UART_UINTM_ERROR_SHIFT 1
|
|
#define UART_UINTM_ERROR_MASK (0x1 << UART_UINTM_ERROR_SHIFT)
|
|
|
|
#define UART_UINTM_RXD_SHIFT 0
|
|
#define UART_UINTM_RXD_MASK (0x1 << UART_UINTM_RXD_SHIFT)
|
|
|
|
|
|
/*----------------------------- S5JS100 ATimer (TIMER) -------------------------------*/
|
|
typedef struct {
|
|
__IO uint32_t LOAD_VALUE; /* 0x0 */
|
|
__IO uint32_t CTRL; /* 0x4 */
|
|
__IO uint32_t LOAD_CON_VALUE; /* 0x8 */
|
|
__IO uint32_t INT_STATUS; /* 0xC */
|
|
|
|
__IO uint32_t INT_CLEAR; /* 0x10 */
|
|
__IO uint32_t INT_ENABLE; /* 0x14 */
|
|
__IO uint32_t RSVD3; /* 0x18 */
|
|
__IO uint32_t RSVD4; /* 0x1C */
|
|
|
|
__IO uint32_t RSVD5; /* 0x20 */
|
|
__IO uint32_t RSVD6; /* 0x24 */
|
|
__IO uint32_t RSVD7; /* 0x28 */
|
|
__IO uint32_t RSVD8; /* 0x2C */
|
|
|
|
__IO uint32_t RSVD9; /* 0x30 */
|
|
__IO uint32_t CNT_VALUE; /* 0x34 */
|
|
__IO uint32_t RSVD10; /* 0x38 */
|
|
__IO uint32_t RSVD11; /* 0x3C */
|
|
} S5JS100_TIMER_TypeDef;
|
|
|
|
/*----------------------------- S5JS100 USI (UART/SPI/I2C) -------------------------------*/
|
|
typedef struct {
|
|
__IO uint32_t CONFIG; // 0x0000
|
|
__IO uint32_t CON; // 0x0004
|
|
__IO uint32_t OPTION; // 0x008~0x014
|
|
__IO uint32_t VERSION; // 0x018
|
|
__IO uint32_t UART_VERSION; // 0x01c
|
|
__IO uint32_t SPI_VERSION; // 0x020
|
|
__IO uint32_t I2C_VERSION; // 0x024
|
|
__IO uint32_t FIFO_DEPTH; // 0x028
|
|
} S5JS100_USI_TypeDef;
|
|
|
|
#define USI_CONFIG_UART 1
|
|
#define USI_CONFIG_SPI 2
|
|
#define USI_CONFIG_I2C 4
|
|
|
|
#define USI_CON_RST 1
|
|
|
|
#define USI_OPTION_MASTER 1
|
|
#define USI_OPTION_HWACG(x) ((0x3 & (x)) << 1)
|
|
|
|
#define USI_VERSION_HW(x) ((x) & 0xFF)
|
|
#define USI_VERSION_SW(x) (((x) >> 8) & 0xFF)
|
|
#define USI_VERSION_UART(x) (((x) >> 16) & 1)
|
|
#define USI_VERSION_SPI(x) (((x) >> 17) & 1)
|
|
#define USI_VERSION_USI(x) (((x) >> 24) & 0xFF)
|
|
|
|
#define USI_TXFIFO(x) (((x) >> 16) & 0x1FF)
|
|
#define USI_RXFIFO(x) ((x) & 0x1FF)
|
|
|
|
|
|
/*-------------------- General Purpose Input Output (GPIO) -------------------*/
|
|
/*------------------- Watchdog ----------------------------------------------*/
|
|
/* -------------------- End of section using anonymous unions ------------------- */
|
|
#if defined ( __CC_ARM )
|
|
#pragma pop
|
|
#elif defined(__ICCARM__)
|
|
/* leave anonymous unions enabled */
|
|
#elif defined(__GNUC__)
|
|
/* anonymous unions are enabled by default */
|
|
#elif defined(__TMS470__)
|
|
/* anonymous unions are enabled by default */
|
|
#elif defined(__TASKING__)
|
|
#pragma warning restore
|
|
#else
|
|
#warning Not supported compiler type
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/* ================================================================================ */
|
|
/* ================ Peripheral memory map ================ */
|
|
/* ================================================================================ */
|
|
|
|
/* Peripheral and SRAM base address */
|
|
#define S5JS100_FLASH_BASE 0x00000000
|
|
#define S5JS100_TIMER0_BASE 0x83012000
|
|
#define S5JS100_TIMER1_BASE 0x83012100
|
|
#define S5JS100_USI0_BASE 0x83014000
|
|
#define S5JS100_USI1_BASE 0x83015000
|
|
#define S5JS100_ACPU_SFR_PADDR 0x80000000
|
|
#define S5JS100_MCPU_ROM 0x80140000
|
|
#define S5JS100_MCPU_Debug 0x80150000
|
|
#define S5JS100_MCPU_CTI 0x80158000
|
|
#define S5JS100_PMU_ALIVE 0x81000000
|
|
#define S5JS100_SCMU 0x82000000
|
|
#define S5JS100_EFUSE 0x82010000
|
|
#define S5JS100_PMU_SYS 0x82020000
|
|
#define S5JS100_REG_PAD_CONTROL 0x82021000
|
|
#define S5JS100_ACMU 0x83000000
|
|
#define S5JS100_WDT_BASE 0x83011000
|
|
#define S5JS100_ATIMER 0x83012000
|
|
#define S5JS100_SDIOC 0x83020000
|
|
#define S5JS100_USI0 0x83014000
|
|
#define S5JS100_USI1 0x83015000
|
|
#define S5JS100_SPI 0x83016000
|
|
#define S5JS100_I2C 0x83017000
|
|
#define S5JS100_PWM 0x83018000
|
|
#define S5JS100_SSS_SS 0x83100000
|
|
#define S5JS100_SSS_MB 0x83110000
|
|
#define S5JS100_SSS_KM 0x83120000
|
|
#define S5JS100_PUF 0x83130000
|
|
#define S5JS100_PDMAC 0x83200000
|
|
#define S5JS100_ACPU_BUS_GPV 0x83300000
|
|
#define S5JS100_PPMU_ACPU 0x83400000
|
|
#define S5JS100_MCMU 0x84000000
|
|
#define S5JS100_MWDOG 0x84010000
|
|
#define S5JS100_MTIMER 0x84011000
|
|
#define S5JS100_NBSLEEP 0x84012000
|
|
#define S5JS100_USIM 0x84013000
|
|
#define S5JS100_GIC_DST 0x84100000
|
|
#define S5JS100_GIC_CPU 0x84101000
|
|
#define S5JS100_MDMAC 0x84200000
|
|
#define S5JS100_MCPU_BUS_GPV 0x84300000
|
|
#define S5JS100_MCPU_BUS_CFG 0x84400000
|
|
#define S5JS100_BUS_MONITOR 0x84401000
|
|
#define S5JS100_PPMU_MCPU 0x84410000
|
|
#define S5JS100_MIFCMU 0x85000000
|
|
#define S5JS100_BAAW 0x85010000
|
|
#define S5JS100_QSPI_SFR 0x85020000
|
|
#define S5JS100_GPADCIF0 0x85021000
|
|
#define S5JS100_GPADCIF1 0x85022000
|
|
#define S5JS100_MAILBOX 0x85023000
|
|
#define S5JS100_UART0_BASE 0x85024000
|
|
#define S5JS100_UART1_BASE 0x85025000
|
|
#define S5JS100_GPIO_BASE 0x85026000
|
|
#define S5JS100_PPMU_MCPU2MIF 0x85030000
|
|
#define S5JS100_SYS_CFG 0x85040000
|
|
#define S5JS100_MIF_BUS_GPV 0x85300000
|
|
#define S5JS100_PPMU_ACPU2MIF 0x85400000
|
|
#define S5JS100_RFIP 0x86000000
|
|
#define S5JS100_DCXO_CFG 0x87000000
|
|
#define S5JS100_MCPU2GNSS0 0x88000000
|
|
#define S5JS100_MCPU2GNSS1 0xC0000000
|
|
#define S5JS100_NB_MDM00 0xDC000000
|
|
#define S5JS100_NB_MDM01 0xDC400000
|
|
#define S5JS100_NB_MDM02 0xDC800000
|
|
#define S5JS100_NB_MDM03 0xDCC00000
|
|
#define S5JS100_NB_MDM04 0xDD000000
|
|
#define S5JS100_NB_MDM05 0xDD400000
|
|
#define S5JS100_NB_MDM06 0xDD800000
|
|
#define S5JS100_NB_MDM07 0xDDC00000
|
|
#define S5JS100_NB_MDM08 0xDE000000
|
|
#define S5JS100_NB_MDM09 0xDE400000
|
|
#define S5JS100_NB_MDM10 0xDE800000
|
|
#define S5JS100_NB_MDM11 0xDEC00000
|
|
#define S5JS100_NB_MDM12 0xDF000000
|
|
#define S5JS100_NB_MDM13 0xDF400000
|
|
#define S5JS100_ACPU_CM7_PERI 0xE0000000
|
|
#define S5JS100_BOOTMEM_MIRROR 0xFFFF0000
|
|
/* ================================================================================ */
|
|
/* ================ Peripheral declaration ================ */
|
|
/* ================================================================================ */
|
|
|
|
#define S5JS100_USI0_UART ((S5JS100_USI_UART_TypeDef *) S5JS100_USI0_BASE )
|
|
#define S5JS100_USI1_UART ((S5JS100_USI_UART_TypeDef *) S5JS100_USI1_BASE )
|
|
#define S5JS100_UART0 ((S5JS100_UART_TypeDef *) S5JS100_UART0_BASE )
|
|
#define S5JS100_UART1 ((S5JS100_UART_TypeDef *) S5JS100_UART1_BASE )
|
|
#define S5JS100_TIMER0 ((S5JS100_TIMER_TypeDef *) S5JS100_TIMER0_BASE )
|
|
#define S5JS100_TIMER1 ((S5JS100_TIMER_TypeDef *) S5JS100_TIMER1_BASE )
|
|
|
|
#define S5JS100_USI0_REG ((S5JS100_USI_TypeDef *) (S5JS100_USI0 + 0xC0))
|
|
#define S5JS100_USI1_REG ((S5JS100_USI_TypeDef *) (S5JS100_USI1 + 0xC0))
|
|
|
|
#define S5JS100_SYSCFG_USI0_CONF (*(uint32_t *)(S5JS100_SYS_CFG + 0x1030))
|
|
#define S5JS100_SYSCFG_USI0_IPCLK (*(uint32_t *)(S5JS100_SYS_CFG + 0x1034))
|
|
#define S5JS100_SYSCFG_USI1_CONF (*(uint32_t *)(S5JS100_SYS_CFG + 0x1038))
|
|
#define S5JS100_SYSCFG_USI1_IPCLK (*(uint32_t *)(S5JS100_SYS_CFG + 0x103C))
|
|
|
|
|
|
/*********************************************************************
|
|
* GPIO 2 / 3 BIT FEILD POS, OUTPUTS
|
|
*************************************************************************/
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* S5JS100_H */
|