Difference between revisions of "CI20 upstream"
(→Core: cpufreq notes)
(→Peripheral drivers: Add PWM with links to gcwnow changes)
|Line 151:||Line 151:|
Revision as of 08:37, 19 December 2014
This page contains details about the latest kernel branch and any known quirks/special requirements.
It will be periodically updated to keep up to speed with the latest.
The current branch tracking mainline 3.16
Status of Linux Kernel Drivers
|Clocks||Works||drivers/clk/jz47xx||Could have common drivers/clk/ingenic for all SoCs with SoC specific binding using common components(?)|
|CPUfreq||4770 has , but clock infrastructure is different. Ingenic kernel had  for 4780. Not ported to 3.16 yet.|
|Device Tree||Mostly||Parsed on boot, but compiled into the kernel. Would be good to allow it to be passed from the bootloader.|
|DMA||Mostly||drivers/dma/dma-jz4780.c||needs combining into dma-jz4740. Works, just missing priority support|
|GPIO||Works||drivers/pinctrl/pinctrl-jz4780.c||should perhaps be in drivers/gpio/ (?)|
|IRQ Controller||drivers/irqchip/irq-jz4780.c||Very similar between SoCs (4740 has one bank, 60,70,80 has two banks)|
|PinCtrl||Mostly||drivers/pinctrl/pinctrl-jz4780.c||Differs between SoCs. Functional, may need DT binding changes based on feedback from upstream. See also pinctrl-jz4770.c.|
|Power Controller (LPCR Register)|
|Power Off & Reset||Works|
|ADC||WIP||Check branches on https://github.com/ZubairLK/CI20_linux|
|Audio (ALSA)||WIP||Check patches on https://groups.google.com/forum/#!forum/mips-creator-ci20-dev|
|Ethernet||Works||drivers/net/ethernet/davicom/dm9000.c||Requires regulator and reset GPIO support, see .|
|HDMI||WIP||Check patches on https://groups.google.com/forum/#!forum/mips-creator-ci20-dev|
|I2C||Works||drivers/i2c/busses/i2c-jz4780.c||4740 has HW issue so uses gpio i2c instead. 4770 had  but unused so removed (also gave false positives on i2cdetect).|
|IPU||4770 has driver integrated with fbdev driver, see . Plans to move to DRM+KVM but may take time.|
|IR||Driver upstream||drivers/media/rc/gpio-ir-recv.c||GPIO, so use upstream GPIO driver|
|MMC||Works||drivers/mmc/host/jz4740_mmc.c||Various changes needed, see . Should not rename driver. Check whether affected by .|
|PWM||drivers/pwm/pwm-jz4740.c||4770 uses same driver as 4740. Maybe applicable to 4780 too. See .|
|SPI (SSI)||None||SPIO GPIO should work, but a dedicated driver for the SSI hardware in drivers/spi/ would be better.|
|UART||Works||Quirks: see patches   need moving to wrapper driver, like 8250_dw and mediatek which can be common between Ingenic SoCs.|
|USB(OTG)||Works||Upstream driver supports only host mode as of 3.15|
|VPU||Driver aimed at 4770, see . For samples see . May be insecure (allows userland to do its own cache control and access TCSM banks). RemoteProc driver in progress.|
|Wifi||WIP||Check patches on https://groups.google.com/forum/#!forum/mips-creator-ci20-dev|
|BT||WIP||Check branches on https://github.com/ZubairLK/CI20_linux|
List of other possible issues
- /etc/init.d/iw8103 is the startup script for the BT/Wifi firmware in the default rootfs.
If using 3.16, the script can cause the boot to hang. Please move the script out of /etc/init.d
Add "root=/dev/mmcblk0p1 rootwait" to bootargs in uboot if you wish to boot a rootfs from mmc.