Bruce, --- [EMAIL PROTECTED] wrote:
> I know this isn't the right forum for this but I > can't seem to find a > generic PPC mailing list. > > I'm trying to get a global timer going on an > MPC834x, and the way I learn > is to just play with HW, so I've got an Abatron > BDI2K hooked up to my > processor so I can just manipulate registers without > having to deal with > writing code. However, I seem to be unable to > modify certain registers in > the global timers with this set up and I don't > understand why. > Specifically, if a register has a bit that's a '1' > following a reset, I > can't change that bit to a '0'. This is happening > with the Global Timers > Reference Registers (GTRFR1 - 4) and the Global > Timers Prescale Registers > (GTPSR1 - 4). The reset state of the GTRFRs is > 0xFFFF and I can't change > it to any other value. The reset state of the > GTPSRs is 0x3 and I can't > clear the 2 LSB. I can change any other bits in the > prescale registers, > but not the two which are a '1' at reset. There's a sequence that needs to be followed. You need to enable the timer first, then set the mode, then set the prescaler. I've attached some expect code for U-boot that generates a 1Hz output from timer 3 on an MCP8349. It's not quite what you have, but hopefully close enough for you to figure it out. I also have a simple char driver for Linux if you need it later on. COMMENT "Set SICLR so that GPIO1_8 becomes TOUT3" send "mm.w e0000114\r" expect $mmPrompt send "8001\r" expect $mmPrompt send "q\r" expect $mainPrompt COMMENT "Enable timer 3" send "mm.b e0000504\r" expect $mmPrompt send "01\r" expect $mmPrompt send "q\r" expect $mainPrompt COMMENT "Set mode register" send "mm.w e0000520\r" expect $mmPrompt send "ff0c\r" expect $mmPrompt send "q\r" COMMENT "Set frequency to 1Hz" send "mm.w e0000524\r" expect $mmPrompt send "1f77\r" expect $mmPrompt send "q\r" expect $mainPrompt Hope this helps regards, Ben _______________________________________________ Linuxppc-embedded mailing list [email protected] https://ozlabs.org/mailman/listinfo/linuxppc-embedded
