|
Rockbox mail archiveSubject: Re: Sansa radio driver (AS5314 helpRe: Sansa radio driver (AS5314 help
From: Antonius Hellmann <antonius.hellmann_at_gmx.de>
Date: Wed, 16 May 2007 08:15:15 +0200 Yes, that is correct. The complete register accesses look as follows: 69a7b08 000b9418 CPU GPI_F_VAL 6000d0b4 R4-0000003b <<<< right click detection (into radio menu) 69ddd55 0000e8f4 CPU ???????? 70000020 R4-40000000 <<<< reading DEV_INIT 69ddd57 0000e8fc CPU ???????? 70000020 W4-40000000 <<<< bic bit 11 of DEV_INIT .... as posted before ..... If it is of interest to you, I can dump the sansa radio commands in a more readable way. But be aware, that the radio responses are synthetic in the emulator. ----- Original Message ----- From: "Ivan Zupan" <zivan56_at_iwdstudio.com> To: "Rockbox development" <rockbox-dev_at_cool.haxx.se> Sent: Wednesday, May 16, 2007 2:38 AM Subject: Re: Sansa radio driver (AS5314 help >I have tried those, but they are pretty much what Mr.H described. >Interestingly enough, he mentioned clearing bit 11 at 0x70000020 (no effect >on the radio whatsoever by the way). This address appears to be DEV_INIT. >Since all the hardware uses DEV_EN/DEV_INIT/DEV_RS, maybe the radio is not >enabled at all? Do you see any references to the above right before GPIOH >is used? It may be used to unmute the line1 in via some hardware switch... > > Antonius Hellmann wrote: >> I ran the sansa emulator into the radio menu. This is the result: >> Directly after entering the radio menu the sansa emulator does a lot of >> accesses to the GPIO-H registers. >> Probably this can give a hint, how to configure the output? But it may be >> only relevant for detecting the radio hardware. >> R1=read one byte, W1=write one byte >> >> 711186e 0000e90c CPU GPO_H_VAL 6000d0ac R1-00000000 >> 7111870 0000e914 CPU GPO_H_VAL 6000d0ac W1-00000010 >> 7111872 0000e91c CPU GPO_H_ENB 6000d09c R1-0000001e >> 7111874 0000e924 CPU GPO_H_ENB 6000d09c W1-0000001e >> 7111876 0000e92c CPU GP_H_ENB 6000d08c R1-000000de >> 7111878 0000e934 CPU GP_H_ENB 6000d08c W1-000000de >> 7111879 0000e938 CPU GPO_H_ENB 6000d09c R1-0000001e >> 711187b 0000e940 CPU GPO_H_ENB 6000d09c W1-0000001e >> 711187c 0000e944 CPU GP_H_ENB 6000d08c R1-000000de >> 711187e 0000e94c CPU GP_H_ENB 6000d08c W1-000000fe >> 711187f 0000e950 CPU GPO_H_VAL 6000d0ac R1-00000010 >> 7111881 0000e958 CPU GPO_H_VAL 6000d0ac W1-00000010 >> 7111882 0000e95c CPU GPO_H_ENB 6000d09c R1-0000001e >> 7111884 0000e964 CPU GPO_H_ENB 6000d09c W1-0000001e >> 7111885 0000e968 CPU GP_H_ENB 6000d08c R1-000000fe >> 7111887 0000e970 CPU GP_H_ENB 6000d08c W1-000000fe >> 71119a9 0000ea60 CPU GPO_H_VAL 6000d0ac R1-00000010 >> 71119ac 0000ea6c CPU GPO_H_VAL 6000d0ac W1-00000018 >> 71119ae 0000ea74 CPU GPO_H_ENB 6000d09c R1-0000001e >> 71119b0 0000ea7c CPU GPO_H_ENB 6000d09c W1-0000003e >> >> repeating >> 71119c7 0000ea04 CPU GPO_H_VAL 6000d0ac R1-00000018 >> 71119c9 0000ea0c CPU GPO_H_VAL 6000d0ac W1-00000008 >> 71119ca 0000ea10 CPU GPO_H_VAL 6000d0ac R1-00000008 >> 71119ce 0000ea20 CPU GPO_H_VAL 6000d0ac W1-00000028 >> 71119df 0000ea2c CPU GPO_H_VAL 6000d0ac R1-00000028 >> 71119e1 0000ea34 CPU GPO_H_VAL 6000d0ac W1-00000038 >> >> ----- Original Message ----- From: "Ivan Zupan" <zivan56_at_iwdstudio.com> >> To: "Rockbox development" <rockbox-dev_at_cool.haxx.se> >> Sent: Tuesday, May 15, 2007 6:57 AM >> Subject: Re: Sansa radio driver (AS5314 help >> >> >>> > >>>> You could try Toni's emulator, maybe this gives some hint's about GPIO >>>> ports or memory addresses, but i don't know how much the emulator works >>>> with the radio part of the OF. >>>> >>>> http://www.rockbox.org/tracker/task/6524 >>> >>> Maybe someone with a better understanding of it can look over that part? >>> I could not even get it past the bootloader... >>> In terms of progress, all that works so far is detecting if the station >>> is mono/stereo, getting the chip id, and station signal strength. I >>> have also made it generate an interrupt for what it's worth. However, >>> there are some things which need to be figured out, such as the >>> algorithm for tuning. It involves calculations from 3 registers, >>> FM_OSC, IF_OSC and FM_CAP and a bunch of math intensive operations. It >>> also requires you to measure with an internal counter and write the >>> result to another register. Interestingly enough, they ask that a >>> register be set to 65% of the value of another, but there is no >>> reference to floating point or rounding?! >> Received on 2007-05-16 Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy |