/* * Rev history: * 2017.04.06 structure done * 2017.04.20 function in pll.c done * 2017.04.26 uboot cmd done * 2017.07.25 update for txl * * Author: xiaobo.gu@amlogic.com */ /* README */ /* Part1: S905X usage 1. sys pll test pass print: sys pll test pass! test fail print: sys pll test failed! uboot command(select one as needed): 960MHz: plltest sys 0x60000228 0xc4258100 0xb7400000 0x0a59a288 0x0040002d 0x7c700007 1056MHz: plltest sys 0x6000022c 0xc4258100 0xb7400000 0x0a59a288 0x0040002d 0x7c700007 1152MHz: plltest sys 0x60000230 0xc4258100 0xb7400000 0x0a59a288 0x0040002d 0x7c700007 1248MHz: plltest sys 0x60000234 0xc4258100 0xb7400000 0x0a59a288 0x0040002d 0x7c700007 1344MHz: plltest sys 0x60000238 0xc4258100 0xb7400000 0x0a59a288 0x0040002d 0x7c700007 1440MHz: plltest sys 0x6000023c 0xc4258100 0xb7400000 0x0a59a288 0x0040002d 0x7c700007 1536MHz: plltest sys 0x60000240 0xc4258100 0xb7400000 0x0a59a288 0x0040002d 0x7c700007 1632MHz: plltest sys 0x60000244 0xc4258100 0xb7400000 0x0a59a288 0x0040002d 0x7c700007 all: plltest sys 2. hdmi pll test pass print: hdmi pll test pass! test fail print: hdmi pll test failed! uboot command: 5940MHz: plltest hdmi 0x4000027b 0x800cb300 0xc65f30e0 0x0c8e0000 0x001fa729 0x01a31500 5405MHz: plltest hdmi 0x400002e1 0x800cb0e6 0x865f30c4 0x0c8e0000 0x001fa729 0x01a31500 4455MHz: plltest hdmi 0x400002b9 0x800cb280 0x865f30c4 0x0c8e0000 0x001fa729 0x01a31500 4324MHz: plltest hdmi 0x400002b4 0x800cb0b8 0x865f30c4 0x0c8e0000 0x001fa729 0x01a31500 3712MHz: plltest hdmi 0x4000029a 0x800cb2c0 0x865f30c4 0x0c8e0000 0x001fa729 0x01a31500 3450MHz: plltest hdmi 0x4000028f 0x800cb300 0x865f30c4 0x0c8e0000 0x001fa729 0x01a31500 3243MHz: plltest hdmi 0x40000287 0x800cb08a 0x865f30c4 0x0c8e0000 0x001fa729 0x01a31500 2970MHz: plltest hdmi 0x4000027b 0x800cb300 0x865f30c4 0x0c8e0000 0x001fa729 0x01a31500 all: plltest hdmi 3. gp0 pll test pass print: gp0 pll test pass! test fail print: gp0 pll test failed! uboot command: 504MHz: plltest gp0 0xc001022a 0xc084a000 0xb75020be 0x0a59a288 0xc000004d 0x00078000 516MHz: plltest gp0 0xc001022b 0xc084a000 0xb75020be 0x0a59a288 0xc000004d 0x00078000 528MHz: plltest gp0 0xc001022c 0xc084a000 0xb75020be 0x0a59a288 0xc000004d 0x00078000 540MHz: plltest gp0 0xc001022d 0xc084a000 0xb75020be 0x0a59a288 0xc000004d 0x00078000 552MHz: plltest gp0 0xc001022e 0xc084a000 0xb75020be 0x0a59a288 0xc000004d 0x00078000 564MHz: plltest gp0 0xc001022f 0xc084a000 0xb75020be 0x0a59a288 0xc000004d 0x00078000 576MHz: plltest gp0 0xc0010230 0xc084a000 0xb75020be 0x0a59a288 0xc000004d 0x00078000 588MHz: plltest gp0 0xc0010231 0xc084a000 0xb75020be 0x0a59a288 0xc000004d 0x00078000 600MHz: plltest gp0 0xc0010232 0xc084a000 0xb75020be 0x0a59a288 0xc000004d 0x00078000 612MHz: plltest gp0 0xc0010233 0xc084a000 0xb75020be 0x0a59a288 0xc000004d 0x00078000 624MHz: plltest gp0 0xc0010234 0xc084a000 0xb75020be 0x0a59a288 0xc000004d 0x00078000 636MHz: plltest gp0 0xc0010235 0xc084a000 0xb75020be 0x0a59a288 0xc000004d 0x00078000 648MHz: plltest gp0 0xc0010236 0xc084a000 0xb75020be 0x0a59a288 0xc000004d 0x00078000 660MHz: plltest gp0 0xc0010237 0xc084a000 0xb75020be 0x0a59a288 0xc000004d 0x00078000 672MHz: plltest gp0 0xc0010238 0xc084a000 0xb75020be 0x0a59a288 0xc000004d 0x00078000 684MHz: plltest gp0 0xc0010239 0xc084a000 0xb75020be 0x0a59a288 0xc000004d 0x00078000 696MHz: plltest gp0 0xc001023a 0xc084a000 0xb75020be 0x0a59a288 0xc000004d 0x00078000 708MHz: plltest gp0 0xc001023b 0xc084a000 0xb75020be 0x0a59a288 0xc000004d 0x00078000 720MHz: plltest gp0 0xc001023c 0xc084a000 0xb75020be 0x0a59a288 0xc000004d 0x00078000 732MHz: plltest gp0 0xc001023d 0xc084a000 0xb75020be 0x0a59a288 0xc000004d 0x00078000 744MHz: plltest gp0 0xc001023e 0xc084a000 0xb75020be 0x0a59a288 0xc000004d 0x00078000 756MHz: plltest gp0 0xc001023f 0xc084a000 0xb75020be 0x0a59a288 0xc000004d 0x00078000 768MHz: plltest gp0 0xc0010240 0xc084a000 0xb75020be 0x0a59a288 0xc000004d 0x00078000 780MHz: plltest gp0 0xc0010241 0xc084a000 0xb75020be 0x0a59a288 0xc000004d 0x00078000 792MHz: plltest gp0 0xc0010242 0xc084a000 0xb75020be 0x0a59a288 0xc000004d 0x00078000 all: plltest gp0 Part2: T968 usage 1. sys pll test pass print: sys pll test pass! test fail print: sys pll test failed! uboot command: 1152MHz: plltest sys 0x60000230 0x5ac80000 0x8e452015 0x0401d40c 0x00000870 1248MHz: plltest sys 0x60000234 0x5ac80000 0x8e452015 0x0401d40c 0x00000870 1344MHz: plltest sys 0x60000238 0x5ac80000 0x8e452015 0x0401d40c 0x00000870 1440MHz: plltest sys 0x6000023c 0x5ac80000 0x8e452015 0x0401d40c 0x00000870 1536MHz: plltest sys 0x60000240 0x5ac80000 0x8e452015 0x0401d40c 0x00000870 1632MHz: plltest sys 0x60000244 0x5ac80000 0x8e452015 0x0401d40c 0x00000870 all: plltest sys 2. hdmi pll test pass print: hdmi pll test pass! test fail print: hdmi pll test failed! uboot command: 5940MHz: plltest hdmi 0x5800027b 0x000E4300 0x12dc5081 0x801da72c 0x71486980 0x00002e55 4320MHz: plltest hdmi 0x5800025a 0x000E0000 0x0d5c5091 0x801da72c 0x71486980 0x00002e55 3712MHz: plltest hdmi 0x5800024d 0x000E4160 0x0d5c5091 0x801da72c 0x71486980 0x00002e55 all: plltest hdmi 3. gp0 pll test pass print: gp0 pll test pass! test fail print: gp0 pll test failed! uboot command: 504MHz: plltest gp0 0xc001022a 0xb75020be 0x0a59a288 0xc000004d 0x00078000 516MHz: plltest gp0 0xc001022b 0xb75020be 0x0a59a288 0xc000004d 0x00078000 528MHz: plltest gp0 0xc001022c 0xb75020be 0x0a59a288 0xc000004d 0x00078000 540MHz: plltest gp0 0xc001022d 0xb75020be 0x0a59a288 0xc000004d 0x00078000 552MHz: plltest gp0 0xc001022e 0xb75020be 0x0a59a288 0xc000004d 0x00078000 564MHz: plltest gp0 0xc001022f 0xb75020be 0x0a59a288 0xc000004d 0x00078000 576MHz: plltest gp0 0xc0010230 0xb75020be 0x0a59a288 0xc000004d 0x00078000 588MHz: plltest gp0 0xc0010231 0xb75020be 0x0a59a288 0xc000004d 0x00078000 600MHz: plltest gp0 0xc0010232 0xb75020be 0x0a59a288 0xc000004d 0x00078000 612MHz: plltest gp0 0xc0010233 0xb75020be 0x0a59a288 0xc000004d 0x00078000 624MHz: plltest gp0 0xc0010234 0xb75020be 0x0a59a288 0xc000004d 0x00078000 636MHz: plltest gp0 0xc0010235 0xb75020be 0x0a59a288 0xc000004d 0x00078000 648MHz: plltest gp0 0xc0010236 0xb75020be 0x0a59a288 0xc000004d 0x00078000 660MHz: plltest gp0 0xc0010237 0xb75020be 0x0a59a288 0xc000004d 0x00078000 672MHz: plltest gp0 0xc0010238 0xb75020be 0x0a59a288 0xc000004d 0x00078000 684MHz: plltest gp0 0xc0010239 0xb75020be 0x0a59a288 0xc000004d 0x00078000 696MHz: plltest gp0 0xc001023a 0xb75020be 0x0a59a288 0xc000004d 0x00078000 708MHz: plltest gp0 0xc001023b 0xb75020be 0x0a59a288 0xc000004d 0x00078000 720MHz: plltest gp0 0xc001023c 0xb75020be 0x0a59a288 0xc000004d 0x00078000 732MHz: plltest gp0 0xc001023d 0xb75020be 0x0a59a288 0xc000004d 0x00078000 all: plltest gp0 Part3: T962 usage 1. sys pll test pass print: sys pll test pass! test fail print: sys pll test failed! uboot command(select one as needed): 960MHz: plltest sys 0x60000228 0xc4258100 0xb7400000 0x0a59a288 0x0040002d 0x7c700007 1056MHz: plltest sys 0x6000022c 0xc4258100 0xb7400000 0x0a59a288 0x0040002d 0x7c700007 1152MHz: plltest sys 0x60000230 0xc4258100 0xb7400000 0x0a59a288 0x0040002d 0x7c700007 1248MHz: plltest sys 0x60000234 0xc4258100 0xb7400000 0x0a59a288 0x0040002d 0x7c700007 1344MHz: plltest sys 0x60000238 0xc4258100 0xb7400000 0x0a59a288 0x0040002d 0x7c700007 1440MHz: plltest sys 0x6000023c 0xc4258100 0xb7400000 0x0a59a288 0x0040002d 0x7c700007 1536MHz: plltest sys 0x60000240 0xc4258100 0xb7400000 0x0a59a288 0x0040002d 0x7c700007 1632MHz: plltest sys 0x60000244 0xc4258100 0xb7400000 0x0a59a288 0x0040002d 0x7c700007 all: plltest sys 2. hdmi pll test pass print: hdmi pll test pass! test fail print: hdmi pll test failed! uboot command: 5940MHz: plltest hdmi 0x400002f7 0x800cb200 0x865f30c4 0x0c8e0000 0x001fa729 0x01a31500 4320MHz: plltest hdmi 0x400002b4 0x800cb000 0x865f30c4 0x0c8e0000 0x001fa729 0x01a31500 3712MHz: plltest hdmi 0x4000029a 0x800cb2c0 0x865f30c4 0x0c8e0000 0x001fa729 0x01a31500 3712MHz: plltest hdmi 0x4000027b 0x800cb300 0x865f30c4 0x0c8e0000 0x001fa729 0x01a31500 all: plltest hdmi 3. gp0 pll test pass print: gp0 pll test pass! test fail print: gp0 pll test failed! uboot command: 504MHz: plltest gp0 0xc001022a 0xb75020be 0x0a59a288 0xc000004d 0x00078000 516MHz: plltest gp0 0xc001022b 0xb75020be 0x0a59a288 0xc000004d 0x00078000 528MHz: plltest gp0 0xc001022c 0xb75020be 0x0a59a288 0xc000004d 0x00078000 540MHz: plltest gp0 0xc001022d 0xb75020be 0x0a59a288 0xc000004d 0x00078000 552MHz: plltest gp0 0xc001022e 0xb75020be 0x0a59a288 0xc000004d 0x00078000 564MHz: plltest gp0 0xc001022f 0xb75020be 0x0a59a288 0xc000004d 0x00078000 576MHz: plltest gp0 0xc0010230 0xb75020be 0x0a59a288 0xc000004d 0x00078000 588MHz: plltest gp0 0xc0010231 0xb75020be 0x0a59a288 0xc000004d 0x00078000 600MHz: plltest gp0 0xc0010232 0xb75020be 0x0a59a288 0xc000004d 0x00078000 612MHz: plltest gp0 0xc0010233 0xb75020be 0x0a59a288 0xc000004d 0x00078000 624MHz: plltest gp0 0xc0010234 0xb75020be 0x0a59a288 0xc000004d 0x00078000 636MHz: plltest gp0 0xc0010235 0xb75020be 0x0a59a288 0xc000004d 0x00078000 648MHz: plltest gp0 0xc0010236 0xb75020be 0x0a59a288 0xc000004d 0x00078000 660MHz: plltest gp0 0xc0010237 0xb75020be 0x0a59a288 0xc000004d 0x00078000 672MHz: plltest gp0 0xc0010238 0xb75020be 0x0a59a288 0xc000004d 0x00078000 684MHz: plltest gp0 0xc0010239 0xb75020be 0x0a59a288 0xc000004d 0x00078000 696MHz: plltest gp0 0xc001023a 0xb75020be 0x0a59a288 0xc000004d 0x00078000 708MHz: plltest gp0 0xc001023b 0xb75020be 0x0a59a288 0xc000004d 0x00078000 720MHz: plltest gp0 0xc001023c 0xb75020be 0x0a59a288 0xc000004d 0x00078000 732MHz: plltest gp0 0xc001023d 0xb75020be 0x0a59a288 0xc000004d 0x00078000 all: plltest gp0 T962: please check Part3 Part4: G12A usage 1. sys pll test pass print: sys pll test pass! test fail print: sys pll test failed! uboot command(select one as needed): 960MHz: plltest sys 0x380204a0 0x0 0x0 0x48681c00 0x88770290 0x39272000 0x56540000 1056MHz: plltest sys 0x380204b0 0x0 0x0 0x48681c00 0x88770290 0x39272000 0x56540000 1152MHz: plltest sys 0x380204c0 0x0 0x0 0x48681c00 0x88770290 0x39272000 0x56540000 1248MHz: plltest sys 0x380204d0 0x0 0x0 0x48681c00 0x88770290 0x39272000 0x56540000 1344MHz: plltest sys 0x380204e0 0x0 0x0 0x48681c00 0x88770290 0x39272000 0x56540000 1440MHz: plltest sys 0x380204f0 0x0 0x0 0x48681c00 0x88770290 0x39272000 0x56540000 1536MHz: plltest sys 0x38010480 0x0 0x0 0x48681c00 0x88770290 0x39272000 0x56540000 1632MHz: plltest sys 0x38010488 0x0 0x0 0x48681c00 0x88770290 0x39272000 0x56540000 all: plltest sys 2. hdmi pll test pass print: hdmi pll test pass! test fail print: hdmi pll test failed! uboot command: 5405MHz: plltest hdmi 0x3b0004e1 0x00007333 0x00000000 0x0a691c00 0x33771290 0x39270000 0x50540000 4455MHz: plltest hdmi 0x3b0004b9 0x00014000 0x00000000 0x0a691c00 0x33771290 0x39270000 0x50540000 3450MHz: plltest hdmi 0x3b00048f 0x00018000 0x00000000 0x0a691c00 0x33771290 0x39270000 0x50540000 2970MHz: plltest hdmi 0x3b00047b 0x00018000 0x00000000 0x0a691c00 0x33771290 0x39270000 0x50540000 all: plltest hdmi 3. gp0 pll test pass print: gp0 pll test pass! test fail print: gp0 pll test failed! uboot command: 408MHz: plltest gp0 0x38070488 0 0 0x48681c00 0x33771290 0x39272000 0x56540000 600MHz: plltest gp0 0x380704c8 0 0 0x48681c00 0x33771290 0x39272000 0x56540000 696MHz: plltest gp0 0x380704e8 0 0 0x48681c00 0x33771290 0x39272000 0x56540000 792MHz: plltest gp0 0x38060484 0 0 0x48681c00 0x33771290 0x39272000 0x56540000 846MHz: plltest gp0 0x3806048d 0 0 0x48681c00 0x33771290 0x39272000 0x56540000 912MHz: plltest gp0 0x38060498 0 0 0x48681c00 0x33771290 0x39272000 0x56540000 all: plltest gp0 */ #include #include #include #include #include #include #include #include static int do_plltest(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { if (argc < 2) { return -1; } pll_test(argc, argv); return 0; } U_BOOT_CMD( plltest, CONFIG_SYS_MAXARGS, 1, do_plltest, "test pll", "\n" " - test pll and report result\n\n" "plltest [all/sys/hdmi/gp0] [pll_cntl pll_cntl2 ...]\n\n" "examples:\n" "plltest all - test all plls\n" "plltest sys - test sys pll with all preset freq\n" "plltest sys cntl cntl1 cntl2 ... - test sys pll with params\n" "plltest hdmi - test hdmi pll with all preset freq\n" "plltest hdmi cntl cntl1 cntl2 ... - test hdmi pll with params\n" "plltest gp0 - test gp0 pll with all preset freq\n" "plltest gp0 cntl cntl1 cntl2 ... - test gp0 pll with params\n" );