Giter Club home page Giter Club logo

ingenic-community / linux Goto Github PK

View Code? Open in Web Editor NEW
22.0 8.0 4.0 251.58 MB

Linux kernel source tree with the latest features and modifications to unleash the full potential of Ingenic processors.

License: Other

Makefile 0.20% Roff 0.02% C 98.34% Assembly 0.81% Shell 0.32% Perl 0.10% C++ 0.03% Awk 0.01% Python 0.11% sed 0.01% Yacc 0.01% Lex 0.01% UnrealScript 0.01% Rust 0.03% SmPL 0.01% Gherkin 0.01% XS 0.01% Raku 0.01% MATLAB 0.01% Clojure 0.01%
ingenic linux linux-kernel x1000 x2000 jz4780 x1501 mips mips-architecture mips-processor

linux's Introduction

Linux for Ingenic SoCs

Kernel Build

Linux kernel source tree with the latest features and modifications to unleash the full potential of Ingenic processors.

Purpose

Adding stuff to upstream is a lengthy and tough job. Maintaining a separate repo can make new features available to people in a timely manner.

Stuff that are broken in the upstream kernel and nobody cared

Last updated: 2023-08-03

Problem Affected Chips Fixed Here
Device to Host DMA operations return garbage data All X series SoCs with a writeback L2 cache
PDMA operations corrupts RAM randomly All X series SoCs
Inaccurate UART baudrate calculation All Ingenic SoCs
Suspend to RAM All X series SoCs
Incorrect I2S MCLK PLL calculation X1000 series SoCs
RTC on 12/24MHz clocksource X1000 series SoCs
Ability to use internal analog codec X1000 series SoCs
SPI HW CS still enabled when using cs-gpios All X series SoCs
dwc2_otg must use PIO mode on X1501 X1501

Policy

We will always add support for longterm Linux versions, we will also do stable versions when we have time.

Upstream changes will be merged to each branch whenever needed, or every one or two weeks.

We're free to drop support for old longterm kernels if there is already support for a newer version. Same for stable kernels.

This repo is primarily for Ingenic SoCs, but it's not limited to these. We may incorporate other kinds of improvements as well.

Status Matrix

Chip JZ series X1000 series X1600 series X2000 series
Booting
Suspend
SMP N/A N/A
DMA DMAC✅ PDMA✅ PDMA✅
USB UHC✅ USBD✅ OTG✅
Ethernet N/A MAC✅
SPI Master SSI✅ SSI✅ SSI✅
SPI Slave N/A N/A N/A
Quad SPI N/A SFC✅ SFC✅
I2C I2C✅ SMB✅
PWM TCU✅ TCU✅ TCU✅ PWM❌
ADC N/A
SD/MMC MSC✅ MSC✅ SDHCI✅
I2S AIC✅ AIC✅
Analog Codec N/A
PDMIC N/A
Display LCDC✅ SLCD✅
Camera CIM❓ CIM✅
CAN N/A N/A N/A
Parallel i80 bus EMC✅
CDBUS N/A N/A N/A
Heterogeneous multicore VPU✅ MCU✅
Accelerator

Notes

Need help? Have a question? Feel free to open an issue.

You're welcome to push the changes here to upstream if not already done by us, but please retain the original author information.

License information are clearly stated in each file. Please respect them.

FAQ

No support for T series?

Unlike the good old JZ and X series, the T series is in tight control of a subsidiary company of Ingenic in a distant city. And unfortunately they have a very different philosophy of treating customers. You can urge them to release the related datasheets to public by sending emails to [email protected] and [email protected].

linux's People

Contributors

lone0 avatar reimunotmoe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

linux's Issues

Error: arch/mips/boot/dts/ingenic/halley5.dts:224.1-6 Label or path spi0 not found

Hi Guys,
I got a X2000 Halley5 dev board and tried to get mainline kernel running on it. When building this kernel, I got the following error messages:

>>> linux v6.1.y Building

