1
0
mirror of git://projects.qi-hardware.com/xburst-tools.git synced 2024-11-22 18:54:39 +02:00

add-gta02-400MHz.patch

Add the i2c stuff to set GTA02 PMU to 1.3V core voltage, and push the
cpu into 400MHz.


Signed-off-by: Andy Green <andy@openmoko.com>
This commit is contained in:
Andy Green 2008-11-28 10:16:36 +00:00 committed by Andy Green
parent 65087a264e
commit 666089cd0a

View File

@ -25,6 +25,9 @@
#include <qi.h>
#include <neo_gta02.h>
#include <i2c-bitbang-s3c24xx.h>
#define PCF50633_I2C_ADS 0x73
static const struct board_variant board_variants[] = {
[0] = {
@ -40,6 +43,9 @@ static const struct board_variant board_variants[] = {
void port_init_gta02(void)
{
unsigned int * MPLLCON = (unsigned int *)0x4c000004;
unsigned int * UPLLCON = (unsigned int *)0x4c000008;
unsigned int * CLKDIVN = (unsigned int *)0x4c000014;
//CAUTION:Follow the configuration order for setting the ports.
// 1) setting value(GPnDAT)
@ -151,7 +157,34 @@ void port_init_gta02(void)
rGPJDAT |= (1 << 5); /* Set GPJ5 to high 3D RST */
serial_init(UART2, 0x11);
/*
* We have to talk to the PMU a little bit
*/
/* push DOWN1 (CPU Core rail) to 1.3V, allowing 400MHz */
i2c_write_sync(&bb_s3c24xx, PCF50633_I2C_ADS, 0x1e, 0x1b);
/* change CPU clocking to 400MHz 1:4:8 */
/* clock divide 1:4:8 - do it first */
*CLKDIVN = 5;
/* configure UPLL */
*UPLLCON = ((88 << 12) + (4 << 4) + 2);
/* Magic delay: Page 7-19, seven nops between UPLL and MPLL */
asm __volatile__ (
"nop\n"\
"nop\n"\
"nop\n"\
"nop\n"\
"nop\n"\
"nop\n"\
"nop\n"\
);
/* configure MPLL */
*MPLLCON = ((42 << 12) + (1 << 4) + 0);
serial_init(UART2, (((54 * 50) + 50) / 100) -1);
}
/**
@ -254,7 +287,7 @@ const struct board_api board_api_gta02 = {
"rootfstype=jffs2 " \
"root=/dev/mtdblock6 " \
"console=ttySAC2,115200 " \
"loglevel=4 " \
"loglevel=8 " \
"init=/sbin/init "\
"ro"
},