ts-7000
[Top] [All Lists]

[ts-7000] Re: kernel 2.6 on TS-7200

To:
Subject: [ts-7000] Re: kernel 2.6 on TS-7200
From: "charliem_1216" <>
Date: Fri, 16 Feb 2007 04:33:39 -0000
--- In  "charliem_1216" <>
wrote:
>
> --- In  "Yan Seiner" yan@ wrote:
> >
> > --- In  "Stephen Brooks" <sbrooks@> wrote:
> > >
> > > Thanks, good to hear that someone has it working. Do you have the
name
> > > of the patch or a link/location I could get it?
> > >
> >
> > Stephen (or Chris or anyone who has 2.6 working):
> >
> > Could you please document the process, and perhaps what is working
and
> > what isn't, so I could include it in the wiki?
> >
> > There's a lot of knowledge floating around about the migration to
2.6,
> > and it would be nice to put it all in one place....
> >
> > Thanks,
> >
> > --Yan
> >
>
> Yes, sorry, that's on my to-do list.
>
> I'll post something (here) later tonight for comments, corrections &
> additions before you put it in the wiki.
>
> Regards, .......... Charlie
>


OK, here is my list of 2.6 items for TS systems, please add comments /
corrections / questions.  Note that there are lots of userland & distro
things to check too that aren't covered here, relating to a 2.4 to 2.6
switch.
A big one, for example, is the removal of devfs ... no longer in 2.6
since
2.6.18.

A few small patches are in-lined, others are links.

I have only a 64M TS-7250 to test with, and almost all of my testing is
done via
NFSRoot.

Kernel Items & tips:

1) Set nF bit patch
Without this, your CPU will run at 100 MHz.  May
be fixed in a future redboot release, but for now you need to patch
this and turn it on:

diff -ubr arm.orig/mach-ep93xx/Kconfig arm/mach-ep93xx/Kconfig
--- arm.orig/mach-ep93xx/Kconfig        2007-01-30 22:42:57.000000000
-0500
+++ arm/mach-ep93xx/Kconfig     2007-02-03 14:41:40.000000000 -0500
@@ -7,6 +7,15 @@
         help
           Enable kernel support for MaverickCrunch.

+config CR1_NFBIT
+        bool "Turn on nF bit in ControlRegister 1"
+        help
+         Say 'Y' here to force the nF bit on.  Usually this is set
+         by the bootrom.  If it is not set, then the CPU core will
+         run from HCLK instead of FCLK, and performance will suffer.
+         If you see BogoMIPS of about 1/4 of your CPU clock, try
+         turning this on; your performance should double.
+
  comment "EP93xx Platforms"

  config MACH_ADSSPHERE
diff -ubr arm.orig/mm/proc-arm920.S arm/mm/proc-arm920.S
--- arm.orig/mm/proc-arm920.S   2007-01-30 22:42:57.000000000 -0500
+++ arm/mm/proc-arm920.S        2007-02-03 14:29:00.000000000 -0500
@@ -395,6 +395,9 @@
         mrc     p15, 0, r0, c1, c0              @ get control register
v4
         bic     r0, r0, r5
         orr     r0, r0, r6
+#ifdef CONFIG_CR1_NFBIT
+       orr     r0, r0, #0x40000000             @ set nF
+#endif
         mov     pc, lr
         .size   __arm920_setup, . - __arm920_setup


2) Serial uartbaud fix patch
(needed at least on my TS-7250)  If you see redboot messages on your
serial
line OK, but see garbled data when linux starts, try this fix.
http://svn.wantstofly.org/kernel/ep93xx-serial-uartbaud.diff

3) (infamous) Machine ID fix patch
Note: Do not apply this without
editing.  Fix your cross-compile string, keep head.S patch, keep
printk patch (printascii), but delete the rest unless you want
to experiment.  Also may be fixed in next redboot update.
http://svn.wantstofly.org/kernel/local.diff

4) yaffs2 patch
If you use a TS-7250, you have NAND flash, and need to apply the latest
yaffs2 patch to the 2.6 kernel.  The vanilla kernel has only yaffs,
but TS uses yaffs2.  (yaffs2 will handle yaffs filesystems too).
(Actually TS uses yaffs2 only on the 2k page NAND devices, so you
_may_ not need this).  This is the latest svn:
http://www.aleph1.co.uk/cgi-bin/viewcvs.cgi/yaffs2.tar.gz?view=tar

