Boot Linux faster!

Check our new training course

Boot Linux faster!

Check our new training course
and Creative Commons CC-BY-SA
lecture and lab materials

Bootlin logo

Elixir Cross Referencer

# Kconfig - Quark X1000 SoC configuration options

#
# Copyright (c) 2014-2015 Wind River Systems, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

if SOC_QUARK_X1000
config SOC
	default quark_x1000

config PHYS_LOAD_ADDR
	default 0x00100000

config PHYS_RAM_ADDR
       default 0x00400000

config RAM_SIZE
	default 32768

config ROM_SIZE
	default 1024 if XIP

config SYS_CLOCK_HW_CYCLES_PER_SEC
	default 25000000  if HPET_TIMER


if SHARED_IRQ
config SHARED_IRQ_0
	def_bool y
config SHARED_IRQ_0_NAME
	default "SHARED_IRQ0"
config SHARED_IRQ_0_IRQ
	default 18
config SHARED_IRQ_0_PRI
	default 2
endif

if PCI_LEGACY_BRIDGE
config PCI_LEGACY_BRIDGE_BUS
	default 0
config PCI_LEGACY_BRIDGE_DEV
	default 31
config PCI_LEGACY_BRIDGE_VENDOR_ID
	default 0x8086
config PCI_LEGACY_BRIDGE_DEVICE_ID
	default 0x095e
endif

if I2C
config I2C_CLOCK_SPEED
	default 25
config I2C_DW
        def_bool y
config I2C_DW_VENDOR_ID
        default 0x8086
config I2C_DW_DEVICE_ID
        default 0x934
config I2C_DW_CLASS
        default 0x0C
config I2C_DW_0
        def_bool y
config I2C_DW_0_NAME
        default "I2C0"
config I2C_DW_0_DEFAULT_CFG
        default 0x12
config I2C_DW_0_BASE
	default 0x90007000
config I2C_DW_0_IRQ
	default 18
config I2C_DW_0_INT_PRIORITY
	default 2
config I2C_DW_0_BUS
	default 0
config I2C_DW_0_DEV
	default 21
config I2C_DW_0_FUNCTION
	default 2
config I2C_DW_0_BAR
	default 0
config I2C_DW_0_IRQ_SHARED_NAME
	default SHARED_IRQ_0_NAME if SHARED_IRQ
endif


if GPIO

config GPIO_SCH
	def_bool y
config GPIO_SCH_0
	def_bool y
config GPIO_SCH_1
	def_bool y

config GPIO_DW
	def_bool y
config GPIO_DW_0
	def_bool y

if GPIO_SCH_0
config GPIO_SCH_0_DEV_NAME
	default "GPIO_CW"
config GPIO_SCH_0_BASE_ADDR
	default 0x1080
config GPIO_SCH_0_BITS
	default 2
endif
if GPIO_SCH_1
config GPIO_SCH_1_DEV_NAME
	default "GPIO_RW"
config GPIO_SCH_1_BASE_ADDR
	default 0x10A0
config GPIO_SCH_1_BITS
	default 6
endif

if GPIO_DW
config GPIO_DW_0
	def_bool y
	select GPIO_DW_0_IRQ_SHARED if SHARED_IRQ
config GPIO_DW_0_NAME
	default "GPIO_0"
config GPIO_DW_0_BUS
	default 0
config GPIO_DW_0_DEV
	default 21
config GPIO_DW_0_FUNCTION
	default 2
config GPIO_DW_0_BAR
	default 1
config GPIO_DW_0_BITS
	default 8
config GPIO_DW_0_BASE_ADDR
	default 0x90006000
config GPIO_DW_0_IRQ
	default 18
config GPIO_DW_0_PRI
	default 2
config GPIO_DW_0_IRQ_SHARED_NAME
	default SHARED_IRQ_0_NAME if SHARED_IRQ
endif
endif


if SPI
config SPI_INTEL
	def_bool y
config SPI_INTEL_CS_GPIO
	def_bool y

config SPI_INTEL_PORT_0
	def_bool y
config SPI_INTEL_PORT_0_DRV_NAME
	default "SPI0"
config SPI_INTEL_PORT_0_BUS
	default 0
config SPI_INTEL_PORT_0_DEV
	default 21
config SPI_INTEL_PORT_0_FUNCTION
	default 0
config SPI_INTEL_PORT_0_REGS
	default 0x90009000
config SPI_INTEL_PORT_0_IRQ
	default 16
config SPI_INTEL_PORT_0_PRI
	default 2
config SPI_INTEL_PORT_0_CS_GPIO_PORT
	default GPIO_DW_0_NAME
config SPI_INTEL_PORT_0_CS_GPIO_PIN
	default 0

config SPI_INTEL_PORT_1
	def_bool n
config SPI_INTEL_PORT_1_DRV_NAME
	default "SPI1"
config SPI_INTEL_PORT_1_BUS
	default 0
config SPI_INTEL_PORT_1_DEV
	default 21
config SPI_INTEL_PORT_1_FUNCTION
	default 1
