TI中文支持网
TI专业的中文技术问题搜集分享网站

GPIO3[15] output and GPIO3[16] Input on DM385

你好,

我想在DM385配置兩個新的GPIO腳位控制.一個是 GPIO3[15]當在output輸出,GPIO3[16]當作irq的接受輸入,請問我該怎麼在kernel裡作配置呢??,謝謝!!

Regards,

Ternence_Hsu:

你好;

        配置 gpio 工作模式,可以参考数据手册中的,3.2 Pin Assignments 小节

        可以到 ipnc_psp_arago/u-boot/board/ti/dm385_ipnc/mux.h 中进行配置

Byron Tien:

回复 Ternence_Hsu:

你好,

我調整過這個檔案,但還是不成功,是否能指引如何調整呢?謝謝!!

Ternence_Hsu:

回复 Byron Tien:

如果不成功,有几种可能,uboot 配置后,在内核里面被修改了,或者是在 应用程序里面被重新配置过;

Byron Tien:

回复 Ternence_Hsu:

以GPIO3[15]及GPIO3[16],是否在檔mux.h裡改寫如下呢??

/* -220 */ BIT(0), BIT(0), BIT(0), BIT(0),/* -224 */ BIT(0), BIT(0), BIT(7), BIT(7),/* -228 */ BIT(0), BIT(0), BIT(0), BIT(6),

Ternence_Hsu:

回复 Byron Tien:

你的这个配置是正确的;

Ternence_Hsu:

回复 Ternence_Hsu:

在 程序 中也会修改 pin mux ;

你查一下 hdvpss 中的 ti_tools/hdvpss_01_00_01_37/packages/ti/psp/platforms/ti8107/src/vps_platformTI8107.c

#ifdef CONFIG_PIN_MUX
static Int32 Vps_platformTI8107SetPinMux(void)
{/* Vout 0 configuration DVO2 Function 1*//* TODO There are two pins for the fid. Need to see whichone is used */REG32(CSL_TI8107_CTRL_MODULE_BASE + 0x0AB8) = 0x1;/* vout0_fid_mux1 */REG32(CSL_TI8107_CTRL_MODULE_BASE + 0x0ABC) = 0x1;/* vout0_clk */
...
...REG32(CSL_TI8107_CTRL_MODULE_BASE + 0x0B0C) = 0x1;/* vout0_r_cr[2] */REG32(CSL_TI8107_CTRL_MODULE_BASE + 0x0B10) = 0x1;/* vout0_r_cr[3] */REG32(CSL_TI8107_CTRL_MODULE_BASE + 0x0B14) = 0x1;/* vout0_r_cr[4] */REG32(CSL_TI8107_CTRL_MODULE_BASE + 0x0B18) = 0x1;/* vout0_r_cr[5] */REG32(CSL_TI8107_CTRL_MODULE_BASE + 0x0B1C) = 0x1;/* vout0_r_cr[6] */REG32(CSL_TI8107_CTRL_MODULE_BASE + 0x0B20) = 0x1;/* vout0_r_cr[7] */REG32(CSL_TI8107_CTRL_MODULE_BASE + 0x0B24) = 0x1;/* vout0_r_cr[8] */REG32(CSL_TI8107_CTRL_MODULE_BASE + 0x0B28) = 0x1;/* vout0_r_cr[9] */

 

REG32(CSL_TI8107_CTRL_MODULE_BASE + 0x0B18) = 0x1; /* vout0_r_cr[5] */ REG32(CSL_TI8107_CTRL_MODULE_BASE + 0x0B1C) = 0x1; /* vout0_r_cr[6] */

Ternence_Hsu:

回复 Ternence_Hsu:

应当是下面2行配置的:

REG32(CSL_TI8107_CTRL_MODULE_BASE + 0x0B78) = 0x50004; /* vin1a_d[16] */ REG32(CSL_TI8107_CTRL_MODULE_BASE + 0x0B7C) = 0x50004; /* vin1a_d[17] */

Byron Tien:

回复 Ternence_Hsu:

1. 請問,我對照過這幾行在檔案下都存在,我是不是不需要再作修改呢??

2.我是依照底下的建議去增加一些GPIO的function去使用.不知道是否還要再處理哪些地方呢?

https://www.deyisupport.com/question_answer/dsp_arm/davinci_digital_media_processors/f/39/t/91562.aspx?pi239031348=1

Ternence_Hsu:

回复 Byron Tien:

uboot 里面按你上面的配置修改就可以;

内核中不需要再去配置了;

在hdvpss中屏蔽下面两行;

REG32(CSL_TI8107_CTRL_MODULE_BASE + 0x0B78) = 0x50004; /* vin1a_d[16] */REG32(CSL_TI8107_CTRL_MODULE_BASE + 0x0B7C) = 0x50004; /* vin1a_d[17] */

Byron Tien:

回复 Ternence_Hsu:

請問如果要將GPIO設定為output,需要哪些function?一樣會產生/sys/class/gpioXX 目錄嗎?

http://processors.wiki.ti.com/index.php/TI81XX_PSP_GPIO_Driver_User_Guide

IRQ handling及kernel Level兩區塊都要設定嗎 ?

赞(0)
未经允许不得转载:TI中文支持网 » GPIO3[15] output and GPIO3[16] Input on DM385
分享到: 更多 (0)