06:12.33 | *** join/#openjtag jamie (~jamie@softmodem.org) |
06:56.54 | *** part/#openjtag dyoung (~dyoung@dyoung.nslu2-linux) |
07:05.42 | *** join/#openjtag dyoung (~dyoung@cpe-24-94-88-62.hawaii.res.rr.com) |
10:25.43 | *** join/#openjtag ep1220 (~NN@gate.epatec.at) |
11:13.12 | *** join/#openjtag [g2] (~g2@g2.nslu2-linux) |
11:53.31 | ep1220 | [g2] I am now ready to load data into the I-cache. Hold_Reset works. |
11:54.03 | [g2] | EXCELLENT |
11:54.07 | [g2] | congrats |
11:54.14 | ep1220 | thx |
11:54.22 | [g2] | I'm going to look at that right now |
11:54.54 | [g2] | it should only be some simple instructions to load immediate the values and then store them |
11:55.42 | ep1220 | No need to setup an MMU ? |
11:57.49 | [g2] | nope not to start with from my simple understanding |
11:58.21 | ep1220 | right, most likely disabled after reset |
11:59.09 | *** join/#openjtag rwhitby (~rwhitby@rwhitby.nslu2-linux) |
11:59.17 | [g2] | ep1220, I'm going to look APEX led blinking now |
11:59.31 | [g2] | rwhitby, welcome |
12:00.27 | ep1220 | [g2] If Your time is tight: a hint at which source file to look might be enough help |
12:02.26 | [g2] | ep1220, we can look at it together |
12:02.39 | [g2] | your got the latest APEX 1.2.11 iirc ? |
12:03.13 | ep1220 | I do have 1.2.9. |
12:03.30 | [g2] | the LED code is probably the same |
12:03.49 | [g2] | you'll want to pickup 1.2.11 when you want to run APEX |
12:04.59 | ep1220 | just looking at the ftp |
12:07.10 | ep1220 | 1.2.12 is the latest version there |
12:07.33 | [g2] | I'd go with 1.2.11 |
12:07.44 | [g2] | 1.2.12 probably has test code for jffs2 |
12:08.08 | [g2] | I haven't checked the readme but beewoolie was working on that last night |
12:08.23 | ep1220 | the server says: max users already logged in |
12:08.39 | ep1220 | let us see how far we get with 1.2.9 (?) |
12:08.48 | [g2] | next he'll be trying to load the kernel from within the jffs fs |
12:08.55 | [g2] | sure |
12:09.16 | [g2] | I'm looking at 1.2.11 I'm sure the ftp server will be free in a few minutes |
12:09.38 | ep1220 | I am in, downloading now |
12:10.42 | ep1220 | have 1.2.11 and 1.2.12 |
12:10.51 | ep1220 | we stick to 1.2.11 ? |
12:10.52 | [g2] | in 1.2.11 |
12:10.55 | [g2] | nod |
12:11.19 | ep1220 | i am rdy |
12:11.53 | [g2] | In src/mach-ixp42x/nslu2.h I think that where the LED macro is |
12:12.28 | ep1220 | see this |
12:13.58 | [g2] | #define GPIO_PHYS (0xc8004000) |
12:13.58 | [g2] | #define GPIO_OUTR __REG(GPIO_PHYS + 0x00) |
12:15.02 | [g2] | I haven't coded ARM assembler yet, but I've coded lost of other assembers |
12:16.47 | ep1220 | I think I have a starting point now. I'l grep for these consts and see how they are used. |
12:17.07 | ep1220 | In case i get stuck I check if You only here :-) |
12:17.50 | ep1220 | s/only/on-line/ |
12:18.42 | [g2] | ok... I'll be looking up the instructions or seeing if an ARM assember guru jacques mentioned is in #oe |
12:19.44 | [g2] | ep1220, sorry I didn't have this ready |
12:19.53 | ep1220 | nP |
12:22.52 | jacques | [g2], RP also knows arm assembler quite well I think |
12:29.39 | [g2] | jacques, THX |
12:30.05 | [g2] | I just whipped up the C function and I was going to dump the object |
12:31.15 | ep1220 | Coming out of reset: is the ixp420 little or big endian ? |
12:31.54 | [g2] | ep1220, It reads the pull ups/down on the extention bus |
12:32.05 | [g2] | iirc there's a bit in there |
12:32.14 | [g2] | In our case I think that's set for BE |
12:32.39 | [g2] | Ok I think I've got the machine code |
12:32.49 | [g2] | but I'd need to verify the instructions |
12:33.17 | ep1220 | You can look at the intermediary assembly file. |
12:33.55 | [g2] | nod.. I just need to change the compile options |
12:36.36 | ep1220 | i will be back in 20 minutes |
12:36.44 | [g2] | ok |
12:42.42 | *** join/#openjtag VoodooZ_Work (~VoodooZ@CPE00c0f021712c-CM014110003785.cpe.net.cable.rogers.com) |
12:57.37 | [g2] | here's the C code: |
12:57.40 | [g2] | void __section (.bootstrap) led_flash (void) { |
12:57.40 | [g2] | <PROTECTED> |
12:57.40 | [g2] | <PROTECTED> |
12:57.41 | [g2] | <PROTECTED> |
12:57.41 | [g2] | <PROTECTED> |
12:57.41 | [g2] | <PROTECTED> |
12:57.43 | [g2] | <PROTECTED> |
12:57.47 | [g2] | } |
12:58.17 | [g2] | The assembler looks like |
12:58.21 | [g2] | <PROTECTED> |
12:58.21 | [g2] | <PROTECTED> |
12:58.21 | [g2] | <PROTECTED> |
12:58.21 | [g2] | led_flash: |
12:58.21 | [g2] | .LFB3: |
12:58.22 | [g2] | <PROTECTED> |
12:58.24 | [g2] | <PROTECTED> |
12:58.26 | [g2] | <PROTECTED> |
12:58.28 | [g2] | <PROTECTED> |
12:58.30 | [g2] | .LBB2: |
12:58.32 | [g2] | <PROTECTED> |
12:58.34 | [g2] | <PROTECTED> |
12:58.36 | [g2] | .LBE2: |
12:58.38 | [g2] | <PROTECTED> |
12:58.40 | [g2] | <PROTECTED> |
12:58.42 | [g2] | .LBB3: |
12:58.44 | [g2] | <PROTECTED> |
12:58.48 | [g2] | <PROTECTED> |
12:58.50 | [g2] | <PROTECTED> |
12:58.52 | [g2] | <PROTECTED> |
12:58.54 | [g2] | <PROTECTED> |
12:58.56 | [g2] | .LBE3: |
12:58.58 | [g2] | where L7 is |
12:59.00 | [g2] | <PROTECTED> |
12:59.02 | [g2] | .L7: |
12:59.04 | [g2] | <PROTECTED> |
12:59.12 | [g2] | or |
12:59.19 | [g2] | 0xC8004000 |
12:59.53 | [g2] | there are some other LED changes and then |
13:00.10 | [g2] | .LBB7: |
13:00.10 | [g2] | <PROTECTED> |
13:00.10 | [g2] | <PROTECTED> |
13:00.11 | [g2] | <PROTECTED> |
13:00.11 | [g2] | <PROTECTED> |
13:00.11 | [g2] | <PROTECTED> |
13:00.13 | [g2] | .L5: |
13:00.15 | [g2] | .LBE7: |
13:00.19 | [g2] | <PROTECTED> |
13:00.21 | [g2] | <PROTECTED> |
13:00.25 | [g2] | The "classic" loop forever :) |
13:02.05 | ep1220 | just back. |
13:02.05 | ep1220 | Thx. |
13:02.24 | [g2] | I think the ldr should be changed to an immediate load |
13:02.30 | ep1220 | I beleive this code does not setup in/out directions of the GPIO pins (?) |
13:03.23 | [g2] | It may not, or it may be implicit in the register by the value that's getting written |
13:03.36 | [g2] | I haven't looked closely enough yet |
13:03.52 | ep1220 | ixp has a separate reg for the direction. |
13:04.47 | ep1220 | but i believe i can sort this out myself. |
13:04.59 | ep1220 | do not want to distract You from regular work |
13:05.31 | [g2] | I'm trying to make this my "regular work" :) |
13:06.14 | ep1220 | good idea :-) |
13:06.46 | [g2] | after I make it my "regular work" I'll try and do the same for others |
13:07.44 | [g2] | I'm very close to havin a development kit all ready |
13:12.53 | [g2] | GPIO_ER &= ~0xf; /* Enable LEDs as outputs */ |
13:13.31 | [g2] | ixp42x.h:#define GPIO_ER __REG(GPIO_PHYS + 0x04) |
13:15.28 | ep1220 | now only missing the inital value of GPIO_ER |
13:15.45 | ep1220 | or i make all other pins inputs (?) |
13:15.52 | [g2] | &= just and it with 0xf |
13:16.41 | ep1220 | i know, but the line does not tell me the value of the other bits. |
13:17.18 | [g2] | that's ~0xf |
13:17.31 | [g2] | so it's FFFFFFF0 |
13:18.12 | ep1220 | IMO: this clears the 4 LSBs and leaves the others unchanged. |
13:18.22 | [g2] | right |
13:18.32 | ep1220 | so must haev been inited before. |
13:18.57 | [g2] | or the default value is output for our LEDs from the processor reset |
13:20.07 | ep1220 | resetvalue of GPOER is 0x7FFF - all 15 are input |
13:20.39 | [g2] | and we are clearing the bottom 4 right ? |
13:20.53 | [g2] | GPIO 0 through 3 right |
13:21.02 | ep1220 | right, GPIO15 is an output (driving a clock) |
13:21.19 | [g2] | well not yet :) |
13:21.39 | ep1220 | It is an output rigth after reset |
13:22.24 | ep1220 | http://www.nslu2-linux.org/wiki/Info/GPIOConnections tells all we need to know |
13:23.24 | [g2] | nod. |
13:23.41 | [g2] | I was looking in the kernel patches, but that tells the same story |
13:23.42 | [g2] | :) |
13:23.59 | ep1220 | GPIO8 is interesting. |
13:24.07 | [g2] | that's the power off |
13:24.16 | ep1220 | so better set to 0 .. |
13:24.44 | ep1220 | else the test will not run long :-) |
13:26.03 | ep1220 | good: GPOUTR is 0 at reset |
13:26.28 | [g2] | for the slug BitBanger we could grap GPIOs 0-4 it seems |
13:29.55 | ep1220 | sorry, another IRQ; back in approx. 30 min |
13:30.48 | [g2] | np |
14:11.38 | ep1220 | g2: ping |
14:14.01 | *** join/#openjtag JMunakra (~JMunakra@dsl-084-059-199-246.arcor-ip.net) |
14:15.34 | *** join/#openjtag rwhitby-away (~rwhitby@rwhitby.nslu2-linux) |
14:22.13 | [g2] | ep1220, pong |
14:26.02 | *** join/#openjtag prpplague (~billybob@72.22.142.204) |
14:26.31 | ep1220 | any progress ? |
14:26.59 | [g2] | on the code ? |
14:27.06 | ep1220 | yes. |
14:27.22 | ep1220 | I wrote something, but have no ARM5Te/THUMB asm installed yet |
14:27.46 | [g2] | Ah... |
14:28.26 | ep1220 | Do You know were I can download a precompiled gas ? |
14:28.42 | JMunakra | it's included with gcc |
14:29.01 | [g2] | ep1220, is it just one or two files ? |
14:29.27 | ep1220 | 1 |
14:29.46 | [g2] | can you post it or e-mail it to me ? |
14:31.48 | [g2] | I've got the cross-tool armv5 built and can just assemble it |
15:18.01 | [g2] | ep1220, I'll send an e-mail to beewoolie to double check that output |
15:18.23 | [g2] | I'll also probably try loading via redboot |
15:18.29 | [g2] | and executing it |
15:40.53 | [g2]-away | off to lunch |
17:15.19 | *** join/#openjtag Jacmet (~jacmet@50C59F0E.flatrate.dk) |
18:00.23 | *** join/#openjtag prpplague (~billybob@72.22.142.204) |
18:25.58 | prpplague | ~seen beewoolie |
18:25.59 | purl | beewoolie <~beewoolie@florence.buici.com> was last seen on IRC in channel #openjtag, 4d 1h 41m 55s ago, saying: 'jacques: ping.'. |
18:26.24 | prpplague | add |
18:26.25 | prpplague | odd |
18:26.32 | prpplague | beewoolie was here yesterday |
18:43.49 | dyoung | ~seen beewoolie-afk |
18:43.49 | purl | beewoolie-afk <~beewoolie@florence.buici.com> was last seen on IRC in channel #openjtag, 14d 26m 46s ago, saying: 'prpplague: hey man'. |
18:43.53 | dyoung | ~seen beewoolie-away |
18:43.54 | purl | beewoolie-away <~beewoolie@florence.buici.com> was last seen on IRC in channel #openjtag, 42d 13h 6m 12s ago, saying: 'ka6sox-away: what you guys got cookin?'. |
20:04.26 | [g2]-away | ep1220, I ran the program from Redboot |
20:04.35 | ep1220 | and ? |
20:04.39 | [g2]-away | it didn't have the proper response |
20:04.58 | ep1220 | it also did not work in the cache :-( |
20:04.59 | [g2]-away | I seems to run, but the all the LEDS go off |
20:05.36 | [g2]-away | then we are in a hard loop |
20:06.03 | [g2]-away | did the LEDs go off for you also ? |
20:06.25 | ep1220 | Yes , but they also go off when I just assert reset |
20:06.42 | [g2]-away | ahh... |
20:06.51 | [g2]-away | we need to get them to come back on :) |
20:07.02 | ep1220 | yea |
20:07.56 | ep1220 | I just see: GPIO2 and 3 should be set to 0 for LEDs on !! |
20:08.17 | ep1220 | GPIO0 and 1 are 1 for LED on |
20:09.02 | [g2]-away | So are mov could be a 0x0003 instead of 0x00c0 ? |
20:09.10 | [g2]-away | s/could/should |
20:09.36 | ep1220 | this should turn on all 4 LEDs |
20:10.42 | [g2]-away | make that 0x1F03 |
20:11.32 | ep1220 | 1F sets GPIO8 to 1 -> means power off |
20:11.37 | [g2]-away | no I take that back |
20:12.16 | [g2]-away | it should be 0x1E0F and 0x0003 |
20:12.19 | [g2]-away | correct ? |
20:12.59 | *** join/#openjtag prpplague^2 (~billybob@72.22.136.163) |
20:13.21 | ep1220 | looks better; do we have to set the inputs to 1 ? I think just 0x3 should suffice. |
20:26.10 | [g2]-away | ep1220, I'll have to look at it some more tonight |
20:26.27 | ep1220 | OK. |
20:26.33 | [g2]-away | I'll be doing that later (5-6 hours from now) |
20:26.47 | [g2]-away | I'll send you an email with status |
20:26.55 | [g2]-away | after I finish |
20:26.56 | [g2]-away | Ok ? |
20:27.08 | ep1220 | Very good. maybe also verify if the CPU starts at bigEndian. |
20:27.19 | [g2]-away | :) |
20:28.00 | ep1220 | I saw in APEX entry.c a Switch to Big Endian (conditionally). Maybe we some instructions .. |
22:16.36 | *** join/#openjtag [g2] (~g2@g2.nslu2-linux) |