I'm working on a PCB to both charge an Android tablet and also allow Android to connect to the PCB via Serial port (PCB includes an ATMega8u2 configured as a CDC, supplying a Serial port). To enable 500mA charging I have CC1 and CC2 pulled high via a 56k resistor. The CDC device is connected to the D+/D- pins. Here are the problems:

 1. If the D+/D- pins are connected when the Android device is plugged
    in, then it will not charge, nor see the CDC device.
 2. If the D+/D- pins are NOT connected when plugged in, then the
    Android device will charge. Connecting the D+/D- pins afterwards
    (via a MUX chip) does not stop charging, but the Android device
    still cannot see the CDC device.
 3. Using an OTG->USB-C cable to the Android device enables it to see
    the CDC device, but of course cannot then charge the Android device.
    The Android device has no other means of charging.

So my question is, what is the minimum circuit to allow concurrent charging and connection between Android and a CDC peripheral via USB-C? Will I need to use a custom controller chip for this? I am trying to avoid adding a PD controller and circuit if possible, as it will more than double the BOM cost.