arm: vf610: add uart0 clock/iomux definitions
[u-boot/qq2440-u-boot.git] / board / freescale / common / ngpixis.h
blob364e74954ebe4693ca83352195499c0665013964
1 /**
2 * Copyright 2010-2011 Freescale Semiconductor
3 * Author: Timur Tabi <timur@freescale.com>
5 * SPDX-License-Identifier: GPL-2.0+
7 * This file provides support for the ngPIXIS, a board-specific FPGA used on
8 * some Freescale reference boards.
9 */
11 /* ngPIXIS register set. Hopefully, this won't change too much over time.
12 * Feel free to add board-specific #ifdefs where necessary.
14 typedef struct ngpixis {
15 u8 id;
16 u8 arch;
17 u8 scver;
18 u8 csr;
19 u8 rst;
20 u8 serclk;
21 u8 aux;
22 u8 spd;
23 u8 brdcfg0;
24 u8 brdcfg1; /* On some boards, this register is called 'dma' */
25 u8 addr;
26 u8 brdcfg2;
27 u8 gpiodir;
28 u8 data;
29 u8 led;
30 u8 tag;
31 u8 vctl;
32 u8 vstat;
33 u8 vcfgen0;
34 u8 res4;
35 u8 ocmcsr;
36 u8 ocmmsg;
37 u8 gmdbg;
38 u8 res5[2];
39 u8 sclk[3];
40 u8 dclk[3];
41 u8 watch;
42 struct {
43 u8 sw;
44 u8 en;
45 } s[9]; /* s[0]..s[7] is SW1..SW8, and s[8] is SW11 */
46 } __attribute__ ((packed)) ngpixis_t;
48 /* Pointer to the PIXIS register set */
49 #define pixis ((ngpixis_t *)PIXIS_BASE)
51 /* The PIXIS SW register that corresponds to board switch X, where x >= 1 */
52 #define PIXIS_SW(x) (pixis->s[(x) - 1].sw)
54 /* The PIXIS EN register that corresponds to board switch X, where x >= 1 */
55 #define PIXIS_EN(x) (pixis->s[(x) - 1].en)
57 u8 pixis_read(unsigned int reg);
58 void pixis_write(unsigned int reg, u8 value);
60 #define PIXIS_READ(reg) pixis_read(offsetof(ngpixis_t, reg))
61 #define PIXIS_WRITE(reg, value) pixis_write(offsetof(ngpixis_t, reg), value)