1233542Sjchandra/*- 2233542Sjchandra * Copyright (c) 2003-2012 Broadcom Corporation 3233542Sjchandra * All Rights Reserved 4233542Sjchandra * 5233542Sjchandra * Redistribution and use in source and binary forms, with or without 6233542Sjchandra * modification, are permitted provided that the following conditions 7233542Sjchandra * are met: 8233542Sjchandra * 9233542Sjchandra * 1. Redistributions of source code must retain the above copyright 10233542Sjchandra * notice, this list of conditions and the following disclaimer. 11233542Sjchandra * 2. Redistributions in binary form must reproduce the above copyright 12233542Sjchandra * notice, this list of conditions and the following disclaimer in 13233542Sjchandra * the documentation and/or other materials provided with the 14233542Sjchandra * distribution. 15279387Sjchandra * 16233542Sjchandra * THIS SOFTWARE IS PROVIDED BY BROADCOM ``AS IS'' AND ANY EXPRESS OR 17233542Sjchandra * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18233542Sjchandra * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19233542Sjchandra * ARE DISCLAIMED. IN NO EVENT SHALL BROADCOM OR CONTRIBUTORS BE LIABLE 20233542Sjchandra * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21233542Sjchandra * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22233542Sjchandra * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 23233542Sjchandra * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 24233542Sjchandra * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 25233542Sjchandra * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 26233542Sjchandra * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27233542Sjchandra * 28233542Sjchandra * $FreeBSD$ 29233542Sjchandra */ 30233542Sjchandra#ifndef _NLM_HAL_GBU_H__ 31233542Sjchandra#define _NLM_HAL_GBU_H__ 32233542Sjchandra 33233542Sjchandra/* Global Bus Unit (GBU) for flash Specific registers */ 34233542Sjchandra 35233542Sjchandra#define GBU_CS_BASEADDR(cs) (0x0+cs) 36233542Sjchandra#define GBU_CS0_BASEADDR 0x0 37233542Sjchandra#define GBU_CS1_BASEADDR 0x1 38233542Sjchandra#define GBU_CS2_BASEADDR 0x2 39233542Sjchandra#define GBU_CS3_BASEADDR 0x3 40233542Sjchandra#define GBU_CS4_BASEADDR 0x4 41233542Sjchandra#define GBU_CS5_BASEADDR 0x5 42233542Sjchandra#define GBU_CS6_BASEADDR 0x6 43233542Sjchandra#define GBU_CS7_BASEADDR 0x7 44233542Sjchandra#define GBU_CS_BASELIMIT(cs) (0x8+cs) 45233542Sjchandra#define GBU_CS0_BASELIMIT 0x8 46233542Sjchandra#define GBU_CS1_BASELIMIT 0x9 47233542Sjchandra#define GBU_CS2_BASELIMIT 0xa 48233542Sjchandra#define GBU_CS3_BASELIMIT 0xb 49233542Sjchandra#define GBU_CS4_BASELIMIT 0xc 50233542Sjchandra#define GBU_CS5_BASELIMIT 0xd 51233542Sjchandra#define GBU_CS6_BASELIMIT 0xe 52233542Sjchandra#define GBU_CS7_BASELIMIT 0xf 53233542Sjchandra#define GBU_CS_DEVPARAM(cs) (0x10+cs) 54233542Sjchandra#define GBU_CS0_DEVPARAM 0x10 55233542Sjchandra#define GBU_CS1_DEVPARAM 0x11 56233542Sjchandra#define GBU_CS2_DEVPARAM 0x12 57233542Sjchandra#define GBU_CS3_DEVPARAM 0x13 58233542Sjchandra#define GBU_CS4_DEVPARAM 0x14 59233542Sjchandra#define GBU_CS5_DEVPARAM 0x15 60233542Sjchandra#define GBU_CS6_DEVPARAM 0x16 61233542Sjchandra#define GBU_CS7_DEVPARAM 0x17 62233542Sjchandra#define GBU_CS_DEVTIME0(cs) (0x18+cs) 63233542Sjchandra#define GBU_CS0_DEVTIME0 0x18 64233542Sjchandra#define GBU_CS1_DEVTIME0 0x1a 65233542Sjchandra#define GBU_CS2_DEVTIME0 0x1c 66233542Sjchandra#define GBU_CS3_DEVTIME0 0x1e 67233542Sjchandra#define GBU_CS4_DEVTIME0 0x20 68233542Sjchandra#define GBU_CS5_DEVTIME0 0x22 69233542Sjchandra#define GBU_CS6_DEVTIME0 0x24 70233542Sjchandra#define GBU_CS7_DEVTIME0 0x26 71233542Sjchandra#define GBU_CS_DEVTIME1(cs) (0x19+cs) 72233542Sjchandra#define GBU_CS0_DEVTIME1 0x19 73233542Sjchandra#define GBU_CS1_DEVTIME1 0x1b 74233542Sjchandra#define GBU_CS2_DEVTIME1 0x1d 75233542Sjchandra#define GBU_CS3_DEVTIME1 0x1f 76233542Sjchandra#define GBU_CS4_DEVTIME1 0x21 77233542Sjchandra#define GBU_CS5_DEVTIME1 0x23 78233542Sjchandra#define GBU_CS6_DEVTIME1 0x25 79233542Sjchandra#define GBU_CS7_DEVTIME1 0x27 80233542Sjchandra#define GBU_SYSCTRL 0x28 81233542Sjchandra#define GBU_BYTESWAP 0x29 82233542Sjchandra#define GBU_DI_TIMEOUT_VAL 0x2d 83233542Sjchandra#define GBU_INTSTAT 0x2e 84233542Sjchandra#define GBU_INTEN 0x2f 85233542Sjchandra#define GBU_STATUS 0x30 86233542Sjchandra#define GBU_ERRLOG0 0x2a 87233542Sjchandra#define GBU_ERRLOG1 0x2b 88233542Sjchandra#define GBU_ERRLOG2 0x2c 89233542Sjchandra 90233542Sjchandra#if !defined(LOCORE) && !defined(__ASSEMBLY__) 91233542Sjchandra 92233542Sjchandra#define nlm_read_gbu_reg(b, r) nlm_read_reg(b, r) 93233542Sjchandra#define nlm_write_gbu_reg(b, r, v) nlm_write_reg(b, r, v) 94233542Sjchandra#define nlm_get_gbu_pcibase(node) \ 95233542Sjchandra nlm_pcicfg_base(XLP_IO_NOR_OFFSET(node)) 96233542Sjchandra#define nlm_get_gbu_regbase(node) \ 97233542Sjchandra (nlm_get_gbu_pcibase(node) + XLP_IO_PCI_HDRSZ) 98233542Sjchandra 99233542Sjchandra#endif /* !LOCORE && !__ASSEMBLY__ */ 100233542Sjchandra#endif /* _NLM_HAL_GBU_H__ */ 101