1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * timberdale.h timberdale FPGA MFD driver defines
4 * Copyright (c) 2009 Intel Corporation
5 */
6
7/* Supports:
8 * Timberdale FPGA
9 */
10
11#ifndef MFD_TIMBERDALE_H
12#define MFD_TIMBERDALE_H
13
14#define DRV_VERSION "0.3"
15
16/* This driver only support versions >= 3.8 and < 4.0 */
17#define TIMB_SUPPORTED_MAJOR 3
18
19/* This driver only support minor >= 8 */
20#define TIMB_REQUIRED_MINOR 8
21
22/* Registers of the control area */
23#define TIMB_REV_MAJOR 0x00
24#define TIMB_REV_MINOR 0x04
25#define TIMB_HW_CONFIG 0x08
26#define TIMB_SW_RST 0x40
27
28/* bits in the TIMB_HW_CONFIG register */
29#define TIMB_HW_CONFIG_SPI_8BIT 0x80
30
31#define TIMB_HW_VER_MASK 0x0f
32#define TIMB_HW_VER0 0x00
33#define TIMB_HW_VER1 0x01
34#define TIMB_HW_VER2 0x02
35#define TIMB_HW_VER3 0x03
36
37#define OCORESOFFSET 0x0
38#define OCORESEND 0x1f
39
40#define SPIOFFSET 0x80
41#define SPIEND 0xff
42
43#define UARTLITEOFFSET 0x100
44#define UARTLITEEND 0x10f
45
46#define RDSOFFSET 0x180
47#define RDSEND 0x183
48
49#define ETHOFFSET 0x300
50#define ETHEND 0x3ff
51
52#define GPIOOFFSET 0x400
53#define GPIOEND 0x7ff
54
55#define CHIPCTLOFFSET 0x800
56#define CHIPCTLEND 0x8ff
57#define CHIPCTLSIZE (CHIPCTLEND - CHIPCTLOFFSET + 1)
58
59#define INTCOFFSET 0xc00
60#define INTCEND 0xfff
61#define INTCSIZE (INTCEND - INTCOFFSET)
62
63#define MOSTOFFSET 0x1000
64#define MOSTEND 0x13ff
65
66#define UARTOFFSET 0x1400
67#define UARTEND 0x17ff
68
69#define XIICOFFSET 0x1800
70#define XIICEND 0x19ff
71
72#define I2SOFFSET 0x1C00
73#define I2SEND 0x1fff
74
75#define LOGIWOFFSET 0x30000
76#define LOGIWEND 0x37fff
77
78#define MLCOREOFFSET 0x40000
79#define MLCOREEND 0x43fff
80
81#define DMAOFFSET 0x01000000
82#define DMAEND 0x013fffff
83
84/* SDHC0 is placed in PCI bar 1 */
85#define SDHC0OFFSET 0x00
86#define SDHC0END 0xff
87
88/* SDHC1 is placed in PCI bar 2 */
89#define SDHC1OFFSET 0x00
90#define SDHC1END 0xff
91
92#define PCI_VENDOR_ID_TIMB 0x10ee
93#define PCI_DEVICE_ID_TIMB 0xa123
94
95#define IRQ_TIMBERDALE_INIC 0
96#define IRQ_TIMBERDALE_MLB 1
97#define IRQ_TIMBERDALE_GPIO 2
98#define IRQ_TIMBERDALE_I2C 3
99#define IRQ_TIMBERDALE_UART 4
100#define IRQ_TIMBERDALE_DMA 5
101#define IRQ_TIMBERDALE_I2S 6
102#define IRQ_TIMBERDALE_TSC_INT 7
103#define IRQ_TIMBERDALE_SDHC 8
104#define IRQ_TIMBERDALE_ADV7180 9
105#define IRQ_TIMBERDALE_ETHSW_IF 10
106#define IRQ_TIMBERDALE_SPI 11
107#define IRQ_TIMBERDALE_UARTLITE 12
108#define IRQ_TIMBERDALE_MLCORE 13
109#define IRQ_TIMBERDALE_MLCORE_BUF 14
110#define IRQ_TIMBERDALE_RDS 15
111#define TIMBERDALE_NR_IRQS 16
112
113#define GPIO_PIN_ASCB 8
114#define GPIO_PIN_INIC_RST 14
115#define GPIO_PIN_BT_RST 15
116#define GPIO_NR_PINS 16
117
118/* DMA Channels */
119#define DMA_UART_RX 0
120#define DMA_UART_TX 1
121#define DMA_MLB_RX 2
122#define DMA_MLB_TX 3
123#define DMA_VIDEO_RX 4
124#define DMA_VIDEO_DROP 5
125#define DMA_SDHCI_RX 6
126#define DMA_SDHCI_TX 7
127#define DMA_ETH_RX 8
128#define DMA_ETH_TX 9
129
130#endif
131

source code of linux/drivers/mfd/timberdale.h