I have a 2012 that is throwing P0151 (O2 sensor low voltage bank 2, sensor 1), and P054C and P054A (Cold Start "B" Camshaft Position Timing Over-Advanced Banks 1&2). This started a couple months ago and would be completely random. It would only come on once every few weeks and has finally increased to almost every day. When it does happen the check engine light comes on as soon as I start the engine and all 3 codes always come on together. The truck has been running fine so I'm a little stumped as what this could be. I thought maybe it was just the O2 sensor going out but doesn't make sense why the camshaft time codes pop up. Any advice is greatly appreciated!