config SPI_INTEL_PORT_1_REGS
	default 0x90008000
config SPI_INTEL_PORT_1_IRQ
	default 17
config SPI_INTEL_PORT_1_PRI
	default 2
config SPI_INTEL_PORT_1_CS_GPIO_PORT
	default GPIO_DW_0_NAME
config SPI_INTEL_PORT_1_CS_GPIO_PIN
	default 2
endif # SPI

if UART_NS16550

config UART_NS16550_PCI
	def_bool y

config UART_NS16550_PORT_0
	def_bool y

if UART_NS16550_PORT_0

config UART_NS16550_PORT_0_NAME
	default "UART_0"
config UART_NS16550_PORT_0_BASE_ADDR
	default 0x9000f000
config UART_NS16550_PORT_0_IRQ
	default 0
config UART_NS16550_PORT_0_IRQ_PRI
	default 0
config UART_NS16550_PORT_0_BAUD_RATE
	default 115200
config UART_NS16550_PORT_0_CLK_FREQ
	default 44236800
config UART_NS16550_PORT_0_OPTIONS
	default 0
config UART_NS16550_PORT_0_PCI
	def_bool y if UART_NS16550_PCI
config UART_NS16550_PORT_0_PCI_CLASS
	default 0x07
config UART_NS16550_PORT_0_PCI_BUS
	default 0
config UART_NS16550_PORT_0_PCI_DEV
	default 20
config UART_NS16550_PORT_0_PCI_VENDOR_ID
	default 0x8086
config UART_NS16550_PORT_0_PCI_DEVICE_ID
	default 0x0936
config UART_NS16550_PORT_0_PCI_FUNC
	default 1
config UART_NS16550_PORT_0_PCI_BAR
	default 0

endif # UART_NS16550_PORT_0

config UART_NS16550_PORT_1
	def_bool y

if UART_NS16550_PORT_1

config UART_NS16550_PORT_1_NAME
	default "UART_1"
config UART_NS16550_PORT_1_BASE_ADDR
	default 0x9000b000
config UART_NS16550_PORT_1_IRQ
	default 17
config UART_NS16550_PORT_1_IRQ_PRI
	default 3
config UART_NS16550_PORT_1_BAUD_RATE
	default 115200
config UART_NS16550_PORT_1_CLK_FREQ
	default 44236800
config UART_NS16550_PORT_1_OPTIONS
	default 0
config UART_NS16550_PORT_1_PCI
	def_bool y if UART_NS16550_PCI
config UART_NS16550_PORT_1_PCI_CLASS
	default 0x07
config UART_NS16550_PORT_1_PCI_BUS
	default 0
config UART_NS16550_PORT_1_PCI_DEV
	default 20
config UART_NS16550_PORT_1_PCI_VENDOR_ID
	default 0x8086
config UART_NS16550_PORT_1_PCI_DEVICE_ID
	default 0x0936
config UART_NS16550_PORT_1_PCI_FUNC
	default 5
config UART_NS16550_PORT_1_PCI_BAR
	default 0

endif # UART_NS16550_PORT_1

endif # UART_NS16550


if ETH_DW
config ETH_DW_0
	def_bool y
config ETH_DW_0_BASE_ADDR
	default 0x90002000
config ETH_DW_0_IRQ
	default 18
config ETH_DW_0_IRQ_SHARED_NAME
	default SHARED_IRQ_0_NAME if SHARED_IRQ
endif

config KERNEL_INIT_PRIORITY_DEFAULT
	default 40

config SHARED_IRQ_INIT_PRIORITY
	default 50

# Any device driver should be initialized after
# shared IRQ driver, as it may use it
config KERNEL_INIT_PRIORITY_DEVICE
	default 60

config GPIO_MMIO_INIT_PRIORITY
	default 60

config GPIO_SCH_INIT_PRIORITY
	default 60

config GPIO_DW_INIT_PRIORITY
	default 60

# SPI uses GPIO pin, so it needs to be initialized after
# GPIO driver
config SPI_INTEL_INIT_PRIORITY
	default 70


config I2C_INIT_PRIORITY
	default 60

# PCAL9535A uses I2C, thus initialized after it
config GPIO_PCAL9535A_INIT_PRIORITY
	default 70


# Pin multiplexer uses PCAL9535A, needs to be initialized after it
config PINMUX_INIT_PRIORITY
	default 80

# Console driver has to be initialized after UART, that it uses
config UART_CONSOLE_PRIORITY
	default 70

if UART_CONSOLE

config UART_CONSOLE_ON_DEV_NAME
	default "UART_1"
config UART_CONSOLE_IRQ
	default 17
config UART_CONSOLE_IRQ_PRI
	default 3

endif

if BLUETOOTH_UART

config BLUETOOTH_UART_ON_DEV_NAME
	default "UART_1"
config BLUETOOTH_UART_IRQ
	default 17
config BLUETOOTH_UART_IRQ_PRI
	default 3

endif

endif # SOC_QUARK_X1000