Whenever the ports are configured for 100Mbps/Full-duplex, the IP phone does not power up. However, when the port is set to auto/auto it does power up.
This is not an IOS bug or IOS defect. It is by design.
Hence, in order to power up PoE devices (including access points), speed and duplex settings on the switch need to be set to auto/auto mode.