PATH="/home/zhenxi/buildroot-mips/br-x2000-xburst-kernel/output/host/bin:/home/zhenxi/buildroot-mips/br-x2000-xburst-kernel/
output/host/sbin:/home/zhenxi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" PKG_CONFIG="/home/zhenxi/buildroot-mips/br-x2000-xburst-kernel/output/host/bin/pkg-config" PKG_CONFIG_SYSROOT_DIR="/" PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 PKG_CONFIG_LIBDIR="/home/zhenxi/buildroot-mips/br-x2000-xburst-kernel/output/host/lib/pkgconfig:/home/zhenxi/buildroot-mips/br-x2000-xburst-kernel/output/host/share/pkgconfig" BR_BINARIES_DIR=/home/zhenxi/buildroot-mips/br-x2000-xburst-kernel/output/images KCFLAGS=-Wno-attribute-alias /usr/local/bin/make -j17 HOSTCC="/usr/bin/gcc -O2 -isystem /home/zhenxi/buildroot-mips/br-x2000-xburst-kernel/output/host/include -L/home/zhenxi/buildroot-mips/br-x2000-xburst-kernel/output/host/lib -Wl,-rpath,/home/zhenxi/buildroot-mips/br-x2000-xburst-kernel/output/host/lib" ARCH=mips INSTALL_MOD_PATH=/home/zhenxi/buildroot-mips/br-x2000-xburst-kernel/output/target CROSS_COMPILE="/home/zhenxi/buildroot-mips/br-x2000-xburst-kernel/output/host/bin/mipsel-buildroot-linux-gnu-" WERROR=0 REGENERATE_PARSERS=1 DEPMOD=/home/zhenxi/buildroot-mips/br-x2000-xburst-kernel/output/host/sbin/depmod INSTALL_MOD_STRIP=1 -C /home/zhenxi/buildroot-mips/br-x2000-xburst-kernel/output/build/linux-v6.1.y all
SYNC include/config/auto.conf.cmd
DTC arch/mips/boot/dts/ingenic/halley5.dtb
Error: arch/mips/boot/dts/ingenic/halley5.dts:224.1-6 Label or path spi0 not found
FATAL ERROR: Syntax error parsing input tree
scripts/Makefile.lib:406: recipe for target 'arch/mips/boot/dts/ingenic/halley5.dtb' failed
make[4]: *** [arch/mips/boot/dts/ingenic/halley5.dtb] Error 1
scripts/Makefile.build:500: recipe for target 'arch/mips/boot/dts/ingenic' failed
make[3]: *** [arch/mips/boot/dts/ingenic] Error 2
Makefile:1478: recipe for target 'dtbs' failed
make[2]: *** [dtbs] Error 2
make[2]: *** Waiting for unfinished jobs....

The kernel is being built with buildroot 2023.11.x/gcc 12.3.0, with the following configurations

 (https://github.com/Ingenic-community/linux.git) URL of custom repository
 (v6.1.y) Custom repository version
 ()    Custom kernel patches
       Kernel configuration (Using an in-tree defconfig file)  --->
 (halley5) Defconfig name
 ()    Additional configuration fragment files   

And the following kernel configurations:

 System type (Ingenic SoC based machines)  ---> 
 Machine type (Ingenic Halley5 Development Board)  --->

Any hints?

Help: Ingenic XBurst2 X2000 SoC series USB serial port connetion

I saw that there is a sand clock on the X2000 USB serial port, does it means it does not have those capabilities?

Context: I own a Creality K1 3d printer, which uses an modified board that runs on the X2000 and the ingenic linux kernel. But while trying to get an serial connetion, I cannot seem to be able to get the board and kernel to recognize the other USB.
the lsusb command returns to me:
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
and the ls /dev/tty* command outputs this:

/dev/tty    /dev/tty15  /dev/tty22  /dev/tty3   /dev/tty37  /dev/tty44  /dev/tty51  /dev/tty59  /dev/tty9
/dev/tty0   /dev/tty16  /dev/tty23  /dev/tty30  /dev/tty38  /dev/tty45  /dev/tty52  /dev/tty6   /dev/ttyS0
/dev/tty1   /dev/tty17  /dev/tty24  /dev/tty31  /dev/tty39  /dev/tty46  /dev/tty53  /dev/tty60  /dev/ttyS1
/dev/tty10  /dev/tty18  /dev/tty25  /dev/tty32  /dev/tty4   /dev/tty47  /dev/tty54  /dev/tty61  /dev/ttyS2
/dev/tty11  /dev/tty19  /dev/tty26  /dev/tty33  /dev/tty40  /dev/tty48  /dev/tty55  /dev/tty62  /dev/ttyS3
/dev/tty12  /dev/tty2   /dev/tty27  /dev/tty34  /dev/tty41  /dev/tty49  /dev/tty56  /dev/tty63  /dev/ttyS5
/dev/tty13  /dev/tty20  /dev/tty28  /dev/tty35  /dev/tty42  /dev/tty5   /dev/tty57  /dev/tty7   /dev/ttyS7
/dev/tty14  /dev/tty21  /dev/tty29  /dev/tty36  /dev/tty43  /dev/tty50  /dev/tty58  /dev/tty8   /dev/ttyS9

The build roots for this were:
ftp://ftp.ingenic.com.cn/DevSupport/X2000/X2000/01_SW/07_kernel4.4.94_x2000-sdk_v8.0-20220125 ftp://ftp.ingenic.com.cn/DevSupport/X2000/X2000/01_SW/01_Buildroot_dl

The modded creality board from their official github here:
https://github.com/CrealityOfficial/K1_Series_Annex/blob/main/pin%20out/motherboard-en.PNG

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.