The limit enforced by the protocol is that the sum of all the outputs in a block must be equal to or less than the sum of all the inputs in a block plus the block subsidy, which is currently 6.25 BTC. This effectively places an upper limit on the output from the coinbase transaction of 6.25 BTC plus the sum of all the fees in the block. Miners are free to claim less than this if they wish (including claiming nothing at all), but attempting to claim more than this will result in their block being rejected by other nodes.
Coinbase transactions themselves do not pay fees, since the miner includes the transaction directly.