As part of a project, I am trying to write bare metal code to drive a BeagleBone and DVI cape to emit a video signal. As part of this process I am trying to figure out how to configure the AM335x's LCD module.
I set bits 1:0 of CM_PER_LCDC_CLKCTRL to 0x2 to enable the LCD module. (The power mode SFRs are already properly configured, it seems). When I do this it seems that STBYST and IDLEST both immediate go to 0x0 (module is functional). I then try setting the LCD module's registers.
Unfortunately, this is very unreliable. I am working with CCS v5.3, which has a 'Registers' window allowing one to view the values of SFRs when the program execution is halted. However, the debugger is usually unable to read the LCD controller SFR registers (value is marked as "Error: unable to read"). Sometimes proceeding through the code will trip the error interrupt (UndefInstHandler), sometimes it will not. Sometimes upon enabling the module a few of the SFRs resolve to readable values in the 'Registers' window, but trying to set bits causes the processor to crash.
Is this a limitation of the CCS debugger? Am I initializing the LCD module correctly, or is there more to enabling it? Any help or insight would be greatly appreciated.