[beagleboard] CAN bus is locked up until beaglebone finishes booting

Busheavy means the gpio are wrong or the can was not initialized properly.
I may be wrong but baud rate in incorrect and everything else correct you won’t see busheavy but may not get receive irqs

From Android 4G on HTC Sense dual core SnapDragon.

Yes, I think you are correct. The buad rate I need is 250k, and I wonder if the default is something else. Here are the steps I took to fix this:

In the kernel I changed the pin mux to the following (This is important!):
static struct pinmux_config uart1dcan1_pin_mux[] = {
{“uart1_rxd.d_can1_tx”, OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLUP },
{“uart1_txd.d_can1_rx”, OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLUP },
{NULL, 0},
};

Then in my initializing code I did this:
setup_pin_mux(uart1dcan1_pin_mux);
am33xx_d_can_init(1);

Then in user space I did this:
devmem2 0x44E10984 32 0x32
devmem2 0x44E10980 32 0x02
ip link set can0 type can bitrate 250000 triple-sampling on
ifconfig can0 up

Thanks for all of your help Frank!