/* * Copyright (c) 2018-2019, Intel Corporation * Copyright (c) 2010-2015, Wind River Systems, Inc. * * SPDX-License-Identifier: Apache-2.0 */ /** * @file * @brief Board configuration macros for the Apollo Lake SoC * * This header file is used to specify and describe soc-level aspects for * the 'Apollo Lake' SoC. */ #ifndef __SOC_H_ #define __SOC_H_ #include #ifndef _ASMLANGUAGE #include #include #endif #ifdef CONFIG_GPIO_INTEL_APL #include "soc_gpio.h" #endif #ifdef CONFIG_PCI /* * PCI definitions */ #define PCI_BUS_NUMBERS 1 #define PCI_CTRL_ADDR_REG 0xCF8 #define PCI_CTRL_DATA_REG 0xCFC /** * @brief Convert PCI interrupt PIN to IRQ * * BIOS should have assigned vectors linearly. * If not, override this in board configuration. */ #define pci_pin2irq(bus, dev, pin) (pin) /* UARTs */ #ifdef CONFIG_UART_NS16550_PCI #ifdef CONFIG_UART_NS16550_PORT_0_PCI #define UART_NS16550_PORT_0_PCI_CLASS 0x11 #define UART_NS16550_PORT_0_PCI_BUS 0 #define UART_NS16550_PORT_0_PCI_DEV 18 #define UART_NS16550_PORT_0_PCI_VENDOR_ID 0x8086 #define UART_NS16550_PORT_0_PCI_DEVICE_ID 0x5abc #define UART_NS16550_PORT_0_PCI_FUNC 0 #define UART_NS16550_PORT_0_PCI_BAR 0 #endif /* CONFIG_UART_NS16550_PORT_0_PCI */ #ifdef CONFIG_UART_NS16550_PORT_1_PCI #define UART_NS16550_PORT_1_PCI_CLASS 0x11 #define UART_NS16550_PORT_1_PCI_BUS 0 #define UART_NS16550_PORT_1_PCI_DEV 18 #define UART_NS16550_PORT_1_PCI_VENDOR_ID 0x8086 #define UART_NS16550_PORT_1_PCI_DEVICE_ID 0x5abe #define UART_NS16550_PORT_1_PCI_FUNC 1 #define UART_NS16550_PORT_1_PCI_BAR 0 #endif /* CONFIG_UART_NS16550_PORT_1_PCI */ #ifdef CONFIG_UART_NS16550_PORT_2_PCI #define UART_NS16550_PORT_2_PCI_CLASS 0x11 #define UART_NS16550_PORT_2_PCI_BUS 0 #define UART_NS16550_PORT_2_PCI_DEV 18 #define UART_NS16550_PORT_2_PCI_VENDOR_ID 0x8086 #define UART_NS16550_PORT_2_PCI_DEVICE_ID 0x5ac0 #define UART_NS16550_PORT_2_PCI_FUNC 2 #define UART_NS16550_PORT_2_PCI_BAR 0 #endif /* CONFIG_UART_NS16550_PORT_2_PCI */ #ifdef CONFIG_UART_NS16550_PORT_3_PCI #define UART_NS16550_PORT_3_PCI_CLASS 0x11 #define UART_NS16550_PORT_3_PCI_BUS 0 #define UART_NS16550_PORT_3_PCI_DEV 18 #define UART_NS16550_PORT_3_PCI_VENDOR_ID 0x8086 #define UART_NS16550_PORT_3_PCI_DEVICE_ID 0x5aee #define UART_NS16550_PORT_3_PCI_FUNC 3 #define UART_NS16550_PORT_3_PCI_BAR 0 #endif /* CONFIG_UART_NS16550_PORT_3_PCI */ #endif /* CONFIG_UART_NS16550_PCI */ /* I2C controllers */ #define I2C_DW_0_PCI_VENDOR_ID 0x8086 #define I2C_DW_0_PCI_DEVICE_ID 0x5aac #define I2C_DW_0_PCI_CLASS 0x11 #define I2C_DW_0_PCI_BUS 0 #define I2C_DW_0_PCI_DEV 16 #define I2C_DW_0_PCI_FUNCTION 0 #define I2C_DW_0_PCI_BAR 0 #define I2C_DW_1_PCI_VENDOR_ID 0x8086 #define I2C_DW_1_PCI_DEVICE_ID 0x5aae #define I2C_DW_1_PCI_CLASS 0x11 #define I2C_DW_1_PCI_BUS 0 #define I2C_DW_1_PCI_DEV 16 #define I2C_DW_1_PCI_FUNCTION 1 #define I2C_DW_1_PCI_BAR 0 #define I2C_DW_2_PCI_VENDOR_ID 0x8086 #define I2C_DW_2_PCI_DEVICE_ID 0x5ab0 #define I2C_DW_2_PCI_CLASS 0x11 #define I2C_DW_2_PCI_BUS 0 #define I2C_DW_2_PCI_DEV 16 #define I2C_DW_2_PCI_FUNCTION 2 #define I2C_DW_2_PCI_BAR 0 #define I2C_DW_3_PCI_VENDOR_ID 0x8086 #define I2C_DW_3_PCI_DEVICE_ID 0x5ab2 #define I2C_DW_3_PCI_CLASS 0x11 #define I2C_DW_3_PCI_BUS 0 #define I2C_DW_3_PCI_DEV 16 #define I2C_DW_3_PCI_FUNCTION 3 #define I2C_DW_3_PCI_BAR 0 #define I2C_DW_4_PCI_VENDOR_ID 0x8086 #define I2C_DW_4_PCI_DEVICE_ID 0x5ab4 #define I2C_DW_4_PCI_CLASS 0x11 #define I2C_DW_4_PCI_BUS 0 #define I2C_DW_4_PCI_DEV 17 #define I2C_DW_4_PCI_FUNCTION 0 #define I2C_DW_4_PCI_BAR 0 #define I2C_DW_5_PCI_VENDOR_ID 0x8086 #define I2C_DW_5_PCI_DEVICE_ID 0x5ab6 #define I2C_DW_5_PCI_CLASS 0x11 #define I2C_DW_5_PCI_BUS 0 #define I2C_DW_5_PCI_DEV 17 #define I2C_DW_5_PCI_FUNCTION 1 #define I2C_DW_5_PCI_BAR 0 #define I2C_DW_6_PCI_VENDOR_ID 0x8086 #define I2C_DW_6_PCI_DEVICE_ID 0x5ab8 #define I2C_DW_6_PCI_CLASS 0x11 #define I2C_DW_6_PCI_BUS 0 #define I2C_DW_6_PCI_DEV 17 #define I2C_DW_6_PCI_FUNCTION 2 #define I2C_DW_6_PCI_BAR 0 #define I2C_DW_7_PCI_VENDOR_ID 0x8086 #define I2C_DW_7_PCI_DEVICE_ID 0x5aba #define I2C_DW_7_PCI_CLASS 0x11 #define I2C_DW_7_PCI_BUS 0 #define I2C_DW_7_PCI_DEV 17 #define I2C_DW_7_PCI_FUNCTION 3 #define I2C_DW_7_PCI_BAR 0 #endif /* CONFIG_PCI */ #endif /* __SOC_H_ */