Skip to content
Joachim Eastwood edited this page Oct 31, 2016 · 107 revisions

Status

Stuff is going upstream and Linux 4.2 will have good base support for LPC18xx/43xx controllers. See tables below for details about each peripheral.

##Upstreaming Tracks the progress of driver upstreaming for the NXP LPC18xx/43xx platform.

What Status Kernel Notes
Base + clocksource Accepted 4.2
pinctrl (SCU) Accepted 4.2
gpio Accepted 4.2
dwmac (Ethernet) Accepted 4.2
uart Accepted 4.2
clk (CGU and CCU) Accepted 4.2
reset (RGU) Accepted 4.3
usb otg phy Accepted 4.3
dts for 4.3 part 1 Accepted 4.3
dts for 4.3 part 2 Accepted 4.3
pl172 mpmc (EMC) Accepted 4.3
rtc Accepted 4.3
spifi Accepted 4.3
dma Accepted 4.3
i2c Accepted 4.3
wwdt Accepted 4.3 By Ariel D'Alessandro.
sct-pwm Accepted 4.3 By Ariel D'Alessandro.
dts for 4.4 pull Accepted 4.4
mma7455 iio accel Accepted 4.5 Chip on EA4357 board.
dts for 4.5 pull Accepted 4.5
eeprom Accepted 4.6 By Ariel D'Alessandro.
creg clk Accepted 4.6
adc Accepted 4.7
dac Accepted 4.7
dts for 4.7 pull Accepted 4.7
dts for 4.9 pull Accepted 4.9
otp Accepted 4.10
boot rom Posted
pint irq Posted v2

##LPC18xx/43xx peripheral drivers

Peripheral Status Driver Notes
CREG Done lpc1850-creg Supported by standard syscon driver.
RGU Done lpc1850-rgu Reset driver.
SCU Done lpc1850-scu Pinctrl driver for System Control Unit.
GPIO Done lpc1850-gpio GPIO driver.
Timer Done lpc3250-timer Clocksource driver seems to work.
RTC Done lpc1788-rtc Seems to work.
I2C Done lpc1788-i2c Seems to work. Needs clean up.
CGU Done lpc1850-cgu Clock driver for Clock Genereation Unit.
CCU Done lpc1850-ccu Clock driver for Clock Control Unit.
EMC Done pl172 ARM PLC172. Seems to work. Only static CS supported.
USART Done lpc1850-uart 8250 UART glue with RS485 support
Ethernet Done lpc1850-dwmac DesignWare GMAC glue.
USB OTG PHY Done lpc1850-usb-otg-phy PHY driver.
SPIFI Done lpc1773-spifi SPI-NOR driver for SPIFI.
DMA MUX Done lpc1850-dmamux DMA router driver.
GPIO PINT Done lpc1850-gpio-pint GPIO Pin Interrupt irqchip driver.
ADC Done lpc1850-adc IIO driver.
DAC Done lpc1850-dac IIO driver.
USB0 OTG OK generic-ehci Standard EHCI driver.
USB1 OK generic-ehci Standard EHCI driver.
SD/MMC OK dw-mshc DesignWare SD/MMC. Has some issues.
SSP OK pl022 Not tested. Dev board doesn't have SPI devices.
CAN OK c_can Should be support by CAN_C driver. Untested.
GPDMA OK pl080 ARM PL080 driver works.
LCD OK pl111 Should be supported by amba-clcd. Untested.
GPIO GRP INT Started lpc1850-grp-int Work on irqchip in progress.
Boot ROM Started lpc1850-boot-rom Firmware driver for ROM API; IAP, OTP, etc.
Flash Started lpc1857-flash MTD driver. Needs above firmware driver.
I2S Started lpc1850-i2s ASoC driver.
M0-core Started lpc4350-rproc remoteproc driver for M0 cores.
MC PWM Done? lpc3220-motor-pwm See https://patchwork.kernel.org/patch/1741221/.
WWDT Done lpc1850-wwdt Watchdog driver by Ariel D'Alessandro.
SCT Done lpc1850-sct-pwm PWM driver for SCT by Ariel D'Alessandro.
EEPROM Done lpc1857-eeprom NVMEM driver by Ariel D'Alessandro.
OTP Done lpc1850-otp NVMEM driver.
NAND Done onfi,nand ? Needs some DT bindings.
ADCHS Not started lpc4370-adchs IIO driver. Only on LPC4370.

Peripherals not in the table above are not a priority at this time.

##Mainline driver TODO

  • Properly fix unused clock disabling. Issues on USB0 and AMBA devices (CGU+CCU).
  • Fix the strange Ethernet bug
  • Fix USB0PLL code in CGU and allow USB0 clock setup in Linux.
  • Add support for assigning parents and rates on internal CGU clocks (assigned clocks).
  • Revisit CCU clock table and try to split it per CCU unit.

##EA4357 Development Kit Devices on EA4357 that either needs a driver or changes to work.

Device Status Driver Notes
UDA1380 - uda1380 Mainline ASoC CODEC driver needs DT bindings
PCA9532 - pca9532 Mainline led driver needs DT bindings
MMA7455 Done mma7455 Simple IIO accel driver

Clone this wiki locally