1e1ef7811SRafal Jaworowski /*- 2*4d846d26SWarner Losh * SPDX-License-Identifier: BSD-2-Clause 3718cf2ccSPedro F. Giffuni * 4e1ef7811SRafal Jaworowski * Copyright (c) 2006 Juniper Networks 5e1ef7811SRafal Jaworowski * All rights reserved. 6e1ef7811SRafal Jaworowski * 7e1ef7811SRafal Jaworowski * Redistribution and use in source and binary forms, with or without 8e1ef7811SRafal Jaworowski * modification, are permitted provided that the following conditions 9e1ef7811SRafal Jaworowski * are met: 10e1ef7811SRafal Jaworowski * 11e1ef7811SRafal Jaworowski * 1. Redistributions of source code must retain the above copyright 12e1ef7811SRafal Jaworowski * notice, this list of conditions and the following disclaimer. 13e1ef7811SRafal Jaworowski * 2. Redistributions in binary form must reproduce the above copyright 14e1ef7811SRafal Jaworowski * notice, this list of conditions and the following disclaimer in the 15e1ef7811SRafal Jaworowski * documentation and/or other materials provided with the distribution. 16e1ef7811SRafal Jaworowski * 17e1ef7811SRafal Jaworowski * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 18e1ef7811SRafal Jaworowski * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 19e1ef7811SRafal Jaworowski * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 20e1ef7811SRafal Jaworowski * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 21e1ef7811SRafal Jaworowski * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 22e1ef7811SRafal Jaworowski * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23e1ef7811SRafal Jaworowski * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24e1ef7811SRafal Jaworowski * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25e1ef7811SRafal Jaworowski * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26e1ef7811SRafal Jaworowski * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27e1ef7811SRafal Jaworowski */ 28e1ef7811SRafal Jaworowski 29e1ef7811SRafal Jaworowski #ifndef _DEV_IC_QUICC_H_ 30e1ef7811SRafal Jaworowski #define _DEV_IC_QUICC_H_ 31e1ef7811SRafal Jaworowski 32e1ef7811SRafal Jaworowski /* 33e1ef7811SRafal Jaworowski * Device parameter RAM 34e1ef7811SRafal Jaworowski */ 35e1ef7811SRafal Jaworowski #define QUICC_PRAM_BASE 0x8000 36e1ef7811SRafal Jaworowski 37e1ef7811SRafal Jaworowski #define QUICC_PRAM_REV_NUM (QUICC_PRAM_BASE + 0xaf0) 38e1ef7811SRafal Jaworowski 39e1ef7811SRafal Jaworowski /* SCC parameter RAM. */ 40e1ef7811SRafal Jaworowski #define QUICC_PRAM_SIZE_SCC 256 41e1ef7811SRafal Jaworowski #define QUICC_PRAM_BASE_SCC(u) (QUICC_PRAM_BASE + QUICC_PRAM_SIZE_SCC * (u)) 42e1ef7811SRafal Jaworowski 43e1ef7811SRafal Jaworowski /* SCC parameters that are common for all modes. */ 44e1ef7811SRafal Jaworowski #define QUICC_PRAM_SCC_RBASE(u) (QUICC_PRAM_BASE_SCC(u) + 0x00) 45e1ef7811SRafal Jaworowski #define QUICC_PRAM_SCC_TBASE(u) (QUICC_PRAM_BASE_SCC(u) + 0x02) 46e1ef7811SRafal Jaworowski #define QUICC_PRAM_SCC_RFCR(u) (QUICC_PRAM_BASE_SCC(u) + 0x04) 47e1ef7811SRafal Jaworowski #define QUICC_PRAM_SCC_TFCR(u) (QUICC_PRAM_BASE_SCC(u) + 0x05) 48e1ef7811SRafal Jaworowski #define QUICC_PRAM_SCC_MRBLR(u) (QUICC_PRAM_BASE_SCC(u) + 0x06) 49e1ef7811SRafal Jaworowski #define QUICC_PRAM_SCC_RBPTR(u) (QUICC_PRAM_BASE_SCC(u) + 0x10) 50e1ef7811SRafal Jaworowski #define QUICC_PRAM_SCC_TBPTR(u) (QUICC_PRAM_BASE_SCC(u) + 0x20) 51e1ef7811SRafal Jaworowski 52e1ef7811SRafal Jaworowski /* 53e1ef7811SRafal Jaworowski * SCC parameters that are specific to UART/ASYNC mode. 54e1ef7811SRafal Jaworowski */ 55e1ef7811SRafal Jaworowski #define QUICC_PRAM_SIZE_SCC_UART 0x68 /* Rounded up. */ 56e1ef7811SRafal Jaworowski 57e1ef7811SRafal Jaworowski #define QUICC_PRAM_SCC_UART_MAX_IDL(u) (QUICC_PRAM_BASE_SCC(u) + 0x38) 58e1ef7811SRafal Jaworowski #define QUICC_PRAM_SCC_UART_IDLC(u) (QUICC_PRAM_BASE_SCC(u) + 0x3a) 59e1ef7811SRafal Jaworowski #define QUICC_PRAM_SCC_UART_BRKCR(u) (QUICC_PRAM_BASE_SCC(u) + 0x3c) 60e1ef7811SRafal Jaworowski #define QUICC_PRAM_SCC_UART_PAREC(u) (QUICC_PRAM_BASE_SCC(u) + 0x3e) 61e1ef7811SRafal Jaworowski #define QUICC_PRAM_SCC_UART_FRMEC(u) (QUICC_PRAM_BASE_SCC(u) + 0x40) 62e1ef7811SRafal Jaworowski #define QUICC_PRAM_SCC_UART_NOSEC(u) (QUICC_PRAM_BASE_SCC(u) + 0x42) 63e1ef7811SRafal Jaworowski #define QUICC_PRAM_SCC_UART_BRKEC(u) (QUICC_PRAM_BASE_SCC(u) + 0x44) 64e1ef7811SRafal Jaworowski #define QUICC_PRAM_SCC_UART_BRKLN(u) (QUICC_PRAM_BASE_SCC(u) + 0x46) 65e1ef7811SRafal Jaworowski #define QUICC_PRAM_SCC_UART_UADDR1(u) (QUICC_PRAM_BASE_SCC(u) + 0x48) 66e1ef7811SRafal Jaworowski #define QUICC_PRAM_SCC_UART_UADDR2(u) (QUICC_PRAM_BASE_SCC(u) + 0x4a) 67e1ef7811SRafal Jaworowski #define QUICC_PRAM_SCC_UART_TOSEQ(u) (QUICC_PRAM_BASE_SCC(u) + 0x4e) 68e1ef7811SRafal Jaworowski #define QUICC_PRAM_SCC_UART_CC(u,n) (QUICC_PRAM_BASE_SCC(u) + 0x50 + (n)*2) 69e1ef7811SRafal Jaworowski #define QUICC_PRAM_SCC_UART_RCCM(u) (QUICC_PRAM_BASE_SCC(u) + 0x60) 70e1ef7811SRafal Jaworowski #define QUICC_PRAM_SCC_UART_RCCR(u) (QUICC_PRAM_BASE_SCC(u) + 0x62) 71e1ef7811SRafal Jaworowski #define QUICC_PRAM_SCC_UART_RLBC(u) (QUICC_PRAM_BASE_SCC(u) + 0x64) 72e1ef7811SRafal Jaworowski 73e1ef7811SRafal Jaworowski /* 74e1ef7811SRafal Jaworowski * Interrupt controller. 75e1ef7811SRafal Jaworowski */ 76e1ef7811SRafal Jaworowski #define QUICC_REG_SICR 0x10c00 77e1ef7811SRafal Jaworowski #define QUICC_REG_SIVEC 0x10c04 78e1ef7811SRafal Jaworowski #define QUICC_REG_SIPNR_H 0x10c08 79e1ef7811SRafal Jaworowski #define QUICC_REG_SIPNR_L 0x10c0c 80e1ef7811SRafal Jaworowski #define QUICC_REG_SCPRR_H 0x10c14 81e1ef7811SRafal Jaworowski #define QUICC_REG_SCPRR_L 0x10c18 82e1ef7811SRafal Jaworowski #define QUICC_REG_SIMR_H 0x10c1c 83e1ef7811SRafal Jaworowski #define QUICC_REG_SIMR_L 0x10c20 84e1ef7811SRafal Jaworowski #define QUICC_REG_SIEXR 0x10c24 85e1ef7811SRafal Jaworowski 86e1ef7811SRafal Jaworowski /* 87e1ef7811SRafal Jaworowski * System clock control register. 88e1ef7811SRafal Jaworowski */ 89e1ef7811SRafal Jaworowski #define QUICC_REG_SCCR 0x10c80 90e1ef7811SRafal Jaworowski 91e1ef7811SRafal Jaworowski /* 92e1ef7811SRafal Jaworowski * Baudrate generator registers. 93e1ef7811SRafal Jaworowski */ 94e1ef7811SRafal Jaworowski #define QUICC_REG_BRG(u) (0x119f0 + ((u) & 3) * 4 - ((u) & 4) * 0x100) 95e1ef7811SRafal Jaworowski 96e1ef7811SRafal Jaworowski /* 97e1ef7811SRafal Jaworowski * SCC registers. 98e1ef7811SRafal Jaworowski */ 99e1ef7811SRafal Jaworowski #define QUICC_REG_SIZE_SCC 0x20 100e1ef7811SRafal Jaworowski #define QUICC_REG_BASE_SCC(u) (0x11a00 + QUICC_REG_SIZE_SCC * (u)) 101e1ef7811SRafal Jaworowski 102e1ef7811SRafal Jaworowski #define QUICC_REG_SCC_GSMR_L(u) (QUICC_REG_BASE_SCC(u) + 0x00) 103e1ef7811SRafal Jaworowski #define QUICC_REG_SCC_GSMR_H(u) (QUICC_REG_BASE_SCC(u) + 0x04) 104e1ef7811SRafal Jaworowski #define QUICC_REG_SCC_PSMR(u) (QUICC_REG_BASE_SCC(u) + 0x08) 105e1ef7811SRafal Jaworowski #define QUICC_REG_SCC_TODR(u) (QUICC_REG_BASE_SCC(u) + 0x0c) 106e1ef7811SRafal Jaworowski #define QUICC_REG_SCC_DSR(u) (QUICC_REG_BASE_SCC(u) + 0x0e) 107e1ef7811SRafal Jaworowski #define QUICC_REG_SCC_SCCE(u) (QUICC_REG_BASE_SCC(u) + 0x10) 108e1ef7811SRafal Jaworowski #define QUICC_REG_SCC_SCCM(u) (QUICC_REG_BASE_SCC(u) + 0x14) 109e1ef7811SRafal Jaworowski #define QUICC_REG_SCC_SCCS(u) (QUICC_REG_BASE_SCC(u) + 0x17) 110e1ef7811SRafal Jaworowski 111e1ef7811SRafal Jaworowski #endif /* _DEV_IC_QUICC_H_ */ 112