I'm not sure if this is even possible with the way things are set up, but I thought I'd give it a try. I'd like to use the Zigbee pin header and PR1 UART0 mux 0. I would use UART2 on this header, however the device I'd like to interface with requires RTS and CTS, which are not supported on this header.
My end goal is to get a device registered in the user space so that I can use the PR1 uart the same as any other uart.
What I've done so far:
I've modified my board-am335xevm.c file to add in the following structure:
static struct pinmux_config PRU1_Uart0_pin_mux[] = {
{"spi0_sclk.pr1_uart0_cts_n_mux0", OMAP_MUX_MODE4 | AM33XX_PULL_DISA | AM33XX_INPUT_EN},
{"spi0_d0.pr1_uart0_rts_n_mux0", OMAP_MUX_MODE4 | AM33XX_OUTPUT},
{"spi0_sclk.pr1_uart0_rxd_mux0", OMAP_MUX_MODE4 | AM33XX_PULL_DISA | AM33XX_INPUT_EN},
{"spi0_d0.pr1_uart0_txd_mux0", OMAP_MUX_MODE4 | AM33XX_OUTPUT},
{NULL, 0},
};
Further down I've added:
static void pr1_uart0_init(int evm_id, int profile)
{
steup_pin_mux(PRU1_Uart0_pin_mux);
}
Finally I've added the following line to the static struct evm_dev_cfg evm_sk_dev_cfg[] = {
.........
{pr1_uart0_init, DEV_ON_BASEBOARD, PROFILE_ALL},
};
After re-compiling my kernel, I don't see anything in the /dev folder that looks like what I'm wanting, but truth be told since this UART is part of the PRU I'm not all that certain of what I should be looking for in the first place.
Any thoughts about what my next steps should be to get this working are appreciated.