CI20 upstream

Revision as of 03:24, 23 January 2015 by ZubairLK (talk | contribs) (Update for 3.18 for core drivers)
Jump to: navigation, search

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.18.3

Status of Linux Kernel Drivers


Name State Path Notes 3.0.8 Notes 3.16 Notes 3.18 +
Clocks Works drivers/clk/jz47xx Could have common drivers/clk/ingenic for all SoCs with SoC specific binding using common components(?) Uses common clock framework with jz4740. Intended for upstream
CPUfreq 4770 has [1], but clock infrastructure is different. Ingenic kernel had [2] for 4780. Not ported to 3.16 yet.
Device Tree Mostly N/A Parsed on boot, but compiled into the kernel. Would be good to allow it to be passed from the bootloader. DT for jz4740 as well
DMA Mostly drivers/dma/dma-jz4780.c needs combining into dma-jz4740. Works, just missing priority support still needs combining
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) Consolidated work in 3.18 headed upstream
MXU Context
PinCtrl Mostly drivers/pinctrl/pinctrl-jz4780.c N/A 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
RTC Works drivers/rtc/rtc-jz4740.c Consolidated with jz4740 Consolidated with jz4740
SMP Works Works
Watchdog Works Consolidated with jz4740

Peripheral drivers

Name State Path Notes
ADC WIP Check branches on
Audio (ALSA) WIP Check patches on!forum/mips-creator-ci20-dev
Ethernet Works drivers/net/ethernet/davicom/dm9000.c Requires regulator and reset GPIO support, see [3].
HDMI WIP Check patches on!forum/mips-creator-ci20-dev
I2C Works drivers/i2c/busses/i2c-jz4780.c 4740 has HW issue so uses gpio i2c instead. 4770 had [4] but unused so removed (also gave false positives on i2cdetect).
IPU 4770 has driver integrated with fbdev driver, see [5]. 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 [6]. Should not rename driver. Check whether affected by [7].
NAND Works
PWM drivers/pwm/pwm-jz4740.c 4770 uses same driver as 4740. Maybe applicable to 4780 too. See [8].
Regulator Works
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 [9] [10] need moving to wrapper driver, like 8250_dw and mediatek which can be common between Ingenic SoCs.
USB (EHCI) Works
USB (OHCI) Works
USB(OTG) Works Upstream driver supports only host mode as of 3.15
VPU Driver aimed at 4770, see [11]. For samples see [12]. May be insecure (allows userland to do its own cache control and access TCSM banks). RemoteProc driver in progress, see [13].
Wifi WIP Check patches on!forum/mips-creator-ci20-dev
BT WIP Check branches on

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.