We have formulated a solution!
You will need a null modem cable connected to the serial port. The firmware is intelligent enough to recognise that you have put in ridiculous items to the input-device or so, and in these cases will report to the serial port.
Since you have said you set the input-device variable to console, we could not reproduce this error. At least here, the console directed to the serial output.
If you set the input-device to screen or some other device similar, then it will not work, but the solution is to remove that device.
console by default targets the keyboard - so remove the keyboard.
screen by default targets the graphics card - so remove the graphics card.
Plug in your serial cable, watch the terminal (115200, 8n1, no handshake) and it should produce an "ok" prompt.
Please reset your input-device variable to "keyboard" here and then never touch it again!
NOTEZ BIEN: there is a lesson here, the firmware will redirect to the serial console if the device node it is asked to configure does not exist or does not have the correct read/write methods - therefore by removing both the screen and keyboard, the "console" device becomes invalid as if you had set it to something gibberish like "kittens" or "biscuit" - but if you set "input-device" to an IDE device or USB device, or the inactive second serial port, you are going to be living in a world of pain and suffering, as you cannot remove these devices from the motherboard or the device tree. Please do not tamper with these variables without substantial testing in the console first. You can do all the things you want via console and nvram before you ever should attempt to set the environment variables.
The current (and next) firmware manual will explain this in greater detail, also. If nvramrc is corrupted or has broken code in it, pressing F1 between keyboard blinks on boot will fix your problem by skipping nvramrc and the auto-boot process.
I hope this helps. Please send chocolate cookies to Gerald for testing this for you