zephyr/include
Charles E. Youse e039053546 uart/ns16550, drivers/pcie: add PCI(e) support
A parallel PCI implementation ("pcie") is added with features for PCIe.
In particular, message-signaled interrupts (MSI) are supported, which
are essential to the use of any non-trivial PCIe device.

The NS16550 UART driver is modified to use pcie.

pcie is a complete replacement for the old PCI support ("pci"). It is
smaller, by an order of magnitude, and cleaner. Both pci and pcie can
(and do) coexist in the same builds, but the intent is to rework any
existing drivers that depend on pci and ultimately remove pci entirely.

This patch is large, but things in mirror are smaller than they appear.
Most of the modified files are configuration-related, and are changed
only slightly to accommodate the modified UART driver.

Deficiencies:

64-bit support is minimal. The code works fine with 64-bit capable
devices, but will not cooperate with MMIO regions (or MSI targets) that
have high bits set. This is not needed on any current boards, and is
unlikely to be needed in the future. Only superficial changes would
be required if we change our minds.

The method specifying PCI endpoints in devicetree is somewhat kludgey.
The "right" way would be to hang PCI devices off a topological tree;
while this would be more aesthetically pleasing, I don't think it's
worth the effort, given our non-standard use of devicetree.

Signed-off-by: Charles E. Youse <charles.youse@intel.com>
2019-04-17 10:50:05 -07:00
..
app_memory license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
arch arc: print human-readable exception info 2019-04-17 09:16:27 -07:00
audio all: Add 'U' suffix when using unsigned variables 2019-03-28 17:15:58 -05:00
bluetooth Bluetooth: hci: adding AD types used for OOB pairing 2019-04-17 09:54:37 +03:00
cmsis_rtos_v1 all: Add 'U' suffix when using unsigned variables 2019-03-28 17:15:58 -05:00
cmsis_rtos_v2
crypto all: Add 'U' suffix when using unsigned variables 2019-03-28 17:15:58 -05:00
debug
dfu dfu: mcuboot: rename boot_swap_type> mcuboot_swap_type 2019-02-19 09:32:02 +01:00
display
drivers uart/ns16550, drivers/pcie: add PCI(e) support 2019-04-17 10:50:05 -07:00
dt-bindings uart/ns16550, drivers/pcie: add PCI(e) support 2019-04-17 10:50:05 -07:00
fs
linker include/linker: .object_access.* should be in ROM 2019-04-16 13:32:20 -05:00
logging all: Update unsigend 'U' suffix due to multiplication 2019-03-28 17:15:58 -05:00
mgmt
misc kernel: demote K_THREAD_STACK_BUFFER() to private 2019-04-05 16:10:02 -04:00
net net: fix errno returned without promiscuous mode support 2019-04-17 15:39:04 +03:00
nvs fs/nvs: Improve init speed and remove fs->locked 2019-02-21 09:32:52 -05:00
posix include: Use macro BIT for shift operations 2019-03-26 14:31:29 -04:00
random
settings
shell shell: Add TELNET backend 2019-04-01 10:26:13 -04:00
toolchain codecov: keep "inline" for ALWAYS_INLINE 2019-04-02 09:39:44 -04:00
usb include: usb: add FS MPS for different endpoint types 2019-04-11 13:35:24 -04:00
zephyr jwt: Add JSON web token library 2019-02-08 15:32:58 -06:00
adc.h adc: amend adc_read_async comment 2019-04-02 14:17:37 -04:00
aio_comparator.h all: Update reserved function names 2019-03-11 13:48:42 -04:00
atomic.h include: Make statements evaluate boolean expressions 2019-03-26 14:31:29 -04:00
base64.h
cache.h
can.h can: Make frame and filter conversion function params const 2019-03-13 05:58:30 -05:00
clock_control.h
console.h console: deprecate console_register_line_input() 2019-03-26 12:48:38 -05:00
counter.h api: counter: Fix build issue with C++ 2019-03-26 07:44:01 -05:00
crc8.h
crc16.h
crc32.h
crc.h
device.h drivers: Rename reserved function names 2019-04-03 17:31:00 -04:00
disk_access.h
display.h drivers: display: Add RGB 565 pixel format to display api 2019-02-07 14:28:55 -06:00
dma.h all: Update reserved function names 2019-03-11 13:48:42 -04:00
entropy.h all: Update reserved function names 2019-03-11 13:48:42 -04:00
exc_handle.h
fcb.h
flash_map.h doc: fix misspellings in flashmap.h 2019-04-05 09:51:30 -04:00
flash.h all: Update reserved function names 2019-03-11 13:48:42 -04:00
fs.h doc: consolidated filesystem API reference 2019-02-05 07:04:40 -05:00
generated_dts_board.h cmake: Fix the generation of fixup files 2019-01-28 12:18:38 -05:00
gna.h
gpio.h include: Make statements evaluate boolean expressions 2019-03-26 14:31:29 -04:00
hwinfo.h all: Update reserved function names 2019-03-11 13:48:42 -04:00
i2c.h all: Add 'U' suffix when using unsigned variables 2019-03-28 17:15:58 -05:00
i2s.h include: Use macro BIT for shift operations 2019-03-26 14:31:29 -04:00
init.h all: Update reserved function names 2019-03-11 13:48:42 -04:00
ipm.h all: Update reserved function names 2019-03-11 13:48:42 -04:00
irq_nextlevel.h
irq_offload.h
irq.h all: Update reserved function names 2019-03-11 13:48:42 -04:00
json.h
kernel_includes.h kernel/work_q: Spinlockify 2019-02-08 14:49:39 -05:00
kernel_version.h
kernel.h kernel: demote K_THREAD_STACK_BUFFER() to private 2019-04-05 16:10:02 -04:00
led_strip.h
led.h all: Update reserved function names 2019-03-11 13:48:42 -04:00
pinmux.h
power.h all: Add 'U' suffix when using unsigned variables 2019-03-28 17:15:58 -05:00
ptp_clock.h
pwm.h all: Update reserved function names 2019-03-11 13:48:42 -04:00
ring_buffer.h all: Add 'U' suffix when using unsigned variables 2019-03-28 17:15:58 -05:00
rtc.h all: Add 'U' suffix when using unsigned variables 2019-03-28 17:15:58 -05:00
sched_priq.h all: Update reserved function names 2019-03-11 13:48:42 -04:00
sensor.h include: Make statements evaluate boolean expressions 2019-03-26 14:31:29 -04:00
shared_irq.h
spi.h all: Update reserved function names 2019-03-11 13:48:42 -04:00
spinlock.h spinlock: Change function signature to return bool 2019-03-26 22:06:45 -04:00
stats.h
sw_isr_table.h include: Use macro BIT for shift operations 2019-03-26 14:31:29 -04:00
sys_clock.h all: Update reserved function names 2019-03-11 13:48:42 -04:00
sys_io.h
syscall.h syscall: Fix comment 2019-04-12 17:59:25 -04:00
toolchain.h
tracing.h debug: CTF Tracing with POSIX backend 2019-02-01 08:56:02 -05:00
tty.h
uart.h include: Make statements evaluate boolean expressions 2019-03-26 14:31:29 -04:00
watchdog.h drivers: watchdog: remove deprecated apis 2019-02-01 10:37:49 -06:00
zephyr.h