1.1.6移植笔记(初级篇)(2)

#endif

#if 0 #define FCLK_SPEED 1 #if FCLK_SPEED==0 /* Fout = 203MHz, Fin = 12MHz for Audio */ #define M_MDIV 0xC3 #define M_PDIV 0x4 #define M_SDIV 0x1 #elif FCLK_SPEED==1 /* Fout = 202.8MHz */ #define M_MDIV 0xA1 #define M_PDIV 0x3 #define M_SDIV 0x1 #endif #define USB_CLOCK 1 #if USB_CLOCK==0 #define U_M_MDIV 0xA1 #define U_M_PDIV 0x3 #define U_M_SDIV 0x1 #elif USB_CLOCK==1 #define U_M_MDIV 0x48 #define U_M_PDIV 0x3 #define U_M_SDIV 0x2 #endif #endif

然后修改board_init函数

int board_init (void

    S3C24X0_CLOCK_POWER * const clk_power = S3C24X0_GetBase_CLOCK_POWER(); 

    S3C24X0_GPIO * const gpio = S3C24X0_GetBase_GPIO(); 

     

    clk_power->CLKDIVN = 0x05; /* 1 : 4 : 8 */ 

     

    __asm__(    "mrc    p15,0,r1,c1,c0,0\n" 

                "orr    r1,r1,#0xc0000000\n" 

                "mcr    p15,0,r1,c1,c0,0\n" 

                :::"r1" 

                );//异步总线 

     

    /* to reduce PLL lock time, adjust the LOCKTIME register */ 

    clk_power->LOCKTIME = 0xFFFFFF; 

 

    /* configure MPLL */ 

    clk_power->MPLLCON = ((0x5c << 12) + (0x01 << 4) + 0x01); //400MHz 

 

    /* some delay between MPLL and UPLL */ 

    delay (4000); 

 

    /* configure UPLL */ 

    clk_power->UPLLCON = ((0x38 << 12) + (0x02 << 4) + 0x02); //48MHz 

 

    /* some delay between MPLL and UPLL */ 

    delay (8000); 

 

    /* set up the I/O ports */ 

    gpio->GPACON = 0x007FFFFF; 

    gpio->GPBCON = 0x00044555; 

    gpio->GPBUP = 0x000007FF; 

    gpio->GPCCON = 0xAAAAAAAA; 

    gpio->GPCUP = 0x0000FFFF; 

    gpio->GPDCON = 0xAAAAAAAA; 

    gpio->GPDUP = 0x0000FFFF; 

    gpio->GPECON = 0xAAAAAAAA; 

    gpio->GPEUP = 0x0000FFFF; 

    gpio->GPFCON = 0x000055AA; 

    gpio->GPFUP = 0x000000FF; 

    gpio->GPGCON = 0xFF95FFBA; 

    gpio->GPGUP = 0x0000FFFF; 

    gpio->GPHCON = 0x002AFAAA; 

    gpio->GPHUP = 0x000007FF; 

 

    /* arch number of SMDK2410-Board */ 

    gd->bd->bi_arch_number = MACH_TYPE_SMDK2410; 

 

    /* adress of boot parameters */ 

    gd->bd->bi_boot_params = 0x30000100; 

 

    icache_enable(); 

    dcache_enable(); 

 

    return 0; 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/5192f09a4a43c65b3eaf648136b55d4c.html