This wiki describes the interface to the Raspberry Pi firmware from the point of view of a developer working on kernel (or "bare metal") code running on the ARM.
Mailboxes are the primary means of communication between the ARM and the VideoCore firmware running on the GPU. For a list of the available mailboxes, see here.
The firmware triggers ARM interrupts to provide notification of certain events. For a list of the firmware-triggered interrupts, see here.