diff --git a/bluetooth/bluetooth_power_limits_felix_EU.csv b/bluetooth/bluetooth_power_limits_felix_EU.csv new file mode 100644 index 0000000..88c1d86 --- /dev/null +++ b/bluetooth/bluetooth_power_limits_felix_EU.csv @@ -0,0 +1,67 @@ +Hall,Head,BTHotspot,WIFI5Ghz,HotspotVoice,Cell,IMU,BDR_Single_Chain_0,EDR_Single_Chain_0,BLE_Single_Chain_0,BDR_Single_Chain_1,EDR_Single_Chain_1,BLE_Single_Chain_1,BDR_Dual_Chain_0,EDR_Dual_Chain_0,BLE_Dual_Chain_0,BDR_Dual_Chain_1,EDR_Dual_Chain_1,BLE_Dual_Chain_1 +off,off,off,off,off,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +off,off,off,off,off,on,on,78,76,36,78,76,36,62,62,24,62,62,24 +off,off,off,off,on,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +off,off,off,off,on,on,on,60,60,36,78,76,36,60,60,24,60,60,24 +off,off,off,on,off,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +off,off,off,on,off,on,on,60,60,36,78,76,36,60,60,24,60,60,24 +off,off,off,on,on,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +off,off,off,on,on,on,on,60,60,36,78,76,36,60,60,24,60,60,24 +off,off,on,off,off,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +off,off,on,off,off,on,on,78,76,36,78,76,36,62,62,24,62,62,24 +off,off,on,off,on,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +off,off,on,off,on,on,on,60,60,36,78,76,36,60,60,24,60,60,24 +off,off,on,on,off,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +off,off,on,on,off,on,on,60,60,36,78,76,36,60,60,24,60,60,24 +off,off,on,on,on,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +off,off,on,on,on,on,on,60,60,36,78,76,36,60,60,24,60,60,24 +off,on,off,off,off,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +off,on,off,off,off,on,any,78,76,36,78,76,36,62,62,24,62,62,24 +off,on,off,off,on,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +off,on,off,off,on,on,any,60,60,36,78,76,36,60,60,24,60,60,24 +off,on,off,on,off,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +off,on,off,on,off,on,any,60,60,36,78,76,36,60,60,24,60,60,24 +off,on,off,on,on,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +off,on,off,on,on,on,any,60,60,36,78,76,36,60,60,24,60,60,24 +off,on,on,off,off,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +off,on,on,off,off,on,any,78,76,36,78,76,36,62,62,24,62,62,24 +off,on,on,off,on,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +off,on,on,off,on,on,any,60,60,36,78,76,36,60,60,24,60,60,24 +off,on,on,on,off,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +off,on,on,on,off,on,any,60,60,36,78,76,36,60,60,24,60,60,24 +off,on,on,on,on,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +off,on,on,on,on,on,any,60,60,36,78,76,36,60,60,24,60,60,24 +off,off,any,any,any,any,off,78,76,36,78,76,36,62,62,24,62,62,24 +on,off,off,off,off,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +on,off,off,off,off,on,on,78,76,36,78,76,36,62,62,24,62,62,24 +on,off,off,off,on,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +on,off,off,off,on,on,on,62,62,36,72,72,36,60,60,24,60,60,24 +on,off,off,on,off,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +on,off,off,on,off,on,on,62,62,36,72,72,36,60,60,24,60,60,24 +on,off,off,on,on,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +on,off,off,on,on,on,on,62,62,36,72,72,36,60,60,24,60,60,24 +on,off,on,off,off,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +on,off,on,off,off,on,on,78,76,36,78,76,36,62,62,24,62,62,24 +on,off,on,off,on,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +on,off,on,off,on,on,on,62,62,36,72,72,36,60,60,24,60,60,24 +on,off,on,on,off,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +on,off,on,on,off,on,on,62,62,36,72,72,36,60,60,24,60,60,24 +on,off,on,on,on,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +on,off,on,on,on,on,on,62,62,36,72,72,36,60,60,24,60,60,24 +on,on,off,off,off,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +on,on,off,off,off,on,any,78,76,36,78,76,36,62,62,24,62,62,24 +on,on,off,off,on,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +on,on,off,off,on,on,any,62,62,36,72,72,36,60,60,24,60,60,24 +on,on,off,on,off,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +on,on,off,on,off,on,any,62,62,36,72,72,36,60,60,24,60,60,24 +on,on,off,on,on,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +on,on,off,on,on,on,any,62,62,36,72,72,36,60,60,24,60,60,24 +on,on,on,off,off,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +on,on,on,off,off,on,any,78,76,36,78,76,36,62,62,24,62,62,24 +on,on,on,off,on,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +on,on,on,off,on,on,any,62,62,36,72,72,36,60,60,24,60,60,24 +on,on,on,on,off,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +on,on,on,on,off,on,any,62,62,36,72,72,36,60,60,24,60,60,24 +on,on,on,on,on,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +on,on,on,on,on,on,any,62,62,36,72,72,36,60,60,24,60,60,24 +on,off,any,any,any,any,off,78,76,36,78,76,36,62,62,24,62,62,24 \ No newline at end of file diff --git a/bluetooth/bluetooth_power_limits_felix_JP.csv b/bluetooth/bluetooth_power_limits_felix_JP.csv new file mode 100644 index 0000000..88c1d86 --- /dev/null +++ b/bluetooth/bluetooth_power_limits_felix_JP.csv @@ -0,0 +1,67 @@ +Hall,Head,BTHotspot,WIFI5Ghz,HotspotVoice,Cell,IMU,BDR_Single_Chain_0,EDR_Single_Chain_0,BLE_Single_Chain_0,BDR_Single_Chain_1,EDR_Single_Chain_1,BLE_Single_Chain_1,BDR_Dual_Chain_0,EDR_Dual_Chain_0,BLE_Dual_Chain_0,BDR_Dual_Chain_1,EDR_Dual_Chain_1,BLE_Dual_Chain_1 +off,off,off,off,off,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +off,off,off,off,off,on,on,78,76,36,78,76,36,62,62,24,62,62,24 +off,off,off,off,on,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +off,off,off,off,on,on,on,60,60,36,78,76,36,60,60,24,60,60,24 +off,off,off,on,off,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +off,off,off,on,off,on,on,60,60,36,78,76,36,60,60,24,60,60,24 +off,off,off,on,on,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +off,off,off,on,on,on,on,60,60,36,78,76,36,60,60,24,60,60,24 +off,off,on,off,off,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +off,off,on,off,off,on,on,78,76,36,78,76,36,62,62,24,62,62,24 +off,off,on,off,on,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +off,off,on,off,on,on,on,60,60,36,78,76,36,60,60,24,60,60,24 +off,off,on,on,off,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +off,off,on,on,off,on,on,60,60,36,78,76,36,60,60,24,60,60,24 +off,off,on,on,on,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +off,off,on,on,on,on,on,60,60,36,78,76,36,60,60,24,60,60,24 +off,on,off,off,off,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +off,on,off,off,off,on,any,78,76,36,78,76,36,62,62,24,62,62,24 +off,on,off,off,on,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +off,on,off,off,on,on,any,60,60,36,78,76,36,60,60,24,60,60,24 +off,on,off,on,off,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +off,on,off,on,off,on,any,60,60,36,78,76,36,60,60,24,60,60,24 +off,on,off,on,on,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +off,on,off,on,on,on,any,60,60,36,78,76,36,60,60,24,60,60,24 +off,on,on,off,off,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +off,on,on,off,off,on,any,78,76,36,78,76,36,62,62,24,62,62,24 +off,on,on,off,on,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +off,on,on,off,on,on,any,60,60,36,78,76,36,60,60,24,60,60,24 +off,on,on,on,off,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +off,on,on,on,off,on,any,60,60,36,78,76,36,60,60,24,60,60,24 +off,on,on,on,on,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +off,on,on,on,on,on,any,60,60,36,78,76,36,60,60,24,60,60,24 +off,off,any,any,any,any,off,78,76,36,78,76,36,62,62,24,62,62,24 +on,off,off,off,off,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +on,off,off,off,off,on,on,78,76,36,78,76,36,62,62,24,62,62,24 +on,off,off,off,on,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +on,off,off,off,on,on,on,62,62,36,72,72,36,60,60,24,60,60,24 +on,off,off,on,off,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +on,off,off,on,off,on,on,62,62,36,72,72,36,60,60,24,60,60,24 +on,off,off,on,on,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +on,off,off,on,on,on,on,62,62,36,72,72,36,60,60,24,60,60,24 +on,off,on,off,off,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +on,off,on,off,off,on,on,78,76,36,78,76,36,62,62,24,62,62,24 +on,off,on,off,on,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +on,off,on,off,on,on,on,62,62,36,72,72,36,60,60,24,60,60,24 +on,off,on,on,off,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +on,off,on,on,off,on,on,62,62,36,72,72,36,60,60,24,60,60,24 +on,off,on,on,on,off,on,78,76,36,78,76,36,62,62,24,62,62,24 +on,off,on,on,on,on,on,62,62,36,72,72,36,60,60,24,60,60,24 +on,on,off,off,off,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +on,on,off,off,off,on,any,78,76,36,78,76,36,62,62,24,62,62,24 +on,on,off,off,on,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +on,on,off,off,on,on,any,62,62,36,72,72,36,60,60,24,60,60,24 +on,on,off,on,off,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +on,on,off,on,off,on,any,62,62,36,72,72,36,60,60,24,60,60,24 +on,on,off,on,on,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +on,on,off,on,on,on,any,62,62,36,72,72,36,60,60,24,60,60,24 +on,on,on,off,off,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +on,on,on,off,off,on,any,78,76,36,78,76,36,62,62,24,62,62,24 +on,on,on,off,on,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +on,on,on,off,on,on,any,62,62,36,72,72,36,60,60,24,60,60,24 +on,on,on,on,off,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +on,on,on,on,off,on,any,62,62,36,72,72,36,60,60,24,60,60,24 +on,on,on,on,on,off,any,78,76,36,78,76,36,62,62,24,62,62,24 +on,on,on,on,on,on,any,62,62,36,72,72,36,60,60,24,60,60,24 +on,off,any,any,any,any,off,78,76,36,78,76,36,62,62,24,62,62,24 \ No newline at end of file diff --git a/bluetooth/bluetooth_power_limits_felix_US.csv b/bluetooth/bluetooth_power_limits_felix_US.csv new file mode 100644 index 0000000..02c8f2c --- /dev/null +++ b/bluetooth/bluetooth_power_limits_felix_US.csv @@ -0,0 +1,67 @@ +Hall,Head,BTHotspot,WIFI5Ghz,HotspotVoice,Cell,IMU,BDR_Single_Chain_0,EDR_Single_Chain_0,BLE_Single_Chain_0,BDR_Single_Chain_1,EDR_Single_Chain_1,BLE_Single_Chain_1,BDR_Dual_Chain_0,EDR_Dual_Chain_0,BLE_Dual_Chain_0,BDR_Dual_Chain_1,EDR_Dual_Chain_1,BLE_Dual_Chain_1 +off,off,off,off,off,off,on,78,76,78,78,76,78,62,62,62,62,62,62 +off,off,off,off,off,on,on,72,72,72,78,76,78,62,62,62,62,62,62 +off,off,off,off,on,off,on,72,72,72,78,76,78,62,62,62,62,62,62 +off,off,off,off,on,on,on,60,60,60,78,76,78,60,60,60,60,60,60 +off,off,off,on,off,off,on,72,72,72,78,76,78,62,62,62,62,62,62 +off,off,off,on,off,on,on,60,60,60,78,76,78,60,60,60,60,60,60 +off,off,off,on,on,off,on,72,72,72,78,76,78,62,62,62,62,62,62 +off,off,off,on,on,on,on,60,60,60,78,76,78,60,60,60,60,60,60 +off,off,on,off,off,off,on,72,72,72,78,76,78,62,62,62,62,62,62 +off,off,on,off,off,on,on,72,72,72,78,76,78,62,62,62,62,62,62 +off,off,on,off,on,off,on,72,72,72,78,76,78,62,62,62,62,62,62 +off,off,on,off,on,on,on,60,60,60,78,76,78,60,60,60,60,60,60 +off,off,on,on,off,off,on,72,72,72,78,76,78,62,62,62,62,62,62 +off,off,on,on,off,on,on,60,60,60,78,76,78,60,60,60,60,60,60 +off,off,on,on,on,off,on,72,72,72,78,76,78,62,62,62,62,62,62 +off,off,on,on,on,on,on,60,60,60,78,76,78,60,60,60,60,60,60 +off,on,off,off,off,off,any,36,36,36,62,62,62,36,36,36,36,36,36 +off,on,off,off,off,on,any,36,36,36,62,62,62,36,36,36,36,36,36 +off,on,off,off,on,off,any,36,36,36,62,62,62,36,36,36,36,36,36 +off,on,off,off,on,on,any,36,36,36,62,62,62,36,36,36,36,36,36 +off,on,off,on,off,off,any,36,36,36,62,62,62,36,36,36,36,36,36 +off,on,off,on,off,on,any,36,36,36,62,62,62,36,36,36,36,36,36 +off,on,off,on,on,off,any,36,36,36,62,62,62,36,36,36,36,36,36 +off,on,off,on,on,on,any,36,36,36,62,62,62,36,36,36,36,36,36 +off,on,on,off,off,off,any,36,36,36,62,62,62,36,36,36,36,36,36 +off,on,on,off,off,on,any,36,36,36,62,62,62,36,36,36,36,36,36 +off,on,on,off,on,off,any,36,36,36,62,62,62,36,36,36,36,36,36 +off,on,on,off,on,on,any,36,36,36,62,62,62,36,36,36,36,36,36 +off,on,on,on,off,off,any,36,36,36,62,62,62,36,36,36,36,36,36 +off,on,on,on,off,on,any,36,36,36,62,62,62,36,36,36,36,36,36 +off,on,on,on,on,off,any,36,36,36,62,62,62,36,36,36,36,36,36 +off,on,on,on,on,on,any,36,36,36,62,62,62,36,36,36,36,36,36 +off,off,any,any,any,any,off,78,76,78,78,76,78,62,62,62,62,62,62 +on,off,off,off,off,off,on,78,76,78,78,76,78,62,62,62,62,62,62 +on,off,off,off,off,on,on,78,76,78,78,76,78,62,62,62,62,62,62 +on,off,off,off,on,off,on,78,76,78,78,76,78,62,62,62,62,62,62 +on,off,off,off,on,on,on,72,72,72,78,76,78,62,62,62,62,62,62 +on,off,off,on,off,off,on,78,76,78,78,76,78,62,62,62,62,62,62 +on,off,off,on,off,on,on,72,72,72,78,76,78,62,62,62,62,62,62 +on,off,off,on,on,off,on,78,76,78,78,76,78,62,62,62,62,62,62 +on,off,off,on,on,on,on,72,72,72,78,76,78,62,62,62,62,62,62 +on,off,on,off,off,off,on,78,76,78,78,76,78,62,62,62,62,62,62 +on,off,on,off,off,on,on,78,76,78,78,76,78,62,62,62,62,62,62 +on,off,on,off,on,off,on,78,76,78,78,76,78,62,62,62,62,62,62 +on,off,on,off,on,on,on,72,72,72,78,76,78,62,62,62,62,62,62 +on,off,on,on,off,off,on,78,76,78,78,76,78,62,62,62,62,62,62 +on,off,on,on,off,on,on,72,72,72,78,76,78,62,62,62,62,62,62 +on,off,on,on,on,off,on,78,76,78,78,76,78,62,62,62,62,62,62 +on,off,on,on,on,on,on,72,72,72,78,76,78,62,62,62,62,62,62 +on,on,off,off,off,off,any,36,36,36,62,62,62,36,36,36,36,36,36 +on,on,off,off,off,on,any,36,36,36,62,62,62,36,36,36,36,36,36 +on,on,off,off,on,off,any,36,36,36,62,62,62,36,36,36,36,36,36 +on,on,off,off,on,on,any,36,36,36,62,62,62,36,36,36,36,36,36 +on,on,off,on,off,off,any,36,36,36,62,62,62,36,36,36,36,36,36 +on,on,off,on,off,on,any,36,36,36,62,62,62,36,36,36,36,36,36 +on,on,off,on,on,off,any,36,36,36,62,62,62,36,36,36,36,36,36 +on,on,off,on,on,on,any,36,36,36,62,62,62,36,36,36,36,36,36 +on,on,on,off,off,off,any,36,36,36,62,62,62,36,36,36,36,36,36 +on,on,on,off,off,on,any,36,36,36,62,62,62,36,36,36,36,36,36 +on,on,on,off,on,off,any,36,36,36,62,62,62,36,36,36,36,36,36 +on,on,on,off,on,on,any,36,36,36,62,62,62,36,36,36,36,36,36 +on,on,on,on,off,off,any,36,36,36,62,62,62,36,36,36,36,36,36 +on,on,on,on,off,on,any,36,36,36,62,62,62,36,36,36,36,36,36 +on,on,on,on,on,off,any,36,36,36,62,62,62,36,36,36,36,36,36 +on,on,on,on,on,on,any,36,36,36,62,62,62,36,36,36,36,36,36 +on,off,any,any,any,any,off,78,76,78,78,76,78,62,62,62,62,62,62 \ No newline at end of file diff --git a/conf/init.felix.rc b/conf/init.felix.rc index 92ae1c8..310f237 100644 --- a/conf/init.felix.rc +++ b/conf/init.felix.rc @@ -51,7 +51,7 @@ on property:vendor.device.modules.ready=1 chmod 660 /dev/touch_offload_fts chmod 660 /dev/touch_offload_fts_ext # Start the twoshay touch service - # start twoshay + start twoshay # Toggle glove_mode according to touch_sensitivity_mode on property:persist.vendor.touch_sensitivity_mode=0 && property:sys.boot_completed=1 diff --git a/device-felix.mk b/device-felix.mk index a92da68..ead7ab4 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -127,6 +127,13 @@ PRODUCT_PROPERTY_OVERRIDES += \ persist.bluetooth.a2dp_offload.disabled=false \ persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac-opus +# Bluetooth Tx power caps +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_felix_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits.csv \ + $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_felix_JP.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_JP.csv \ + $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_felix_EU.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_EU.csv \ + $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_felix_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_US.csv + # Spatial Audio PRODUCT_PACKAGES += \ libspatialaudio @@ -139,6 +146,10 @@ PRODUCT_PROPERTY_OVERRIDES += \ PRODUCT_PACKAGES_DEBUG += \ sar_test +# Bluetooth hci_inject test tool +PRODUCT_PACKAGES_DEBUG += \ + hci_inject + # Bluetooth PRODUCT_PRODUCT_PROPERTIES += \ persist.bluetooth.a2dp_aac.vbr_supported=true diff --git a/powerstats/felix/Android.bp b/powerstats/felix/Android.bp index b7c146f..6a46051 100644 --- a/powerstats/felix/Android.bp +++ b/powerstats/felix/Android.bp @@ -16,6 +16,7 @@ soong_namespace { imports: [ "hardware/google/pixel", "device/google/gs201/powerstats", + "device/google/gs-common/powerstats", ] } @@ -40,5 +41,6 @@ cc_binary { shared_libs: [ "android.hardware.power.stats-impl.gs201", + "android.hardware.power.stats-impl.gs-common", ], } diff --git a/powerstats/felix/service.cpp b/powerstats/felix/service.cpp index d20effd..92dd056 100644 --- a/powerstats/felix/service.cpp +++ b/powerstats/felix/service.cpp @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -28,6 +29,7 @@ #include #include +using aidl::android::hardware::power::stats::DevfreqStateResidencyDataProvider; using aidl::android::hardware::power::stats::DisplayStateResidencyDataProvider; using aidl::android::hardware::power::stats::EnergyConsumerType; using aidl::android::hardware::power::stats::GenericStateResidencyDataProvider; @@ -105,6 +107,39 @@ void addUwb(std::shared_ptr p) { "/sys/devices/platform/10db0000.spi/spi_master/spi16/spi16.0/uwb/power_stats", cfgs)); } +void addGPUGs202(std::shared_ptr p) { + std::map stateCoeffs; + + // Add GPU state residency + p->addStateResidencyDataProvider(std::make_unique( + "GPU", + "/sys/devices/platform/28000000.mali")); + + // Add GPU energy consumer + stateCoeffs = { + {"202000", 890}, + {"251000", 1102}, + {"302000", 1308}, + {"351000", 1522}, + {"400000", 1772}, + {"434000", 1931}, + {"471000", 2105}, + {"510000", 2292}, + {"572000", 2528}, + {"633000", 2811}, + {"701000", 3127}, + {"762000", 3452}, + {"848000", 4044}}; + + p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterAndAttrConsumer( + p, + EnergyConsumerType::OTHER, + "GPU", + {"S2S_VDD_G3D", "S8S_VDD_G3D_L2"}, + {{UID_TIME_IN_STATE, "/sys/devices/platform/28000000.mali/uid_time_in_state"}}, + stateCoeffs)); +} + int main() { LOG(INFO) << "Pixel PowerStats HAL AIDL Service is starting."; @@ -113,10 +148,24 @@ int main() { std::shared_ptr p = ndk::SharedRefBase::make(); - addGs201CommonDataProviders(p); + setEnergyMeter(p); + addAoC(p); + addPixelStateResidencyDataProvider(p); + addCPUclusters(p); addDisplay(p); - addUwb(p); + addSoC(p); + addGNSS(p); + addMobileRadio(p); + addPCIe(p); + addWifi(p); + addTPU(p); + addUfs(p); addNFC(p, "/sys/devices/platform/10970000.hsi2c/i2c-4/i2c-st21nfc/power_stats"); + addUwb(p); + addPowerDomains(p); + addDevfreq(p); + addGPUGs202(p); + addDvfsStats(p); const std::string instance = std::string() + PowerStats::descriptor + "/default"; binder_status_t status = AServiceManager_addService(p->asBinder().get(), instance.c_str());