Ignore:
Timestamp:
2012-11-20T14:32:33Z (11 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
fde2dab9
Parents:
bf6f6ca
Message:

rootamdm37x: Setup DPLL5 during initialization.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/infrastructure/rootamdm37x/rootamdm37x.c

    rbf6f6ca rbf2a269  
    285285         */
    286286        // TODO setup DPLL5
     287        if ((pio_read_32(&device->cm.clocks->clken2_pll)
     288                & CLOCK_CONTROL_CM_CLKEN2_PLL_EN_PERIPH2_DPLL_MASK)
     289            != CLOCK_CONTROL_CM_CLKEN2_PLL_EN_PERIPH2_DPLL_LOCK) {
     290                /* Compute divisors and multiplier */
     291                assert((base_freq % 100) == 0);
     292                const unsigned mult = 1200;
     293                const unsigned div = base_freq / 100;
     294                const unsigned div2 = 1;
     295
     296                /* Set multiplier */
     297                pio_change_32(&device->cm.clocks->clksel4_pll,
     298                    CLOCK_CONTROL_CM_CLKSEL4_PLL_PERIPH2_DPLL_MULT_CREATE(mult),
     299                    CLOCK_CONTROL_CM_CLKSEL4_PLL_PERIPH2_DPLL_MULT_MASK, 10);
     300
     301                /* Set DPLL divisor */
     302                pio_change_32(&device->cm.clocks->clksel4_pll,
     303                    CLOCK_CONTROL_CM_CLKSEL4_PLL_PERIPH2_DPLL_DIV_CREATE(div),
     304                    CLOCK_CONTROL_CM_CLKSEL4_PLL_PERIPH2_DPLL_DIV_MASK, 10);
     305
     306                /* Set output clock divisor */
     307                pio_change_32(&device->cm.clocks->clksel5_pll,
     308                    CLOCK_CONTROL_CM_CLKSEL5_PLL_DIV120M_CREATE(div2),
     309                    CLOCK_CONTROL_CM_CLKSEL5_PLL_DIV120M_MASK, 10);
     310
     311                /* Start DPLL5 */
     312                pio_change_32(&device->cm.clocks->clken2_pll,
     313                    CLOCK_CONTROL_CM_CLKEN2_PLL_EN_PERIPH2_DPLL_LOCK,
     314                    CLOCK_CONTROL_CM_CLKEN2_PLL_EN_PERIPH2_DPLL_MASK, 10);
     315
     316        }
    287317        /* Set DPLL5 to automatic to save power */
    288318        pio_change_32(&device->cm.clocks->autoidle2_pll,
Note: See TracChangeset for help on using the changeset viewer.