5) Nand flash partition table patch
The NAND flash partition table was changed at some point in the
production run, increasing the size of TS-BOOTROM from 0x00004000
to 0x00020000 (16k to 128k).  Petr Stetiar has a patch that changed
this, but only for the 32M unit.  The patch below will fix both, but
only apply it if you have the 128k BOOTROM partition.  ("dmesg | grep
BOOTROM" will help).

--- a/ts7250.c    2007-01-30 22:42:57.000000000 -0500
+++ b/ts7250.c        2007-02-03 00:10:02.000000000 -0500
@@ -48,14 +48,14 @@
         {
                 .name           = "TS-BOOTROM",
                 .offset         = 0x00000000,
-               .size           = 0x00004000,
+               .size           = 0x00020000,
         }, {
                 .name           = "Linux",
-               .offset         = 0x00004000,
+               .offset         = 0x00020000,
                 .size           = 0x01d00000,
         }, {
                 .name           = "RedBoot",
-               .offset         = 0x01d04000,
+               .offset         = 0x01d20000,
                 .size           = 0x002fc000,
         },
  };
@@ -67,15 +67,15 @@
         {
                 .name           = "TS-BOOTROM",
                 .offset         = 0x00000000,
-               .size           = 0x00004000,
+               .size           = 0x00020000,
         }, {
                 .name           = "Linux",
-               .offset         = 0x00004000,
+               .offset         = 0x00020000,
                 .size           = 0x07d00000,
         }, {
                 .name           = "RedBoot",
-               .offset         = 0x07d04000,
-               .size           = 0x002fc000,
+               .offset         = 0x07d20000,
+               .size           = 0x002e0000,
         },
  };
  #endif


6) Discontig mem patch
If you have 64M or more RAM, you need this patch.  32M boards should
not need it.  (It is possible to get by without this, using only the
lower 32M of a 64M board, but you have to spell out the memory bank
locations on the command line.  Much better to use this patch).
>From Brett Saunders:
http://www.mynah-software.com/arm/patch-discontigmem-ep93xx-linux-2.6.19\
.gz

7) TS-7400 patch
Needed for TS-7400 boards.  (Need confirmation here from a 7400 owner)
Also from Brett Saunders:
http://www.mynah-software.com/arm/patch-ts7400-linux-2.6.19.gz

8) RTC clock - no patch needed
If you have the optional TS battery backed RTC clock, choose the
"ST M48T86/DS12887" RTC clock support when configuring your kernel.
If not, pick the "Cirrus logic EP93XX".  You can have both (one will
show up as rtc0, the other as rtc1), but if you have the battery
backed chip there's no need for the ep93xx support.  On my distro
/sbin/hwclock looked only for /dev/rtc, not any rtc<n>.  I had to
link rtc0 to rtc.

9) Ethernet - no patch needed
Choose EP93xx ethernet support

10) ADC-197 driver
Phil McCarl's adc-0.0.2 driver is for the 2.4 kernel, but I have it
ported,
working and lightly tested for 2.6.20.  A few things are left to clean
up, but let me know if you want to try it.

11) USB
Works fine AFAIK.  Tested with storage devices.


Other Devices / Configs (need help here):

Pre-emptible kernel build -- No experience (yet)

RT Kernel patch -- No experience (yet).
http://people.redhat.com/mingo/realtime-preempt/

Sound -- No experience

I2S -- No experience

ep93xx PATA / CF -- No experience.


Other Comments:

EABI

EABI is the new arm abi, with lots to recommend it over OABI.  If you do
any floating point, I highly recommend looking into EABI: FP is
incredibly fast, both with crunch instructions and softfloat.  No need
for static linking to use softfloat or crunch.  You need gcc 4.1.1 or
newer.

Full benefits require an EABI userland port.  Once you are running 100%
EABI userland, be sure to rebuild your kernel without older OABI
compatability, since OABI compatability prevents full use of EABI
kernel syscall speedups.

See http://wiki.debian.org/ArmEabiPort for details.


Regards, ........ Charlie Moschel





 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/ts-7000/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/ts-7000/join
    (Yahoo! ID required)

<*> To change settings via email:
     
    

<*> To unsubscribe from this group, send an email to:
    

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 

<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU