forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 4
Status
Joachim Eastwood edited this page Oct 31, 2016
·
107 revisions
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 |