This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

dss_data pinmux conflicts with linux gpio?

We are experimenting with using a larger LCD screen with the Mistral AM/DM37x evaluation board. To do this we want to use a number of pins in mode 3:

DSS_DATA[5..0] -> mode 7

DSS_DATA[23..18] -> mode 3

SYS_BOOT[1..0] -> mode 3

SYS_BOOT[6..3] -> mode 3

This doesn't seem to have any effect at all on the output on the small built-in LCD screen. If I set all the above pins to mode 7 in u-boot-source/board/ti/evm/evm.h there is no video signal at all (LCD is a faint white), so we are on the right track?

Are Linux GPIO drivers or some such interfering with our pin setup?

I haven't successfully used the method here

http://processors.wiki.ti.com/index.php/Pin_Mux_Utility_for_ARM_MPU_Processors_v2#Using_the_Generated_Header_Files_.28AM35x_.2F_AM37x_.2F_OMAP35x.29

as yet because I need to find a design .dat file which reflects the set-up in the evm.h file or else apply the equivalent settings in the pinmux GUI which could take a while, is there an already-prepared .dat file matching the evm.h distributed with the DSK?

I have only hand-edited evm.h so far, these are the changes I think should work but don't...

 MUX_VAL(CP(DSS_DATA0),  (IDIS | PTD | DIS | M7)) /*safe*/\
 MUX_VAL(CP(DSS_DATA1),  (IDIS | PTD | DIS | M7)) /*safe*/\
 MUX_VAL(CP(DSS_DATA2),  (IDIS | PTD | DIS | M7)) /*safe*/\
 MUX_VAL(CP(DSS_DATA3),  (IDIS | PTD | DIS | M7)) /*safe*/\
 MUX_VAL(CP(DSS_DATA4),  (IDIS | PTD | DIS | M7)) /*safe*/\
 MUX_VAL(CP(DSS_DATA5),  (IDIS | PTD | DIS | M7)) /*safe*/\
 MUX_VAL(CP(DSS_DATA6),  (IDIS | PTD | DIS | M7)) /*safe*/\
 MUX_VAL(CP(DSS_DATA7),  (IDIS | PTD | DIS | M7)) /*safe*/\
 MUX_VAL(CP(DSS_DATA8),  (IDIS | PTD | DIS | M7)) /*safe*/\
 MUX_VAL(CP(DSS_DATA9),  (IDIS | PTD | DIS | M7)) /*safe*/\
 MUX_VAL(CP(DSS_DATA10),  (IDIS | PTD | DIS | M7)) /*safe*/\
 MUX_VAL(CP(DSS_DATA11),  (IDIS | PTD | DIS | M7)) /*safe*/\
 MUX_VAL(CP(DSS_DATA12),  (IDIS | PTD | DIS | M7)) /*safe*/\
 MUX_VAL(CP(DSS_DATA13),  (IDIS | PTD | DIS | M7)) /*safe*/\
 MUX_VAL(CP(DSS_DATA14),  (IDIS | PTD | DIS | M7)) /*safe*/\
 MUX_VAL(CP(DSS_DATA15),  (IDIS | PTD | DIS | M7)) /*safe*/\
 MUX_VAL(CP(DSS_DATA16),  (IDIS | PTD | DIS | M7)) /*safe*/\
 MUX_VAL(CP(DSS_DATA17),  (IDIS | PTD | DIS | M7)) /*safe*/\
 MUX_VAL(CP(DSS_DATA18),  (IDIS | PTD | DIS | M3)) /*dss_data0*/\
 MUX_VAL(CP(DSS_DATA19),  (IDIS | PTD | DIS | M3)) /*dss_data1*/\
 MUX_VAL(CP(DSS_DATA20),  (IDIS | PTD | DIS | M3)) /*dss_data2*/\
 MUX_VAL(CP(DSS_DATA21),  (IDIS | PTD | DIS | M3)) /*dss_data3*/\
 MUX_VAL(CP(DSS_DATA22),  (IDIS | PTD | DIS | M3)) /*dss_data4*/\
 MUX_VAL(CP(DSS_DATA23),  (IDIS | PTD | DIS | M3)) /*dss_data5*/\

 ...

MUX_VAL(CP(SYS_BOOT0),  (IDIS | PTD | DIS | M3)) /*dss_data18*/\
         /* - PEN_IRQ */\
 MUX_VAL(CP(SYS_BOOT1),  (IDIS | PTD | DIS | M3)) /*dss_data19 */\
 MUX_VAL(CP(SYS_BOOT2),  (IEN  | PTD | DIS | M4)) /*sys_boot2*/\
 MUX_VAL(CP(SYS_BOOT3),  (IDIS | PTD | DIS | M3)) /*dss_data20*/\
 MUX_VAL(CP(SYS_BOOT4),  (IDIS | PTD | DIS | M3)) /*dss_data21*/\
 MUX_VAL(CP(SYS_BOOT5),  (IDIS | PTD | DIS | M3)) /*dss_data22*/\
 MUX_VAL(CP(SYS_BOOT6),  (IDIS | PTD | DIS | M3)) /*dss_data23*/\

 

...