[PROJECT] Kernel 3.4.x For Galaxy 3

Search This thread

raja4sure

Senior Member
Jul 10, 2011
486
712
had a talk with dharam and he said he'll help you in manner he can......so just get in touch with him....i think he can also be a dev in this port although he doesn't have a G3 anymore .......

Also Tom3q said that when he gets time he'll try to reuse his codes for spica on g3....
 

hillbeast

Inactive Recognized Developer
Feb 9, 2011
2,719
6,790
Dunedin
had a talk with dharam and he said he'll help you in manner he can......so just get in touch with him....i think he can also be a dev in this port although he doesn't have a G3 anymore .......

Also Tom3q said that when he gets time he'll try to reuse his codes for spica on g3....

Thanks for the info. I shall contact all the developers to get their attention, as they may not see this thread, but I'll probably do that later as it is getting late.

If someone wishes to point them here then feel free to do so.

Also question to the other developers, with the mach code, I have three options:

1: continue to take the code from the old kernel and fix references (time consuming and may lead to issues later down the road)
2: adapt the code for another mach (s3c64xx or s5p-64x0) (may or may not work as we don't know how similar our chipset is to these other ones - it could be close or it could be completely different... thanks Samsung for giving us informations...)
3: make new code from scratch (I wouldn't have a clue how to do that)

Which do you reckon is the best course of action?
 

tom3q

Senior Member
May 31, 2011
358
1,611
Warsaw
github.com
Thanks for the info. I shall contact all the developers to get their attention, as they may not see this thread, but I'll probably do that later as it is getting late.

If someone wishes to point them here then feel free to do so.

Also question to the other developers, with the mach code, I have three options:

1: continue to take the code from the old kernel and fix references (time consuming and may lead to issues later down the road)
2: adapt the code for another mach (s3c64xx or s5p-64x0) (may or may not work as we don't know how similar our chipset is to these other ones - it could be close or it could be completely different... thanks Samsung for giving us informations...)
3: make new code from scratch (I wouldn't have a clue how to do that)

Which do you reckon is the best course of action?

Well, I wouldn't even take seriously option 1. There is no point in using the same poor code and just updating rest of the kernel (version doesn't really matter). First, this would copy all the problems of original kernel to new one. Second, this will add much more work with fixing all the problems with porting the old code to new code base and possibly create even more problems than the original kernel had. So this is likely to be just a waste of time.

Option 3 also adds unnecessary work, as there is already pretty good support of S5P series SoCs in the mainline, so there is no need to rewrite this from scratch.

IMHO the only reasonable option is option 2, i.e. using latest mainline as code base (android-3.4 branch of android/kernel-common is a good candidate), while extending s5p64x0 with support for s5p6442 (according to Samsung website all the models from S5P64xx line are compatible, except differences in peripheral set of course), using original kernel as a reference how the hardware is arranged (registers, memory map, some specific tricks and workarounds for hardware bugs and, what's most important, board-specific configuration, like GPIOs, EINTs, voltage regulator settings, etc.) and trying to reuse as much as possible from my spica-3.0 sources (e.g. battery driver, s5k4ca camera sensor driver and most probably several others).
 
Last edited:

D@rekills4

Senior Member
Nov 6, 2010
2,183
752
Yes. There are different versions of it and nobody knows what changes specifically in them, all we know is some work better for others and others don't work so nicely.



The modem from European firmwares cause problems to most of Vodafone users in India....
We need to flash the modem.bin of I5801DDJP2/6 firmware everytime we flash any ROM without this modem (at this point 99% of them).



Could you use this?
http://xdaforums.com/showthread.php?t=1413610


Also, it would be nice if a few non-indian users would try this baseband if they have any problems if hillbeast plans to use it.
 

moikop

Inactive Recognized Developer
Dec 5, 2010
544
690
Buenos Aires
2: adapt the code for another mach (s3c64xx or s5p-64x0) (may or may not work as we don't know how similar our chipset is to these other ones - it could be close or it could be completely different... thanks Samsung for giving us informations...)

Which do you reckon is the best course of action?

I completely agree with Tom3q on this one.
 

hillbeast

Inactive Recognized Developer
Feb 9, 2011
2,719
6,790
Dunedin
Well, I wouldn't even take seriously option 1. There is no point in using the same poor code and just updating rest of the kernel (version doesn't really matter). First, this would copy all the problems of original kernel to new one. Second, this will add much more work with fixing all the problems with porting the old code to new code base and possibly create even more problems than the original kernel had. So this is likely to be just a waste of time.

Option 3 also adds unnecessary work, as there is already pretty good support of S5P series SoCs in the mainline, so there is no need to rewrite this from scratch.

IMHO the only reasonable option is option 2, i.e. using latest mainline as code base (android-3.4 branch of android/kernel-common is a good candidate), while extending s5p64x0 with support for s5p6442 (according to Samsung website all the models from S5P64xx line are compatible, except differences in peripheral set of course), using original kernel as a reference how the hardware is arranged (registers, memory map, some specific tricks and workarounds for hardware bugs and, what's most important, board-specific configuration, like GPIOs, EINTs, voltage regulator settings, etc.) and trying to reuse as much as possible from my spica-3.0 sources (e.g. battery driver, s5k4ca camera sensor driver and most probably several others).

Okay I have scrapped all the current work on option 1 and switched to option 2. I was realising it after I started that this was going to be problems.

At least I didn't get too far into it.

X8 is a little better...

Well this is a G3 forum so...
 

hillbeast

Inactive Recognized Developer
Feb 9, 2011
2,719
6,790
Dunedin
Noob Ques: Are we not supposed to look at chipset similarity before starting tweaks? :confused:

The problem we have is that Samsung never officially released a datasheet for the S5P6442 and as a result we don't have any information we can go by when we work with it. We have to go by trial and error, debugging the old kernel, or reading the old source code.

Sent from my GT-I9100 using XDA
 

Spitlebug

Senior Member
Dec 1, 2011
139
8
The problem we have is that Samsung never officially released a datasheet for the S5P6442 and as a result we don't have any information we can go by when we work with it. We have to go by trial and error, debugging the old kernel, or reading the old source code.

Sent from my GT-I9100 using XDA

Given that this is an older phone, would they release that if we begged them?

I know they want to sell new phones, but I hardly think that a few older phones isn't going to kill their already huge market share.
 

hillbeast

Inactive Recognized Developer
Feb 9, 2011
2,719
6,790
Dunedin
Given that this is an older phone, would they release that if we begged them?

I know they want to sell new phones, but I hardly think that a few older phones isn't going to kill their already huge market share.

Considering they haven't released it when we asked ages ago and don't reply to communications, I'd say its never going to happen. I wouldn't be surprised if the documents don't exist anymore.

Sent from my GT-I9100 using XDA
 

cdesai

Inactive Recognized Developer
Jan 16, 2011
2,296
4,088
IN YOUR HEAD
Considering they haven't released it when we asked ages ago and don't reply to communications, I'd say its never going to happen. I wouldn't be surprised if the documents don't exist anymore.

Sent from my GT-I9100 using XDA
Yea, they removed all the links to s5p6442 from their site ages ago.

http://www.samsung.com/global/busin...archType=PARAMETRIC_SEARCH&iaId=835&parameter[0][parameterId]=242&parameter[0][specValue]=ARM%2011%20Series%20(1176)

No s5p6442, only s3c6410, and s5p64x0


EDIT : Found some interesting info here
http://lists.infradead.org/pipermail/linux-arm-kernel/2009-August/000156.html

For example, s5p6442 and s5pc110 have different arm core, but internal devices are very similar.

Otherwise, although s5p6440 and s5p6442 are in the same family, architecture and similar names, internal devices are very different.
 
  • Like
Reactions: z3c0 and raja4sure

eeshlikhith

Senior Member
Nov 2, 2011
241
42
Yea, they removed all the links to s5p6442 from their site ages ago.

http://www.samsung.com/global/busin...archType=PARAMETRIC_SEARCH&iaId=835&parameter[0][parameterId]=242&parameter[0][specValue]=ARM%2011%20Series%20(1176)

No s5p6442, only s3c6410, and s5p64x0


EDIT : Found some interesting info here
http://lists.infradead.org/pipermail/linux-arm-kernel/2009-August/000156.html

well hes talking about linux kernel code and our chipset AND he is from samsung. What if we contact him? Perhaps we could get some help from him? His email is mentioned at the end of the post too..
 

hillbeast

Inactive Recognized Developer
Feb 9, 2011
2,719
6,790
Dunedin
Yea, they removed all the links to s5p6442 from their site ages ago.

http://www.samsung.com/global/busin...archType=PARAMETRIC_SEARCH&iaId=835&parameter[0][parameterId]=242&parameter[0][specValue]=ARM%2011%20Series%20(1176)

No s5p6442, only s3c6410, and s5p64x0


EDIT : Found some interesting info here
http://lists.infradead.org/pipermail/linux-arm-kernel/2009-August/000156.html

With reading that, I'm now facing the choice, do I use s5p64x0 as the base or do I use s5pc110 which the guy says is closer to our SoC. What do you guys reckon?

Sent from my GT-I9100 using XDA
 

tom3q

Senior Member
May 31, 2011
358
1,611
Warsaw
github.com
With reading that, I'm now facing the choice, do I use s5p64x0 as the base or do I use s5pc110 which the guy says is closer to our SoC. What do you guys reckon?

Sent from my GT-I9100 using XDA

I'd still say that s5p6442 should be almost identical to other SoCs from s5p64x0 family, but I'll try to look into it today, by comparing sources of s5pcxxx and s5p64x0 from mainline and s5p6442 from G3 kernel.
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 94
    This thread to collaborate all efforts towards porting kernel 3.4.x on to the Galaxy 3. If any developers wish to help then please let me know and I will add you to the SG3 group on Github (provided you have proven yourself capable of helping by forking the repository and submitting a pull request of changes you have made - I won't just add people if they are 'learning how to develop for Linux').

    Changelog
    https://github.com/sg3/android_kernel_samsung_s5p6442/commits/s5p6442-3.4
    I chose the Github commit system to be the changelog as there are so many things going on at once it would be impossible to keep up with, and I cannot be assed explaining it. If you don't understand then ask, but please don't ask EVERYTHING. Most of the answers will be 'It just does'.

    I am trying to follow the standard process for committing to GIT by doing 's5p6442: change' or 'apollo: change' so it is easier to see what is being fixed and why we are changing it so people reviewing code have an easier job. I expect other developers to follow this as well. Pull requests made that do not follow this naming convention will be rejected.

    Source Code
    Source: https://github.com/sg3/android_kernel_samsung_s5p6442

    Members
    The following members already have full read/write access to the repository:
    • cdesai
    • hillbeast <- has UART
    • marcellusbe <- has UART
    • moikop <- has UART
    • tom3q <- has UART

    As you can see I also listed who has UART (that I currently know of). If you also have UART then let me know and I shall add it to the list. Having UART will be a huge help as it means we can see what is going on.

    Why Do We Need Kernel 3.
    • Easier updating the kernel to add security and performance boosts from mainline Linux kernels
    • More support for new versions of Android
    • Android 4.0 was built upon Linux Kernel 3.0.x and therefore expects kernel 3.0s APIs
    • Faster, more secure system
    • NO SAMSUNG MORONIC CODE
    • Because it's just better

    Please let me know if you are interested (able to) in helping this cause. Please don't put your hand up if you can't dedicate your phone to this. This will result in your phone being out of action quite a lot while we are testing, and if you need your phone 24/7 then you're going to need to keep flashing back. You will also NEED ODIN. Flashing from CWM is not an option.
    54
    Just a little update

    I've started working HARD (you can't imagine HOW HARD!) on this project on Monday, and I'm finally getting some results! :good:

    Until a few hours ago, all we knew was that the kernel was being decompressed, and then it crashed for some wicked reason. Now, thanks to me with some help from Hillbeast, we know exactly where the kernel is crashing, and now we can continue to work on it. This doesn't mean that it's working. However, I see this as a very good progress (from knowing almost nothing, to being able to point where the kernel crashes in the code).

    We are working to get this thing working, and I just wanted to give you guys a little update. But that doesn't give you the right to ask for etas ;)
    46
    Status

    What is working
    • Basic mach-code for s5p6442
    • Serial/UART
    • CPU clock and most clock sources
    • Most mach addresses/IRQs/GPIOs
    • Kernel init
    • initramfs init
    • MTD/OneNAND
    • GPIO
    • Screen/Framebuffer
    • Keypad/buttons
    • Reboot
    • Real time clock
    • I2C over GPIO
    • HSMMC

    What needs to be done
    • Samsung S3C I2C
    • Reboot modes
    • I2S
    • SDIO
    • Device Drivers (WiFi, Audio, sensors, etc)

    UART Dump
    Code:
    Starting kernel at 0x22000000...
    
    Uncompressing Linux... done, booting the kernel.
    [    0.000000] Booting Linux on physical CPU 0
    [    0.000000] Initializing cgroup subsys cpuset
    [    0.000000] Initializing cgroup subsys cpu
    [    0.000000] Linux version 3.4.27+ (hillbeast@carbuncle) (gcc version 4.6.2 20120613 (release) [ARM/embedded-4_6-branch revision 188521] (GNU Tools for ARM Embedded Processors) ) #Test Sun Jan 13 20:44:01 NZDT 2013
    [    0.000000] CPU: ARMv6-compatible processor [410fb767] revision 7 (ARMv6TEJ), cr=00c5387d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
    [    0.000000] Machine: APOLLO
    [    0.000000] Memory policy: ECC disabled, Data cache writeback
    [    0.000000] CPU S5P6442 (id 0x36442000)
    [    0.000000] S3C24XX Clocks, Copyright 2004 Simtec Electronics
    [    0.000000] s5p6442_setup_clocks: clkdiv0 = 10100000
    [    0.000000] S5P6442: PLL settings, A=667000000, M=166000000, E=48000000
    [    0.000000] mout_apll: source is fout_apll (1), rate is 667000000
    [    0.000000] mout_mpll: source is fout_mpll (1), rate is 166000000
    [    0.000000] mout_epll: source is fout_epll (1), rate is 48000000
    [    0.000000] mout_arm: source is mout_apll (1), rate is 667000000
    [    0.000000] mout_d0: source is mout_mpll (1), rate is 166000000
    [    0.000000] mout_d0sync: source is mout_d0 (1), rate is 166000000
    [    0.000000] mout_d1: source is mout_mpll (1), rate is 166000000
    [    0.000000] mout_d1sync: source is mout_d1 (1), rate is 166000000
    [    0.000000] sclk_mfc: source is mout_mpll (0), rate is 166000000
    [    0.000000] sclk_mmc: source is mout_mpll (6), rate is 83000000
    [    0.000000] sclk_mmc: source is mout_mpll (6), rate is 83000000
    [    0.000000] sclk_mmc: source is mout_mpll (6), rate is 83000000
    [    0.000000] dout_a2m: source is fout_apll (1), rate is 667000000
    [    0.000000] dout_apll: source is mout_apll (1), rate is 667000000
    [    0.000000] hclkd1: source is mout_d1 (1), rate is 166000000
    [    0.000000] hclkd0: source is mout_d0 (1), rate is 166000000
    [    0.000000] pclkd0: source is mout_d0 (1), rate is 83000000
    [    0.000000] pclkd1: source is mout_d1 (1), rate is 83000000
    [    0.000000] S5P6442: HCLKD0=166000000, HCLKD1=166000000, PCLKD0=83000000, PCLKD1=83000000
    [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 84832
    [    0.000000] Kernel command line: console=ttySAC1,115200 version=Sbl(1.0.0) 2010-10-27 17:10:33
    [    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    [    0.000000] allocated 1212416 bytes of page_cgroup
    [    0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
    [    0.000000] Memory: 256MB 80MB = 336MB total
    [    0.000000] Memory: 324804k/324804k available, 19260k reserved, 0K highmem
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    [    0.000000]     vmalloc : 0xe5800000 - 0xff000000   ( 408 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xe5000000   ( 592 MB)
    [    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
    [    0.000000]       .text : 0xc0008000 - 0xc0995db4   (9784 kB)
    [    0.000000]       .init : 0xc0996000 - 0xc0c29000   (2636 kB)
    [    0.000000]       .data : 0xc0c2a000 - 0xc0cae688   ( 530 kB)
    [    0.000000]        .bss : 0xc0cae6ac - 0xc0e8bc38   (1910 kB)
    [    0.000000] SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    [    0.000000] NR_IRQS:208
    [    0.000000] VIC @f6000000: id 0x00041192, vendor 0x41
    [    0.000000] VIC @f6010000: id 0x00041192, vendor 0x41
    [    0.000000] VIC @f6020000: id 0x00041192, vendor 0x41
    [    0.000000] vic_register: too few VICs, increase CONFIG_ARM_VIC_NR
    [    0.000000] sched_clock: 32 bits at 41MHz, resolution 24ns, wraps every 103493ms
    [    0.000000] Console: colour dummy device 80x30
    [    0.000363] Calibrating delay loop... 663.55 BogoMIPS (lpj=1658880)
    [    0.060015] pid_max: default: 32768 minimum: 301
    [    0.060273] Security Framework initialized
    [    0.060345] AppArmor: AppArmor initialized
    [    0.060775] Mount-cache hash table entries: 512
    [    0.061926] Initializing cgroup subsys cpuacct
    [    0.061959] Initializing cgroup subsys memory
    [    0.062041] Initializing cgroup subsys devices
    [    0.062064] Initializing cgroup subsys freezer
    [    0.062082] Initializing cgroup subsys blkio
    [    0.062124] Initializing cgroup subsys perf_event
    [    0.062325] CPU: Testing write buffer coherency: ok
    [    0.062417] ftrace: allocating 24113 entries in 71 pages
    [    0.256329] hw perfevents: enabled with v6 PMU driver, 3 counters available
    [    0.256470] Setting up static identity map for 0x20652280 - 0x206522dc
    [    0.259465] devtmpfs: initialized
    [    0.261208] EVM: security.selinux
    [    0.261230] EVM: security.SMACK64
    [    0.261243] EVM: security.capability
    [    0.262295] gpiochip_add: registered GPIOs 0 to 7 on device: GPA0
    [    0.262327] gpiochip_add: registered GPIOs 9 to 10 on device: GPA1
    [    0.262348] gpiochip_add: registered GPIOs 12 to 15 on device: GPB
    [    0.262366] gpiochip_add: registered GPIOs 17 to 21 on device: GPC0
    [    0.262384] gpiochip_add: registered GPIOs 23 to 27 on device: GPC1
    [    0.262402] gpiochip_add: registered GPIOs 29 to 30 on device: GPD0
    [    0.262420] gpiochip_add: registered GPIOs 32 to 37 on device: GPD1
    [    0.262438] gpiochip_add: registered GPIOs 39 to 46 on device: GPE0
    [    0.262457] gpiochip_add: registered GPIOs 48 to 52 on device: GPE1
    [    0.262475] gpiochip_add: registered GPIOs 54 to 61 on device: GPF0
    [    0.262494] gpiochip_add: registered GPIOs 63 to 70 on device: GPF1
    [    0.262512] gpiochip_add: registered GPIOs 72 to 79 on device: GPF2
    [    0.262531] gpiochip_add: registered GPIOs 81 to 86 on device: GPF3
    [    0.262549] gpiochip_add: registered GPIOs 88 to 94 on device: GPG0
    [    0.262568] gpiochip_add: registered GPIOs 96 to 102 on device: GPG1
    [    0.262587] gpiochip_add: registered GPIOs 104 to 110 on device: GPG2
    [    0.262606] gpiochip_add: registered GPIOs 148 to 155 on device: GPJ0
    [    0.262624] gpiochip_add: registered GPIOs 157 to 162 on device: GPJ1
    [    0.262644] gpiochip_add: registered GPIOs 164 to 171 on device: GPJ2
    [    0.262664] gpiochip_add: registered GPIOs 173 to 180 on device: GPJ3
    [    0.262683] gpiochip_add: registered GPIOs 182 to 186 on device: GPJ4
    [    0.262702] gpiochip_add: registered GPIOs 188 to 195 on device: MP01
    [    0.262721] gpiochip_add: registered GPIOs 197 to 200 on device: MP02
    [    0.262739] gpiochip_add: registered GPIOs 202 to 206 on device: MP03
    [    0.262758] gpiochip_add: registered GPIOs 208 to 215 on device: MP04
    [    0.262777] gpiochip_add: registered GPIOs 217 to 224 on device: MP05
    [    0.262796] gpiochip_add: registered GPIOs 226 to 233 on device: MP06
    [    0.262815] gpiochip_add: registered GPIOs 235 to 242 on device: MP07
    [    0.262834] gpiochip_add: registered GPIOs 244 to 251 on device: MP10
    [    0.262853] gpiochip_add: registered GPIOs 112 to 119 on device: GPH0
    [    0.262872] gpiochip_add: registered GPIOs 121 to 128 on device: GPH1
    [    0.262891] gpiochip_add: registered GPIOs 130 to 137 on device: GPH2
    [    0.262910] gpiochip_add: registered GPIOs 139 to 146 on device: GPH3
    [    0.263470] dummy:
    [    0.264100] NET: Registered protocol family 16
    [    0.275100] apollo_machine_init : hw_rev_pin=0x0
    [    0.275128] apollo_machine_init : bootmode=0x0
    [    0.275146] apollo_machine_init : lcd_id=1
    [    0.275161] apollo_machine_init : uart_sel=1
    [    0.275216] hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
    [    0.275237] hw-breakpoint: maximum watchpoint size is 4 bytes.
    [    0.275523] S5P6442: Initializing architecture
    [    0.291494] bio: create slab <bio-0> at 0
    [    0.293402] SCSI subsystem initialized
    [    0.294000] usbcore: registered new interface driver usbfs
    [    0.294214] usbcore: registered new interface driver hub
    [    0.294630] usbcore: registered new device driver usb
    [    0.295434] i2c i2c-3: Not I2C compliant: can't read SCL
    [    0.295462] i2c i2c-3: Bus may be unreliable
    [    0.295487] i2c-gpio i2c-gpio.3: using pins 220 (SDA) and 219 (SCL, no clock stretching)
    [    0.296287] max8998 4-0066: No interrupt specified, no interrupts
    [    0.300785] VALIVE_1.1V: 1100 mV
    [    0.302519] VUSB+MIPI_1.1V: 1100 mV
    [    0.304283] VDAC_3.3V: 3300 mV
    [    0.306136] VTF_2.8V: 2800 mV
    [    0.307889] VCC_3.3V: 3300 mV
    [    0.310548] VLCD_1.8V: 1800 mV
    [    0.312288] VUSB+VADC_3.3V: 3300 mV
    [    0.314100] VCC+VCAM_2.8V: 2800 mV
    [    0.316692] VPLL_1.1V: 1100 mV
    [    0.318393] CAM_IO_2.8V: 2800 mV
    [    0.320204] CAM_ISP_1.2V: 1200 mV
    [    0.321958] CAM_A_2.8V: 2800 mV
    [    0.323682] CAM_CIF_1.8V: 1800 mV
    [    0.325508] CAM_AF_3.3V: 3300 mV
    [    0.327243] VMIPI_1.8V: 1800 mV
    [    0.329838] VCC_3.0V_LCD: 3000 mV
    [    0.331270] VARM_1.2V: 1200 mV
    [    0.332645] VINT_1.2V: 1200 mV
    [    0.334014] VCC_1.8V: 1800 mV
    [    0.336329] CAM_CORE_1.2V: 1200 mV
    [    0.337442] i2c-gpio i2c-gpio.4: using pins 182 (SDA) and 185 (SCL)
    [    0.337761] i2c-gpio i2c-gpio.7: using pins 153 (SDA) and 152 (SCL)
    [    0.338087] i2c-gpio i2c-gpio.8: using pins 34 (SDA) and 35 (SCL)
    [    0.338390] i2c-gpio i2c-gpio.9: using pins 178 (SDA) and 179 (SCL)
    [    0.338704] s3c-i2c s3c2410-i2c.0: slave address 0x10
    [    0.338750] s3c-i2c s3c2410-i2c.0: bus frequency set to 81 KHz
    [    0.338797] s3c-i2c s3c2410-i2c.0: cannot claim IRQ 78
    [    0.338850] s3c-i2c: probe of s3c2410-i2c.0 failed with error -38
    [    0.339021] s3c-i2c s3c2410-i2c.1: slave address 0x10
    [    0.339066] s3c-i2c s3c2410-i2c.1: bus frequency set to 81 KHz
    [    0.339106] s3c-i2c s3c2410-i2c.1: cannot claim IRQ 109
    [    0.339157] s3c-i2c: probe of s3c2410-i2c.1 failed with error -22
    [    0.339322] s3c-i2c s3c2410-i2c.2: slave address 0x10
    [    0.339364] s3c-i2c s3c2410-i2c.2: bus frequency set to 81 KHz
    [    0.339682] s3c-i2c s3c2410-i2c.2: i2c-2: S3C I2C adapter
    [    0.339810] Linux video capture interface: v2.00
    [    0.340585] Advanced Linux Sound Architecture Driver Version 1.0.25.
    [    0.341666] Bluetooth: Core ver 2.16
    [    0.341800] NET: Registered protocol family 31
    [    0.341822] Bluetooth: HCI device and connection manager initialized
    [    0.341843] Bluetooth: HCI socket layer initialized
    [    0.341860] Bluetooth: L2CAP socket layer initialized
    [    0.341920] Bluetooth: SCO socket layer initialized
    [    0.341941] NetLabel: Initializing
    [    0.341955] NetLabel:  domain hash size = 128
    [    0.341967] NetLabel:  protocols = UNLABELED CIPSOv4
    [    0.342112] NetLabel:  unlabeled traffic allowed by default
    [    0.342849] Switching to clocksource s5p_clocksource_timer
    [    0.379780] AppArmor: AppArmor Filesystem Enabled
    [    0.409043] NET: Registered protocol family 2
    [    0.409412] IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.410301] TCP established hash table entries: 16384 (order: 5, 131072 bytes)
    [    0.411581] TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
    [    0.412212] TCP: Hash tables configured (established 16384 bind 16384)
    [    0.412232] TCP: reno registered
    [    0.412256] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [    0.412319] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [    0.412878] NET: Registered protocol family 1
    [    0.413878] RPC: Registered named UNIX socket transport module.
    [    0.413908] RPC: Registered udp transport module.
    [    0.413924] RPC: Registered tcp transport module.
    [    0.413940] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    2.313502] audit: initializing netlink socket (disabled)
    [    2.313597] type=2000 audit(2.175:1): initialized
    [    2.518638] VFS: Disk quotas dquot_6.5.2
    [    2.519085] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    [    2.523547] NFS: Registering the id_resolver key type
    [    2.526646] fuse init (API version 7.18)
    [    2.527762] msgmni has been set to 634
    [    2.535433] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
    [    2.535935] io scheduler noop registered
    [    2.535965] io scheduler deadline registered
    [    2.536070] io scheduler cfq registered (default)
    [    2.545209] Console: switching to colour frame buffer device 30x25
    [    2.549050] s3c-fb s3c-fb: window 0: fb
    [    2.549647] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
    [    2.564511] s5pv210-uart.0: ttySAC0 at MMIO 0xec000000 (irq = 74) is a S3C6400/10
    [    2.565120] s5pv210-uart.1: ttySAC1 at MMIO 0xec000400 (irq = 75) is a S3C6400/10
    [    3.688673] console [ttySAC1] enabled
    [    3.692714] s5pv210-uart.2: ttySAC2 at MMIO 0xec000800 (irq = 76) is a S3C6400/10
    [    3.701079] ramoops: platform device not found, using module parameters
    [    3.706799] ramoops: The memory size and the record size must be non-zero
    [    3.713399] ramoops: probe of ramoops failed with error -22
    [    3.735283] brd: module loaded
    [    3.744057] loop: module loaded
    [    3.745830] nbd: registered device at major 43
    [    3.762773] i2c-core: driver [fsa9480] using legacy suspend method
    [    3.763421] i2c-core: driver [fsa9480] using legacy resume method
    [    3.770606] mtdoops: mtd device (mtddev=name/number) must be supplied
    [    3.776125] =================================================================
    [    3.783321] Samsung OneNAND Driver (AUDI).
    [    3.787406] =================================================================
    [    3.794866] OneNAND: Clock gating is enabled.
    [    3.799181] Muxed OneNAND 512MB 1.8V 16-bit (0x50)
    [    3.803964] OneNAND version = 0x013e
    [    3.809584] Scanning device for bad blocks
    [    3.852229] onenand_bbt_wait: ecc error = 0x0001, controller error 0x0400
    [    3.853463] OneNAND eraseblock 320 is an initial bad block
    [    4.077529] OneNAND eraseblock 2047 is an initial bad block
    [    4.079391] Creating 8 MTD partitions on "s5p-onenand":
    [    4.082775] 0x000000a00000-0x000001180000 : "boot"
    [    4.090109] 0x000001180000-0x00000ed80000 : "system"
    [    4.095512] 0x00000ed80000-0x00001b800000 : "userdata"
    [    4.100622] 0x00001b800000-0x00001de00000 : "cache"
    [    4.105243] 0x00001de00000-0x00001f500000 : "efs"
    [    4.110030] 0x00001f500000-0x00001ffc0000 : "reservoir"
    [    4.115311] 0x00001ffc0000-0x000020000000 : "dgs"
    [    4.120079] 0x000000180000-0x000000200000 : "param"
    [    4.129186] Fixed MDIO Bus: probed
    [    4.129479] tun: Universal TUN/TAP device driver, 1.6
    [    4.132039] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
    [    4.138886] PPP generic driver version 2.4.2
    [    4.143197] PPP BSD Compression module registered
    [    4.147386] PPP Deflate Compression module registered
    [    4.155764] PPP MPPE Compression module registered
    [    4.157358] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    [    4.165883] mousedev: PS/2 mouse device common for all mice
    [    4.170690] input: samsung-keypad as /devices/platform/samsung-keypad/input/input0
    [    4.183677] max8998-rtc max8998-rtc: rtc core: registered max8998-rtc as rtc0
    [    4.185222] max8998-rtc max8998-rtc: Failed to request alarm IRQ: 9: -22
    [    4.192094] max8998-rtc max8998-rtc: RTC CHIP NAME: max8998-rtc
    [    4.198341] s3c-rtc s3c64xx-rtc: rtc disabled, re-enabling
    [    4.204232] s3c-rtc s3c64xx-rtc: rtc core: registered s3c as rtc1
    [    4.209837] s3c-rtc s3c64xx-rtc: warning: invalid RTC value so initializing it
    [    4.217293] i2c /dev entries driver
    [    4.223542] lirc_dev: IR Remote Control driver registered, major 252
    [    4.227104] IR NEC protocol handler initialized
    [    4.231789] IR RC5(x) protocol handler initialized
    [    4.236611] IR RC6 protocol handler initialized
    [    4.241188] IR JVC protocol handler initialized
    [    4.245773] IR Sony protocol handler initialized
    [    4.250448] IR RC5 (streamzap) protocol handler initialized
    [    4.256091] IR SANYO protocol handler initialized
    [    4.260894] IR MCE Keyboard/mouse protocol handler initialized
    [    4.266831] IR LIRC bridge handler initialized
    [    4.271884] vivi-000: V4L2 device registered as video0
    [    4.276490] Video Technology Magazine Virtual Video Capture Board ver 0.8.1 successfully loaded.
    [    4.286115] m2m-testdev m2m-testdev.0: mem2mem-testdevDevice registered as /dev/video1
    [    4.293614] S5P JPEG V4L2 Driver, (c) 2011 Samsung Electronics
    [    4.299987] s5p-jpeg s5p-jpeg.0: encoder device registered as /dev/video2
    [    4.306631] s5p-jpeg s5p-jpeg.0: decoder device registered as /dev/video3
    [    4.313092] s5p-jpeg s5p-jpeg.0: Samsung S5P JPEG codec
    [    4.319104] s5p-mfc s5p-mfc: decoder registered as /dev/video4
    [    4.324735] s5p-mfc s5p-mfc: encoder registered as /dev/video5
    [    4.331964] device-mapper: uevent: version 1.0.3
    [    4.335859] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialised: dm-devel@redhat.com
    [    4.344756] device-mapper: multipath: version 1.3.0 loaded
    [    4.349027] device-mapper: multipath round-robin: version 1.0.0 loaded
    [    4.355582] device-mapper: multipath queue-length: version 0.1.0 loaded
    [    4.362272] device-mapper: multipath service-time: version 0.2.0 loaded
    [    4.369166] Bluetooth: HCI UART driver ver 2.2
    [    4.373493] Bluetooth: HCI H4 protocol initialized
    [    4.378328] cpuidle: using governor ladder
    [    4.382413] cpuidle: using governor menu
    [    4.386665] sdhci: Secure Digital Host Controller Interface driver
    [    4.392711] sdhci: Copyright(c) Pierre Ossman
    [    4.397299] s3c-sdhci s3c-sdhci.0: clock source 0: mmc_busclk.0 (166000000 Hz)
    [    4.404494] s3c-sdhci s3c-sdhci.0: clock source 2: mmc_busclk.2 (83000000 Hz)
    [    4.413642] mmc0: SDHCI controller on samsung-hsmmc [s3c-sdhci.0] using ADMA
    [    4.419361] VTF_2.8V: operation not allowed
    [    4.423067] s3c-sdhci s3c-sdhci.0: could not set regulator OCR (-1)
    [    4.429579] s3c-sdhci s3c-sdhci.1: clock source 0: mmc_busclk.0 (166000000 Hz)
    [    4.436774] s3c-sdhci s3c-sdhci.1: clock source 2: mmc_busclk.2 (83000000 Hz)
    [    4.445522] VTF_2.8V: operation not allowed
    [    4.448203] s3c-sdhci s3c-sdhci.0: could not set regulator OCR (-1)
    [    4.454713] mmc1: no vmmc regulator found
    [    4.460242] mmc1: SDHCI controller on samsung-hsmmc [s3c-sdhci.1] using ADMA
    [    4.465940] s3c-sdhci s3c-sdhci.2: clock source 0: mmc_busclk.0 (166000000 Hz)
    [    4.476388] s3c-sdhci s3c-sdhci.2: clock source 2: mmc_busclk.2 (83000000 Hz)
    [    4.482175] VTF_2.8V: operation not allowed
    [    4.484543] s3c-sdhci s3c-sdhci.0: could not set regulator OCR (-1)
    [    4.491054] mmc2: no vmmc regulator found
    [    4.496685] mmc2: SDHCI controller on samsung-hsmmc [s3c-sdhci.2] using ADMA
    [    4.502247] sdhci-pltfm: SDHCI platform and OF driver helper
    [    4.509478] usbcore: registered new interface driver usbhid
    [    4.513457] usbhid: USB HID core driver
    [    4.518528] ashmem: initialized
    [    4.520813] logger: created 256K log 'log_main'
    [    4.528884] logger: created 256K log 'log_events'
    [    4.531558] logger: created 256K log 'log_radio'
    [    4.534910] logger: created 256K log 'log_system'
    [    4.552135] IPv4 over IPv4 tunneling driver
    [    4.553324] Initializing XFRM netlink socket
    [    4.555039] NET: Registered protocol family 17
    [    4.562972] NET: Registered protocol family 15
    [    4.565666] Bluetooth: RFCOMM TTY layer initialized
    [    4.569203] Bluetooth: RFCOMM socket layer initialized
    [    4.574203] Bluetooth: RFCOMM ver 1.11
    [    4.579328] NET: Registered protocol family 33
    [    4.584577] sctp: Hash tables configured (established 16384 bind 32768)
    [    4.589796] Registering the dns_resolver key type
    [    4.597496] VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 5
    [    4.604614] registered taskstats version 1
    [    4.614795] VCC_1.8V: incomplete constraints, leaving on
    [    4.615346] VINT_1.2V: incomplete constraints, leaving on
    [    4.621985] VARM_1.2V: incomplete constraints, leaving on
    [    4.626472] CAM_AF_3.3V: incomplete constraints, leaving on
    [    4.632575] CAM_ISP_1.2V: incomplete constraints, leaving on
    [    4.637494] CAM_IO_2.8V: incomplete constraints, leaving on
    [    4.643182] VPLL_1.1V: incomplete constraints, leaving on
    [    4.649650] VCC+VCAM_2.8V: incomplete constraints, leaving on
    [    4.656416] VUSB+VADC_3.3V: incomplete constraints, leaving on
    [    4.660221] VCC_3.3V: incomplete constraints, leaving on
    [    4.665695] VTF_2.8V: incomplete constraints, leaving on
    [    4.671548] VUSB+MIPI_1.1V: incomplete constraints, leaving on
    [    4.679449] input: gpio-keys as /devices/platform/gpio-keys.0/input/input1
    [    4.687987] max8998-rtc max8998-rtc: setting system clock to 2013-02-23 08:21:42 UTC (1361607702)
    [    4.692653] ALSA device list:
    [    4.695373]   No soundcards found.
    [    4.699028] Warning: unable to open an initial console.
    [    4.730337] Freeing init memory: 2636K
    [    4.730385] Write protecting the kernel text section c0008000 - c090d000
    [    4.925033] mmc2: new SD card at address aaaa
    [    4.933164] mmcblk0: mmc2:aaaa SU01G 942 MiB
    [    4.936670]  mmcblk0: p1
    [    5.113958] init: cannot open '/initlogo.rle'
    [    5.348302] EXT4-fs (mtdblock1): warning: maximal mount count reached, running e2fsck is recommended
    [    5.352863] EXT4-fs (mtdblock1): recovery complete
    [    5.357121] EXT4-fs (mtdblock1): mounted filesystem with ordered data mode. Opts: (null)
    [    5.366051] EXT4-fs (mtdblock1): re-mounted. Opts: (null)
    [    5.563526] EXT4-fs (mtdblock2): warning: maximal mount count reached, running e2fsck is recommended
    [    5.567565] EXT4-fs (mtdblock2): recovery complete
    [    5.572336] EXT4-fs (mtdblock2): mounted filesystem with ordered data mode. Opts: (null)
    [    5.638145] EXT4-fs (mtdblock3): warning: maximal mount count reached, running e2fsck is recommended
    [    5.642200] EXT4-fs (mtdblock3): recovery complete
    [    5.646958] EXT4-fs (mtdblock3): mounted filesystem with ordered data mode. Opts: (null)
    [    5.659542] EXT4-fs (mtdblock4): Unrecognized mount option "check=no" or missing value
    [    5.726831] lowmem_shrink: convert oom_adj to oom_score_adj:
    [    5.726892] oom_adj 0 => oom_score_adj 0
    [    5.730922] oom_adj 1 => oom_score_adj 58
    [    5.734942] oom_adj 2 => oom_score_adj 117
    [    5.739090] oom_adj 4 => oom_score_adj 235
    [    5.743230] oom_adj 7 => oom_score_adj 411
    [    5.747323] oom_adj 15 => oom_score_adj 1000
    [    5.752406] init (1): /proc/1/oom_adj is deprecated, please use /proc/1/oom_score_adj instead.
    sh: can't access tty; job control turned off
    # [    6.736529] init: untracked pid 139 exited
    [    7.097207] warning: `rild' uses 32-bit capabilities (legacy support in use)
    46
    And just for fun:

    1zwg50o.jpg


    Now I need to get those buttons to work. Also I noticed /dev/random is bugged. It just stops while generating random numbers or something. The device is still alive because the cursor is still flashing on fbcon and such, so I dunno what's wrong with it, but having a screen is great progress, and it means people without UART can now do development.
    44
    After poking around for ages, and even pulling out Microsoft Excel, and several cans of energy drink, many late nights, and much hair lost: buttons are working. About damned time.