1*82c29810SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 28edbede9SRichard Röjfors /* 38edbede9SRichard Röjfors * timberdale.h timberdale FPGA MFD driver defines 48edbede9SRichard Röjfors * Copyright (c) 2009 Intel Corporation 58edbede9SRichard Röjfors */ 68edbede9SRichard Röjfors 78edbede9SRichard Röjfors /* Supports: 88edbede9SRichard Röjfors * Timberdale FPGA 98edbede9SRichard Röjfors */ 108edbede9SRichard Röjfors 118edbede9SRichard Röjfors #ifndef MFD_TIMBERDALE_H 128edbede9SRichard Röjfors #define MFD_TIMBERDALE_H 138edbede9SRichard Röjfors 14c091575cSRichard Röjfors #define DRV_VERSION "0.3" 158edbede9SRichard Röjfors 168edbede9SRichard Röjfors /* This driver only support versions >= 3.8 and < 4.0 */ 178edbede9SRichard Röjfors #define TIMB_SUPPORTED_MAJOR 3 188edbede9SRichard Röjfors 198edbede9SRichard Röjfors /* This driver only support minor >= 8 */ 208edbede9SRichard Röjfors #define TIMB_REQUIRED_MINOR 8 218edbede9SRichard Röjfors 228edbede9SRichard Röjfors /* Registers of the control area */ 238edbede9SRichard Röjfors #define TIMB_REV_MAJOR 0x00 248edbede9SRichard Röjfors #define TIMB_REV_MINOR 0x04 258edbede9SRichard Röjfors #define TIMB_HW_CONFIG 0x08 268edbede9SRichard Röjfors #define TIMB_SW_RST 0x40 278edbede9SRichard Röjfors 288edbede9SRichard Röjfors /* bits in the TIMB_HW_CONFIG register */ 298edbede9SRichard Röjfors #define TIMB_HW_CONFIG_SPI_8BIT 0x80 308edbede9SRichard Röjfors 318edbede9SRichard Röjfors #define TIMB_HW_VER_MASK 0x0f 328edbede9SRichard Röjfors #define TIMB_HW_VER0 0x00 338edbede9SRichard Röjfors #define TIMB_HW_VER1 0x01 348edbede9SRichard Röjfors #define TIMB_HW_VER2 0x02 358edbede9SRichard Röjfors #define TIMB_HW_VER3 0x03 368edbede9SRichard Röjfors 378edbede9SRichard Röjfors #define OCORESOFFSET 0x0 388edbede9SRichard Röjfors #define OCORESEND 0x1f 398edbede9SRichard Röjfors 408edbede9SRichard Röjfors #define SPIOFFSET 0x80 418edbede9SRichard Röjfors #define SPIEND 0xff 428edbede9SRichard Röjfors 438edbede9SRichard Röjfors #define UARTLITEOFFSET 0x100 448edbede9SRichard Röjfors #define UARTLITEEND 0x10f 458edbede9SRichard Röjfors 468edbede9SRichard Röjfors #define RDSOFFSET 0x180 478edbede9SRichard Röjfors #define RDSEND 0x183 488edbede9SRichard Röjfors 498edbede9SRichard Röjfors #define ETHOFFSET 0x300 508edbede9SRichard Röjfors #define ETHEND 0x3ff 518edbede9SRichard Röjfors 528edbede9SRichard Röjfors #define GPIOOFFSET 0x400 538edbede9SRichard Röjfors #define GPIOEND 0x7ff 548edbede9SRichard Röjfors 558edbede9SRichard Röjfors #define CHIPCTLOFFSET 0x800 568edbede9SRichard Röjfors #define CHIPCTLEND 0x8ff 575f7df57eSDan Carpenter #define CHIPCTLSIZE (CHIPCTLEND - CHIPCTLOFFSET + 1) 588edbede9SRichard Röjfors 598edbede9SRichard Röjfors #define INTCOFFSET 0xc00 608edbede9SRichard Röjfors #define INTCEND 0xfff 618edbede9SRichard Röjfors #define INTCSIZE (INTCEND - INTCOFFSET) 628edbede9SRichard Röjfors 638edbede9SRichard Röjfors #define MOSTOFFSET 0x1000 648edbede9SRichard Röjfors #define MOSTEND 0x13ff 658edbede9SRichard Röjfors 668edbede9SRichard Röjfors #define UARTOFFSET 0x1400 678edbede9SRichard Röjfors #define UARTEND 0x17ff 688edbede9SRichard Röjfors 698edbede9SRichard Röjfors #define XIICOFFSET 0x1800 708edbede9SRichard Röjfors #define XIICEND 0x19ff 718edbede9SRichard Röjfors 728edbede9SRichard Röjfors #define I2SOFFSET 0x1C00 738edbede9SRichard Röjfors #define I2SEND 0x1fff 748edbede9SRichard Röjfors 758edbede9SRichard Röjfors #define LOGIWOFFSET 0x30000 768edbede9SRichard Röjfors #define LOGIWEND 0x37fff 778edbede9SRichard Röjfors 788edbede9SRichard Röjfors #define MLCOREOFFSET 0x40000 798edbede9SRichard Röjfors #define MLCOREEND 0x43fff 808edbede9SRichard Röjfors 818edbede9SRichard Röjfors #define DMAOFFSET 0x01000000 828edbede9SRichard Röjfors #define DMAEND 0x013fffff 838edbede9SRichard Röjfors 848edbede9SRichard Röjfors /* SDHC0 is placed in PCI bar 1 */ 858edbede9SRichard Röjfors #define SDHC0OFFSET 0x00 868edbede9SRichard Röjfors #define SDHC0END 0xff 878edbede9SRichard Röjfors 888edbede9SRichard Röjfors /* SDHC1 is placed in PCI bar 2 */ 898edbede9SRichard Röjfors #define SDHC1OFFSET 0x00 908edbede9SRichard Röjfors #define SDHC1END 0xff 918edbede9SRichard Röjfors 928edbede9SRichard Röjfors #define PCI_VENDOR_ID_TIMB 0x10ee 938edbede9SRichard Röjfors #define PCI_DEVICE_ID_TIMB 0xa123 948edbede9SRichard Röjfors 958edbede9SRichard Röjfors #define IRQ_TIMBERDALE_INIC 0 968edbede9SRichard Röjfors #define IRQ_TIMBERDALE_MLB 1 978edbede9SRichard Röjfors #define IRQ_TIMBERDALE_GPIO 2 988edbede9SRichard Röjfors #define IRQ_TIMBERDALE_I2C 3 998edbede9SRichard Röjfors #define IRQ_TIMBERDALE_UART 4 1008edbede9SRichard Röjfors #define IRQ_TIMBERDALE_DMA 5 1018edbede9SRichard Röjfors #define IRQ_TIMBERDALE_I2S 6 1028edbede9SRichard Röjfors #define IRQ_TIMBERDALE_TSC_INT 7 1038edbede9SRichard Röjfors #define IRQ_TIMBERDALE_SDHC 8 1048edbede9SRichard Röjfors #define IRQ_TIMBERDALE_ADV7180 9 1058edbede9SRichard Röjfors #define IRQ_TIMBERDALE_ETHSW_IF 10 1068edbede9SRichard Röjfors #define IRQ_TIMBERDALE_SPI 11 1078edbede9SRichard Röjfors #define IRQ_TIMBERDALE_UARTLITE 12 1088edbede9SRichard Röjfors #define IRQ_TIMBERDALE_MLCORE 13 1098edbede9SRichard Röjfors #define IRQ_TIMBERDALE_MLCORE_BUF 14 1108edbede9SRichard Röjfors #define IRQ_TIMBERDALE_RDS 15 1118edbede9SRichard Röjfors #define TIMBERDALE_NR_IRQS 16 1128edbede9SRichard Röjfors 1138edbede9SRichard Röjfors #define GPIO_PIN_ASCB 8 1148edbede9SRichard Röjfors #define GPIO_PIN_INIC_RST 14 1158edbede9SRichard Röjfors #define GPIO_PIN_BT_RST 15 1168edbede9SRichard Röjfors #define GPIO_NR_PINS 16 1178edbede9SRichard Röjfors 118dc64f30fSRichard Röjfors /* DMA Channels */ 119dc64f30fSRichard Röjfors #define DMA_UART_RX 0 120dc64f30fSRichard Röjfors #define DMA_UART_TX 1 121dc64f30fSRichard Röjfors #define DMA_MLB_RX 2 122dc64f30fSRichard Röjfors #define DMA_MLB_TX 3 123dc64f30fSRichard Röjfors #define DMA_VIDEO_RX 4 124dc64f30fSRichard Röjfors #define DMA_VIDEO_DROP 5 125dc64f30fSRichard Röjfors #define DMA_SDHCI_RX 6 126dc64f30fSRichard Röjfors #define DMA_SDHCI_TX 7 127dc64f30fSRichard Röjfors #define DMA_ETH_RX 8 128dc64f30fSRichard Röjfors #define DMA_ETH_TX 9 129dc64f30fSRichard Röjfors 1308edbede9SRichard Röjfors #endif 131