⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 davincievm_pmx.c

📁 开发环境CCS3.2,为TI最新处理器TMS320DM6446的网卡驱动程序源码
💻 C
字号:
/*
 *  Copyright 2005 by Spectrum Digital Incorporated.
 *  All rights reserved. Property of Spectrum Digital Incorporated.
 *
 *  Not for distribution.
 */

/*
 *  Board Setup ( for ARM and/or DSP )
 *
 */

#include "davincievm_pmx.h"

/* ------------------------------------------------------------------------ *
 *                                                                          *
 *  DAVINCIEVM_PMX_init( )                                                  *
 *                                                                          *
 *      Pin Mux can always be changed w/o any further setup, all that this  *
 *      function does is to set the initial state to a known state.         *
 *                                                                          *
 * ------------------------------------------------------------------------ */
Int16 DAVINCIEVM_PMX_init( )
{
    Uint32 pinmux0 = 0
        | ( 0 << 31 )   // EMACEN   [OFF]
        | ( 0 << 30 )   // EN1394   [OFF]
        | ( 0 << 29 )   // HPIEN    [OFF]
        | ( 0 << 27 )   // CFLDEN   [OFF]
        | ( 0 << 26 )   // CWEN     [OFF]
        | ( 0 << 25 )   // LFLDEN   [OFF]
        | ( 0 << 24 )   // LOEEN    [OFF]
        | ( 0 << 23 )   // RGB888   [OFF]
        | ( 0 << 22 )   // RGB666   [OFF]
        | ( 0 << 17 )   // ATAEN    [OFF]
        | ( 0 << 16 )   // HDIREN   [OFF]
        | ( 0 << 15 )   // VLYNQEN  [OFF]
        | ( 0 << 14 )   // VLSCREN  [OFF]
        | ( 0 << 12 )   // VLYNQWD  [OFF]
        | ( 1 << 11 )   // AECS5    [ON]
        | ( 1 << 10 )   // AECS4    [ON]
        | ( 31 << 0 )   // AEAW     [ON]
        ;

    Uint32 pinmux1 = 0
        | ( 1 << 18 )   // TIMIN    [ON]
        | ( 0 << 17 )   // CLK1     [OFF]
        | ( 0 << 16 )   // CLK0     [OFF]
        | ( 1 << 10 )   // MCBSP    [ON]
        | ( 0 << 9 )    // MSTK     [OFF]
        | ( 0 << 8 )    // SPI      [OFF]
        | ( 1 << 7 )    // I2C      [ON]
        | ( 1 << 6 )    // PWM2     [ON]
        | ( 1 << 5 )    // PWM1     [ON]
        | ( 1 << 4 )    // PWM0     [ON]
        | ( 0 << 3 )    // U2FLO    [OFF]
        | ( 0 << 2 )    // UART2    [OFF]
        | ( 0 << 1 )    // UART1    [OFF]
        | ( 1 << 0 )    // UART0    [ON]
        ;

    DAVINCIEVM_PMX_set( pinmux0, pinmux1 );

    VDD3P3V_PWDN = 0
        | ( 0 << 1 )    // MMC/SD/MS I/O cells [Normal]
        | ( 0 << 0 )    // EMAC I/O cells      [Normal]
        ;

    return 0;
}

/* ------------------------------------------------------------------------ *
 *                                                                          *
 *  DAVINCIEVM_PMX_set( pinmux0, pinmux1 )                                  *
 *                                                                          *
 *      Enable pin mux depending on the value of ( pinmux0 ) & ( pinmux1 )  *
 *      The 1's bit indicates which field to enable.                        *
 *                                                                          *
 *      pinmux0 <- Pin Mux Reg 0                                            *
 *      pinmux1 <- Pin Mux Reg 1                                            *
 *                                                                          *
 * ------------------------------------------------------------------------ */
Int16 DAVINCIEVM_PMX_set( Uint32 pinmux0, Uint32 pinmux1 )
{
    PINMUX0 |= pinmux0;
    PINMUX1 |= pinmux1;
    return 0;
}

/* ------------------------------------------------------------------------ *
 *                                                                          *
 *  DAVINCIEVM_PMX_clear( pinmux0, pinmux1 )                                *
 *                                                                          *
 *      Diasble pin mux depending on the value of ( pinmux0 ) & ( pinmux1 ) *
 *      The 1's bit indicates which field to enable.                        *
 *                                                                          *
 *      pinmux0 <- Pin Mux Reg 0                                            *
 *      pinmux1 <- Pin Mux Reg 1                                            *
 *                                                                          *
 * ------------------------------------------------------------------------ */
Int16 DAVINCIEVM_PMX_clear( Uint32 pinmux0, Uint32 pinmux1 )
{
    PINMUX0 &= ~pinmux0;
    PINMUX1 &= ~pinmux1;
    return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -