How to charge a USB-C host with ACA alternative?
In modern USB environment a USB port carries two roles: data role, and power role. In USB Type-C framework the two roles are coupled/associated by default: host data role is associated with power supply role, and USB device is a power consumer.

Now, to make a host to act as consumer (to charge itself), the recent USB Type-C specification defines only one way to swap the power role while keeping the role as USB host. This way is to use a subset of power delivery specifications of so-called "Structured VDM" - Vendor Defined Messages. Typically the process is implemented by so-called "PD management IC" which provides PHY-level PD protocol communication over Type-C CC wire, all under control (typically over I2C) from an embedded controller. The overall protocol is quite complicated and is described in "USB Power Delivery Specifications" Rev3.0, which can be found in USB-IF document library.