I've run into this problem with all of the Freescale chips I've used.
The Data Sheets simply don't detail the pins well enough to be able to do a hardware design guaranteed not to exceed the chip's specifications.
The MCF5235 support "High Drive" and "Low Drive" Drive Strength settings. The registers controlling this are detailed in the Reference Manual.
The Data Sheet ... says almost nothing about this at all. It details Voh and Vol specified at 5mA only. It doesn't say if that's the High or Low Drive Strength, or if it is related to it at all.
It gives an "Instantaneous Maximum Current Single Pin Limit" of 25mA. That's usually a thermal limit and not one related to signal levels and strengths. That doesn't help.
The only references to Drive Strength are to specify the "Load Capacitance" as being 25pF for "Low drive strength" and 50pF for "High drive strength". Timing is at "High drive strength". Current consumption is at "Default drive strength", which is probably the low one.
Previous times I've been around this look (MCF5329 and i.MX53) I've been told to read the IBIS files. That doesn't help when those files aren't available for the chip. Fortunately for this one, they are. It confuses the issue even more.
The IBIS file details that all pins utilise the model "pbi_mdp24_v33".
It then details:
[Model Selector] pbi_mdp24_v33
mdp24_8 3.3V 8mA drive
mdp24_16 3.3V 16mA drive
mdp24_24 3.3V 24mA drive
So there are THREE drive strengths. But the chip only has "High" and "Low" and there's no way to select the three apparent available "strengths" that the model details. Makes me think this model isn't really for this chip.
So is "High" the 24 or 16mA one? And is "Low" the 8 or 16mA one? It doesn't say anywhere.
I would be surprised if the "High" one is 24mA because the "maximum single pin limit" is detailed as 25mA, and the high drive strength isn't much use if you can only use one pin at that level at a time (on a chip that has 256 pins).
Anyway, looking at the IBIS model, and checking the min/typ/max pulldown current at 0.5V (to match the Data Sheet, which gave 5mA) gives:
mdp24_16 22.6/31/39.5 mA
mdp24_24 33.9/46.5/59.2 mA
They're all way higher than 5mA, even the lowest "min" one. That isn't matching the data sheet, so where did the data sheet numbers come from?
The "Lowest Strength" setting is NAMED to be an "8 mA Driver" whatever that means, and "High" is 24 mA.
I still don't know what pullup resistor I can have on a pin configured to low drive strength. According to the Data Sheet it is 5mA at an unspecified Drive Strength. According to the IBIS model, even the "8mA" setting will pull a pin down to 1.0V at 20mA and 0.5V at 11.3mA.
Can someone clear this up for this chip please?