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.

Starterware pin-muxing on Beaglebone

Hi

I'm left confused setting the pin mux of the Beaglebone and hoping some for help here.

I want to access the McASP0 pins on the P8 connector and have tried a few things without much success. According to the Beaglebone user manual (section 7.13) the McASP pins I need access to reside on:

mcasp0_ax1 -> pin31 (name: "uart5_ctsn")
mcasp0_fsr -> pin33 (name: "uart4_rtsn")
mcasp0_aclkr -> pin35 (name:uart4_ctsn")
mcasp0_axr0 -> pin36 (name: "uart3_ctsn")

To configure the pin mux using the Starterware code I use the following piece of code:

HWREG(SOC_CONTROL_REGS + CONTROL_CONF_UART_CTSN(5)) = CONTROL_CONF_MUXMODE(3); // mcasp0.axr -> transmit : pin=31
HWREG(SOC_CONTROL_REGS + CONTROL_CONF_UART_RTSN(4)) = CONTROL_CONF_RXACTIVE | CONTROL_CONF_MUXMODE(3); // mcasp0.fsr -> transmit : pin=33
HWREG(SOC_CONTROL_REGS + CONTROL_CONF_UART_CTSN(4)) = CONTROL_CONF_RXACTIVE | CONTROL_CONF_MUXMODE(3); // mcasp0.aclkr -> transmit : pin=35
HWREG(SOC_CONTROL_REGS + CONTROL_CONF_UART_CTSN(3)) = CONTROL_CONF_RXACTIVE | CONTROL_CONF_MUXMODE(3); // mcasp0.axr0 -> receive : pin=36
where
#define CONTROL_CONF_UART_CTSN(n) (0x968 + ((n) * 0x10))
#define CONTROL_CONF_UART_RTSN(n) (0x96c + ((n) * 0x10))

Since my project doesn't work I wonder one of you can at least verify that the pin muxing is correct?

Best Regards

Tom




  • Hello Tom

    I had the same problems.

    I used the "names" of MODE0 and now it is working.I didn't change any of the defines.

    My code looks like this:

        HWREG(SOC_CONTROL_REGS + CONTROL_CONF_LCD_DATA(8)) = CONTROL_CONF_MCASP0_ACLKX_CONF_MCASP0_ACLKX_RXACTIVE | MCASP_SEL_MODE;
        HWREG(SOC_CONTROL_REGS + CONTROL_CONF_LCD_DATA(9)) = CONTROL_CONF_MCASP0_FSX_CONF_MCASP0_FSX_RXACTIVE | MCASP_SEL_MODE;

        HWREG(SOC_CONTROL_REGS + CONTROL_CONF_LCD_DATA(12)) = CONTROL_CONF_MCASP0_ACLKR_CONF_MCASP0_ACLKR_RXACTIVE| MCASP_SEL_MODE;
        HWREG(SOC_CONTROL_REGS + CONTROL_CONF_LCD_DATA(13)) = CONTROL_CONF_MCASP0_FSR_CONF_MCASP0_FSR_RXACTIVE | MCASP_SEL_MODE;

        HWREG(SOC_CONTROL_REGS + CONTROL_CONF_LCD_DATA(10)) = CONTROL_CONF_MCASP0_AXR0_CONF_MCASP0_AXR0_RXACTIVE | MCASP_SEL_MODE;
        HWREG(SOC_CONTROL_REGS + CONTROL_CONF_LCD_DATA(14)) = CONTROL_CONF_MCASP0_AXR1_CONF_MCASP0_AXR1_RXACTIVE | MCASP_SEL_MODE;

    If you know how to send with an external clock you can tell men ;-)

    best regards

    Basti