diff --git a/android/config.go b/android/config.go
index 7d268fc..6d28680 100644
--- a/android/config.go
+++ b/android/config.go
@@ -29,6 +29,7 @@
 )
 
 var Bool = proptools.Bool
+var String = proptools.String
 
 // The configuration file name
 const configFileName = "soong.config"
@@ -460,3 +461,15 @@
 	}
 	return *c.config.ProductVariables.DeviceVndkVersion
 }
+
+func (c *deviceConfig) BtConfigIncludeDir() string {
+	return String(c.config.ProductVariables.BtConfigIncludeDir)
+}
+
+func (c *deviceConfig) BtHcilpIncluded() string {
+	return String(c.config.ProductVariables.BtHcilpIncluded)
+}
+
+func (c *deviceConfig) BtHciUseMct() bool {
+	return Bool(c.config.ProductVariables.BtHciUseMct)
+}
diff --git a/android/variable.go b/android/variable.go
index e6abee6..271454a 100644
--- a/android/variable.go
+++ b/android/variable.go
@@ -138,6 +138,10 @@
 	SanitizeDeviceArch []string `json:",omitempty"`
 
 	ArtUseReadBarrier *bool `json:",omitempty"`
+
+	BtConfigIncludeDir *string `json:",omitempty"`
+	BtHcilpIncluded    *string `json:",omitempty"`
+	BtHciUseMct        *bool   `json:",omitempty"`
 }
 
 func boolPtr(v bool) *bool {
