Difference between revisions of "CI20 upstream"
(→Peripheral drivers: Add note about VPU security) |
(→Core: cpufreq notes) |
||
Line 26: | Line 26: | ||
| | | | ||
| | | | ||
− | | | + | | 4770 has [https://github.com/gcwnow/linux/commit/58cf5778deb2b72e45cca6b670d8b25809ecdc82], but clock infrastructure is different. Ingenic kernel had [https://github.com/ZubairLK/CI20_linux/blob/75f15b9f845416b349268dc62d1274be11455c13/arch/mips/xburst/soc-4775/common/cpufreq.c] for 4780. Not ported to 3.16 yet. |
|- | |- | ||
| Device Tree | | Device Tree |
Revision as of 09:30, 17 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
https://github.com/MIPS/CI20_linux
Status of Linux Kernel Drivers
Core
Name | State | Path | Notes |
---|---|---|---|
Clocks | Works | drivers/clk/jz47xx | Could have common drivers/clk/ingenic for all SoCs with SoC specific binding using common components(?) |
CPUfreq | 4770 has [1], but clock infrastructure is different. Ingenic kernel had [2] 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/ (?) |
Hotplug | |||
IRQ Controller | drivers/irqchip/irq-jz4780.c | Very similar between SoCs (4740 has one bank, 60,70,80 has two banks) | |
MXU Context | |||
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 | ||
RTC | Works | ||
SMP | Works | ||
Watchdog | Works |
Peripheral drivers
Name | State | Path | Notes |
---|---|---|---|
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 | |
Camera | |||
Ethernet | Works | drivers/net/ethernet/davicom/dm9000.c | Requires regulator and reset GPIO support, see [3]. |
GPU | |||
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 [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 | ||
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 [8] [9] 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 [10]. For samples see [11]. 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.
|