📄 davincievm_pmx.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 + -