Fitipower: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
(Initial Fitipower specs)
(No difference)

Revision as of 16:31, 4 December 2009

Tuner used together with AF9035.

Specifications

Don't trust this blindly.

Tuner general info

I2C address is 0xC0. There are 18 tuner registers indexed from 0.

Index Name
1 FA
2 FP
3,4 XIN
5 VCO
6 VCO_SELECT
14 VCO_CALIBRATE

Init/Reset

Enable tuner:

  • write 1 to GPIO 0xD8EB
  • write 1 to GPIO 0xD8EC
  • write 1 to GPIO 0xD8ED

Enable led:

  • write 1 to GPIO 0xD8D1
  • write 1 to GPIO 0xD8D0

UnInit

Disable led:

  • write 0 to GPIO 0xD8D1
  • write 0 to GPIO 0xD8D0

Tune

Tuning is based on 2 parameters:

  • bandwidth in Hz, can be 6000,7000 or 8000
  • frequency in Hz, can be the regular DVB-T frequency's

Init tuning

  • write 0x0F to tuner register 7
  • write 0x3E to tuner register 8
  • write 0xB8 to tuner register 10
  • write 0x80 to tuner register 11
  • write 0x04 to tuner register 13

Generate the frequency of VCO and the VCO divider

fvco is a parameter

if frequency < 54000

  • set fvco to frequency * 64
  • set tuner registry 5 to 0x82

if 54000 =< frequency < 108000

  • set fvco to frequency * 32
  • set tuner registry 5 to 0x42

if 108000=< frequency < 216000

  • set fvco to frequency * 16
  • set tuner registry 5 to 0x22

if 216000=< frequency < 432000

  • set fvco to frequency * 8
  • set tuner registry 5 to 0x12

if frequency > 432000

  • set fvco to frequency * 4
  • set tuner registry 5 to 0x0A

Calculate XIN

TBD

Calculate FP and FA

TBD

Select bandwidth

if bandwidth = 8000

  • set tuner registry 6 to 0x0

if bandwidth = 7000

  • set tuner registry 6 to 0x40

if bandwidth = 6000

  • set tuner registry 6 to 0x80

Fix for low frequency's

if frequency < 45000

  • set tuner registry 1 to 0x06
  • set tuner registry 2 to 0x11

Fix clock out

  • set tuner registry 6 to the result of a bitwise OR between tuner registry 6 and 0x20

Write frequency parameters

  • write tuner registry 0-6