Git Product home page Git Product logo

thesawolf / android_kernel_rockchip_rk3188 Goto Github PK

View Code? Open in Web Editor NEW
26.0 7.0 33.0 308.58 MB

RK3188 kernel source (unofficial)

License: Other

Shell 0.12% XSLT 0.01% C 94.73% Awk 0.01% Graphviz (DOT) 0.01% Racket 0.01% SuperCollider 0.01% Python 0.04% Vim Script 0.01% Perl 0.19% Assembly 1.96% Objective-C 0.51% C++ 2.40% R 0.02% PHP 0.01% JavaScript 0.02% Ruby 0.01% Erlang 0.01% Scilab 0.01% ASP 0.01%

android_kernel_rockchip_rk3188's Introduction

Linux (Android-specific) kernel release 3.0.36+ for rockchip RK3188 (MK908)

This is a Android-specific Linux kernel for the Rockchip RK3188-based MK908. Tried to compile in enough generic RK3188 stuff to potentially handle other RK3188 devices, but currently it's optimized for MK908s. Device support may have been added into kernel, but that doesn't necessarily means it's working and will probably require further testing to confirm. Feature confirmation is always welcome. Feature requests are welcome, within reason (if it doesn't normally work on linux or android, I'm not going to be able to make it happen as writing device drivers from scratch is beyond my current scope)

To be installed into: (android)/kernel/rockchip/rk3188/

Kernel Features (highlight rundown of kernel config):

  • Default hostname set to MK908 (network identity choice, change if you want)
  • LZO Kernel compression (not the best compression, but one of the fastest)
  • Kernel .config support (via /proc/config.gz) so you can extract config
  • Module versioning so modules can be ported to other kernels
  • Support for 2TB+ devices/files
  • I/O Schedulers (Noop [default], Deadline, CFQ, SIO, VR, Zen, Row, BFQ)
  • Lastlog support (for debugging, via /proc/last_log)
  • Serial debugging support
  • 4-cores supported in kernel
  • CPU Governors (Interactive [default], Performance, Powersave, Userspace, OnDemand, Conservative, SmartAssV2, MinMax, Adaptive, BrazilianWax, Hyper, Intellidemand, InteractiveX, OnDemandX, SavagedZen, Lionheart, LulzActive)
  • NEON extension support
  • TCP/IPv4-v6 networking with multicasting, routing, tunneling, IPsec, filtering and L2TP support
  • Full complement of Bluetooth functions/drivers
  • RF switch support (for WiFi and Bluetooth)
  • NAND support with Rockchip-specific, generic and page write checking
  • Ethernet (10/100/1000/10000) support
  • WiFi devices (on-board & USB)support & AP6210-specific wifi module (MK908)
  • Input device support (keyboard, mouse, joystick/gamepad)
  • Xbox/Xbox360/PS3 controller support
  • (hardware monitoring left out for now because rockchip source has some hardcoded values in place for some reason [ie. CPU temperature])
  • Voltage/Current regulator support (PMIC)
  • Remote control support (must be dongle or mod)
  • various USB Tuner/Camera support
  • updated Mali400 support (profiling, UMP, debug, shared interrupts)
  • some frame buffer support
  • Rockchip frame buffer support (mirroring, lcdc0 and lcdc1)
  • 480p/720p [default]/1080p support - 720/1080 kernels will be made
  • Rockchip-specific HDMI support (debugging with Silicon Image SiI9022A/9024A and ITE IT66121 [MK908-specific] HDMI transmitter support
  • ALSA (sound) support (ARM, USB and Rockchip specific devices)
  • full complement of USB HID, printer, Mass storage, Serial and mobile modem devices support via regular usb port and OTG
  • Ext2, Ext3, Ext4, ISO9660 CDROM, UDF, VFAT, NTFS (w/write), YAFFS2, proc, NFS, CIFS filesystem support
  • UPDATE: YAFFS2 disabled for code debugging (for now)
  • UPDATE: exFAT support removed from kernel, moved to fuse-exfat
  • CPU/GPU overclocking support (thanks to Sam321 @freaktab)
  • UPDATE: a better exFAT driver added (see fs/exfat for more details tho!)
  • Frame skipping fix (thanks to phjanderson @freaktab)

Revision History:

  • Initial commit, honestly have no idea of the source as it was sent to me and doesn't reflect some of the stuff I've seen in aloksinha's or omegamoon's RK3188 kernel sources. It could simply be a hybrid. If someone can spot it's origin, please let me know so I can credit them properly. Some old git info carried over saying htc authored but I have no idea if that's where the base was from. (determined that's it the original Rikomagic source)
  • Added some omegamoon defconfigs & build stuff because I'm lazy.
  • Added latest Mali GPU drivers (r3p2-01rel2 from 31 May 2013)
  • Added VR and SIO I/O schedulers
  • Added SmartAssV2 and MinMax CPU governors
  • Added prelim CPU o/c up to 1920 MHz with initial GPU o/c (needs tweaking)
  • Added Zen I/O scheduler
  • Added exFAT filesystem support
  • Disabled exFAT and YAFFS2 to debug some code, still in source, just not enabled in config. Enabling will cause some errors, atm.
  • Extended build script to move kernel/modules into device directories
  • Updated some rockchip/fb source from leolas, galland sources
  • Removed exFAT kernel support due to too many issues and old backport, moved to fuse-exfat module in device build
  • Restructure buildscript (build_mk908) to handle menu system so I can do specific kind of builds since I keep losing track of stuff :P
  • Determined origin of my kernel source finally. it's the original source from Rikomagic before alok's linux-centric source changes
  • MAJOUR build script overhaul.. it's grown into quite a lazy-ass beast
  • FINALLY got a working config (TESTCONFIG) with Wifi AND BT working now
  • ALOT of O/C testing, tweaking (thanks to Sam321 @freaktab)
  • Vsync FIX by phjanderson @freaktab (suck it Strauzo)
  • New build script version (now supports saving config options for quicker rebuilds!)
  • Added ROW I/O Scheduler, preliminary BFQ I/O (still needs tuning)
  • Added Adaptive, BrazilianWax, Hyper, Intellidemand, InteractiveX, Lionheart, LulzActive, MinMax (now working), OnDemandX, and SavagedZen CPU Governors
  • Build script updated (removed auto screen sync defconfigs)
  • Updated defconfigs with latest working TESTCONFIG
  • Figured out the DDR init issue (somewhat). Can't seem to init frequency in userspace but can init in kernel config. Setting via kernel for now. Will come back to it later. Can change suspend and video freqs in board-rk3188-box.c but normal and reboot not affected.
  • Added exFAT support again from better source (see fs/exfat for details tho!), tested with small files read/write to exFAT-formatted USB flash drive, works.
  • Toolchains added for convenience and build script
  • Updated Linaro 4.8 toolchain to 2013.07 release, tested.
  • Device building script forked from build_mk908 (now called buildit)
  • Added in 2.4 version of LABS (BUILDIT.sh/CFGCORE.sh) to replace build_mk908
  • Stashed away old files in temp directory as LABS is almost ready to roll
  • Added in final 2.5 version of LABS
  • Power on light CPIO found in MK908 SDK1 leak, patched
  • Added in undervolting support
  • Updated LABS to 2.7 version (w/undervolt check and device neutral checks)
  • updated Mali drivers to r3p2-01rel3 (13 Aug 2013 release)

ToDo:

  • YAFFS2 debugging
  • more O/C stuff.. get running more stable and finally unlock GPU O/C
  • isolate issue with cpufreq not reporting to sys properly for apps
  • DDR init issue with improper timings setting and freq init (defaults to 300MHz instead of the stock 396MHz)
  • I want my blue power on light back (mk908)
  • test the new exFAT driver
  • Undervolt define testing and tweaking to achieve real undervolting
  • Mali driver testing on custom ROM

Thanks:

  • Finless for preparing the way
  • neomode for freaktab and making all the info available
  • leolas for all your help along the way
  • Sam321 for your o/c work
  • phjanderson for your frameskipping/vsync fix
  • linuxium for the kernel sources
  • galland and omegamoon for various kernel fixes
  • crewrktablets for various models and tools to work from/with
  • hoabycsr for various tips/tricks along the way
  • rxrz for the exFAT support (via samsung leak)
  • androidminipc62 (@armtvtech) for the MK908 SDK1 leak
  • and misc others that contributed to making all this happen (if I forgot anyone specific, sorry.. remind me, I don't mind giving credit where credit is due)

android_kernel_rockchip_rk3188's People

Contributors

thesawolf avatar

Stargazers

 avatar  avatar  avatar  avatar  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

android_kernel_rockchip_rk3188's Issues

Custom toolchain problem

If I specify a custom toolchain in the BUILDIT script it doesn't use it.
the location I specify according to instructions is:
TOOLCHAINS: /home/henrik/Compilers/gcc-linaro-arm-linux-gnueabihf-4.8-2013.07-1_linux/bin/arm-linux-gnueabihf-

make mrproper uses this command:
make ARCH=arm mrproper
make: arm-linux-gnueabi-gcc: Command not found

building the kernel uses this command:
make ARCH=arm CROSS_COMPILE=/home/henrik/Compilers/gcc-linaro-arm-linux-gnueabihf-4.8-2013.07-1_linux/bin/arm-linux-gnueabihf- -j4 kernel.img 2>&1 | tee -a BUILD.LOG
HOSTCC scripts/basic/fixdep
HOSTCC scripts/kconfig/conf.o
...

It seems that make mrproper does not respect my toolchain settings but building the kernel does.

It seems reasonable that make mrproper should also use the toolchain I specify.

The kernel build itself also fails, but I suspect that is because make mrproper fails.

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.