What are the current GPUs with fully open-sourced drivers on Android? There's been issues recently with Qualcomm's GPU in the new Nexus 7, which makes me wonder how strict are the rules for open-sourcing all the code for a working Android device, including the GPU drivers.
Broadcom, Qualcomm, Imagination's PowerVR, Nvidia's Tegra, and ARM's Mali GPUs all have partially (mostly) closed-source drivers. In general, the only open-source code in the driver is any vendor extension to the GL and EGL header files, and a GPL'ed shim that can be loaded into the kernel to allow it to communicate with the binary-only driver. Vendors often contribute related code to upstream projects, though, such as X Windows direct rendering code, or the Android graphics subsystem.
Most of the GPU vendors are afraid that open-sourcing their drivers will reveal details of how their technology works, which will provide leverage for patent trolls to make spurious claims that parts of the GPUs or drivers infringe their patents. For this reason, it's unlikely that any drivers will be open-sourced fully unless/until this risk changes.
There are no rules for open-sourcing all the code for an Android device. It would be very difficult to make a completely open-source device. Even if GPU drivers were open, most (if not all) cell radios have binary-only firmware for regulatory reasons: if you could change the drivers, you could make them run on illegal channels, or exceed the maximum permitted transmit power.