diff --git a/system/binder/android/bluetooth/IBluetoothGatt.aidl b/system/binder/android/bluetooth/IBluetoothGatt.aidl
index 78d02610f3580a290d5b9e3d1ae9a132722f6682..e6e334b0cbe30e762543638c4220694a29426172 100644
--- a/system/binder/android/bluetooth/IBluetoothGatt.aidl
+++ b/system/binder/android/bluetooth/IBluetoothGatt.aidl
@@ -98,7 +98,7 @@ interface IBluetoothGatt {
     void configureMTU(in int clientIf, in String address, in int mtu);
     void connectionParameterUpdate(in int clientIf, in String address, in int connectionPriority);
     void leConnectionUpdate(int clientIf, String address, int minInterval,
-                            int maxInterval, int slaveLatency, int supervisionTimeout,
+                            int maxInterval, int peripheralLatency, int supervisionTimeout,
                             int minConnectionEventLen, int maxConnectionEventLen);
 
     void registerServer(in ParcelUuid appId, in IBluetoothGattServerCallback callback);
diff --git a/system/bta/av/bta_av_aact.cc b/system/bta/av/bta_av_aact.cc
index 7186f040374706a9407fb6b95307664d9621a617..94d8727416967806160b0effc6f4de5c0eab31c9 100644
--- a/system/bta/av/bta_av_aact.cc
+++ b/system/bta/av/bta_av_aact.cc
@@ -1794,7 +1794,7 @@ void bta_av_do_start(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) {
   }
 
   /* disallow role switch during streaming, only if we are the central role
-   * i.e. allow role switch, if we are slave.
+   * i.e. allow role switch, if we are peripheral.
    * It would not hurt us, if the peer device wants us to be central */
   if ((BTM_GetRole(p_scb->PeerAddress(), &cur_role) == BTM_SUCCESS) &&
       (cur_role == HCI_ROLE_CENTRAL)) {
@@ -2292,7 +2292,7 @@ void bta_av_start_ok(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) {
     /* If sink starts stream, disable sniff mode here */
     if (!initiator) {
       /* If souce is the central role, disable role switch during streaming.
-       * Otherwise allow role switch, if source is slave.
+       * Otherwise allow role switch, if source is peripheral.
        * Because it would not hurt source, if the peer device wants source to be
        * central */
       if ((BTM_GetRole(p_scb->PeerAddress(), &cur_role) == BTM_SUCCESS) &&
diff --git a/system/bta/av/bta_av_main.cc b/system/bta/av/bta_av_main.cc
index 4c0b5807c08c0ed95f6472fa50fbae5204373afe..aa85851d218cb5690434b69b8b97b68c0e4e4f5c 100644
--- a/system/bta/av/bta_av_main.cc
+++ b/system/bta/av/bta_av_main.cc
@@ -842,7 +842,7 @@ static void bta_av_sys_rs_cback(UNUSED_ATTR tBTA_SYS_CONN_STATUS status,
   /* restore role switch policy, if role switch failed */
   if ((HCI_SUCCESS != app_id) &&
       (BTM_GetRole(peer_addr, &cur_role) == BTM_SUCCESS) &&
-      (cur_role == HCI_ROLE_SLAVE)) {
+      (cur_role == HCI_ROLE_PERIPHERAL)) {
     BTM_unblock_role_switch_for(peer_addr);
   }
 
@@ -941,7 +941,7 @@ static void bta_av_sco_chg_cback(tBTA_SYS_CONN_STATUS status, uint8_t id,
  * Function         bta_av_switch_if_needed
  *
  * Description      This function checks if there is another existing AV
- *                  channel that is local as slave role.
+ *                  channel that is local as peripheral role.
  *                  If so, role switch and remove it from link policy.
  *
  * Returns          true, if role switch is done
diff --git a/system/bta/dm/bta_dm_act.cc b/system/bta/dm/bta_dm_act.cc
index fcd76a2cf726f50f30442c4e92253252bf713472..c4054f151a23a4d54b3b683ef5232c92c58f5679 100644
--- a/system/bta/dm/bta_dm_act.cc
+++ b/system/bta/dm/bta_dm_act.cc
@@ -2157,10 +2157,10 @@ static void handle_role_change(const RawAddress& bd_addr, uint8_t new_role,
     bool need_policy_change = false;
 
     /* there's AV activity on this link */
-    if (new_role == HCI_ROLE_SLAVE && bta_dm_cb.device_list.count > 1 &&
+    if (new_role == HCI_ROLE_PERIPHERAL && bta_dm_cb.device_list.count > 1 &&
         hci_status == HCI_SUCCESS) {
       /* more than one connections and the AV connection is role switched
-       * to slave
+       * to peripheral
        * switch it back to central and remove the switch policy */
       BTM_SwitchRole(bd_addr, HCI_ROLE_CENTRAL);
       need_policy_change = true;
@@ -2543,7 +2543,7 @@ static void bta_dm_adjust_roles(bool delay_role_switch) {
             delayed to avoid the collision with link encryption setup */
 
           if (bta_dm_cb.device_list.peer_device[i].pref_role !=
-                  BTA_SLAVE_ROLE_ONLY &&
+                  BTA_PERIPHERAL_ROLE_ONLY &&
               !delay_role_switch) {
             BTM_SwitchRole(bta_dm_cb.device_list.peer_device[i].peer_bdaddr,
                            HCI_ROLE_CENTRAL);
@@ -3442,13 +3442,13 @@ void bta_dm_ble_confirm_reply(const RawAddress& bd_addr, bool accept) {
 /** This function set the preferred connection parameters */
 void bta_dm_ble_set_conn_params(const RawAddress& bd_addr,
                                 uint16_t conn_int_min, uint16_t conn_int_max,
-                                uint16_t slave_latency,
+                                uint16_t peripheral_latency,
                                 uint16_t supervision_tout) {
   L2CA_AdjustConnectionIntervals(&conn_int_min, &conn_int_max,
                                  BTM_BLE_CONN_INT_MIN);
 
-  BTM_BleSetPrefConnParams(bd_addr, conn_int_min, conn_int_max, slave_latency,
-                           supervision_tout);
+  BTM_BleSetPrefConnParams(bd_addr, conn_int_min, conn_int_max,
+                           peripheral_latency, supervision_tout);
 }
 
 /** This function update LE connection parameters */
diff --git a/system/bta/dm/bta_dm_api.cc b/system/bta/dm/bta_dm_api.cc
index d0a583930218a1183d14479919552cfabe73d8e1..775cb3c626a92b821647fff1b56f0c9f3b3f0f46 100644
--- a/system/bta/dm/bta_dm_api.cc
+++ b/system/bta/dm/bta_dm_api.cc
@@ -456,7 +456,7 @@ void BTA_DmBleSecurityGrant(const RawAddress& bd_addr,
  *                  scan_window      - scan window
  *                  min_conn_int     - minimum preferred connection interval
  *                  max_conn_int     - maximum preferred connection interval
- *                  slave_latency    - preferred slave latency
+ *                  peripheral_latency    - preferred peripheral latency
  *                  supervision_tout - preferred supervision timeout
  *
  *
@@ -465,11 +465,12 @@ void BTA_DmBleSecurityGrant(const RawAddress& bd_addr,
  ******************************************************************************/
 void BTA_DmSetBlePrefConnParams(const RawAddress& bd_addr,
                                 uint16_t min_conn_int, uint16_t max_conn_int,
-                                uint16_t slave_latency,
+                                uint16_t peripheral_latency,
                                 uint16_t supervision_tout) {
   do_in_main_thread(
-      FROM_HERE, base::Bind(bta_dm_ble_set_conn_params, bd_addr, min_conn_int,
-                            max_conn_int, slave_latency, supervision_tout));
+      FROM_HERE,
+      base::Bind(bta_dm_ble_set_conn_params, bd_addr, min_conn_int,
+                 max_conn_int, peripheral_latency, supervision_tout));
 }
 
 /*******************************************************************************
@@ -484,7 +485,7 @@ void BTA_DmSetBlePrefConnParams(const RawAddress& bd_addr,
  *                                  [0x0004 ~ 0x4000]
  *                  max_int   -     maximum connection interval,
  *                                  [0x0004 ~ 0x4000]
- *                  latency   -     slave latency [0 ~ 500]
+ *                  latency   -     peripheral latency [0 ~ 500]
  *                  timeout   -     supervision timeout [0x000a ~ 0xc80]
  *
  * Returns          void
diff --git a/system/bta/dm/bta_dm_cfg.cc b/system/bta/dm/bta_dm_cfg.cc
index df6638a0e81bfd5658c9f241baad98bbd52664aa..887db5a5183bab109f8d45410c226c13ac2a2310 100644
--- a/system/bta/dm/bta_dm_cfg.cc
+++ b/system/bta/dm/bta_dm_cfg.cc
@@ -82,7 +82,7 @@ const tBTA_DM_CFG bta_dm_cfg = {
 
 #ifndef BTA_PANU_ROLE
 /* By default, AV role (backward BTA_CENTRAL_ROLE_PREF) */
-#define BTA_PANU_ROLE BTA_SLAVE_ROLE_ONLY
+#define BTA_PANU_ROLE BTA_PERIPHERAL_ROLE_ONLY
 #endif
 #define BTA_DM_NUM_RM_ENTRY 6
 
diff --git a/system/bta/gatt/bta_gattc_utils.cc b/system/bta/gatt/bta_gattc_utils.cc
index cee26cd8a475ddcf593dccccbdb11e822f6aa33b..fd42494f6548af0931a416a0777eedf975873b1f 100644
--- a/system/bta/gatt/bta_gattc_utils.cc
+++ b/system/bta/gatt/bta_gattc_utils.cc
@@ -607,7 +607,7 @@ bool bta_gattc_conn_dealloc(const RawAddress& remote_bda) {
 tBTA_GATTC_CLCB* bta_gattc_find_int_conn_clcb(tBTA_GATTC_DATA* p_msg) {
   tBTA_GATTC_CLCB* p_clcb = NULL;
 
-  if (p_msg->int_conn.role == HCI_ROLE_SLAVE)
+  if (p_msg->int_conn.role == HCI_ROLE_PERIPHERAL)
     bta_gattc_conn_find_alloc(p_msg->int_conn.remote_bda);
 
   /* try to locate a logic channel */
@@ -616,7 +616,7 @@ tBTA_GATTC_CLCB* bta_gattc_find_int_conn_clcb(tBTA_GATTC_DATA* p_msg) {
                                       p_msg->int_conn.transport);
   if (p_clcb == NULL) {
     /* for a background connection or listening connection */
-    if (/*p_msg->int_conn.role == HCI_ROLE_SLAVE ||  */
+    if (/*p_msg->int_conn.role == HCI_ROLE_PERIPHERAL ||  */
         bta_gattc_check_bg_conn(p_msg->int_conn.client_if,
                                 p_msg->int_conn.remote_bda,
                                 p_msg->int_conn.role)) {
diff --git a/system/bta/include/bta_api.h b/system/bta/include/bta_api.h
index 615b657d6768efed04b9baaa9292263637c01016..172657f9c893baed5b554a4dfb784d5b6ab20394 100644
--- a/system/bta/include/bta_api.h
+++ b/system/bta/include/bta_api.h
@@ -116,7 +116,7 @@ typedef uint16_t tBTA_DM_CONN;
 #define BTA_ANY_ROLE 0x00
 #define BTA_CENTRAL_ROLE_PREF 0x01
 #define BTA_CENTRAL_ROLE_ONLY 0x02
-#define BTA_SLAVE_ROLE_ONLY \
+#define BTA_PERIPHERAL_ROLE_ONLY \
   0x03 /* Used for PANU only, skip role switch to central */
 
 typedef uint8_t tBTA_PREF_ROLES;
@@ -128,10 +128,10 @@ enum {
                                 an incoming connection, when it already has
                                 another connection in central role */
   BTA_DM_PARTIAL_SCATTERNET, /* Device supports partial scatternet. It can have
-                                simultaneous connection in Central and Slave
-                                roles for short period of time */
+                                simultaneous connection in Central and
+                                Peripheral roles for short period of time */
   BTA_DM_FULL_SCATTERNET /* Device can have simultaneous connection in central
-                            and slave roles */
+                            and peripheral roles */
 
 };
 
@@ -976,7 +976,7 @@ extern void BTA_DmAddBleKey(const RawAddress& bd_addr,
  * Parameters:      bd_addr          - BD address of the peripheral
  *                  min_conn_int     - minimum preferred connection interval
  *                  max_conn_int     - maximum preferred connection interval
- *                  slave_latency    - preferred slave latency
+ *                  peripheral_latency    - preferred peripheral latency
  *                  supervision_tout - preferred supervision timeout
  *
  *
@@ -986,7 +986,7 @@ extern void BTA_DmAddBleKey(const RawAddress& bd_addr,
 extern void BTA_DmSetBlePrefConnParams(const RawAddress& bd_addr,
                                        uint16_t min_conn_int,
                                        uint16_t max_conn_int,
-                                       uint16_t slave_latency,
+                                       uint16_t peripheral_latency,
                                        uint16_t supervision_tout);
 
 /*******************************************************************************
@@ -1073,7 +1073,7 @@ extern void BTA_DmBleEnableRemotePrivacy(const RawAddress& bd_addr,
  * Parameters:      bd_addr   - BD address of the peer
  *                  min_int   - minimum connection interval, [0x0004 ~ 0x4000]
  *                  max_int   - maximum connection interval, [0x0004 ~ 0x4000]
- *                  latency   - slave latency [0 ~ 500]
+ *                  latency   - peripheral latency [0 ~ 500]
  *                  timeout   - supervision timeout [0x000a ~ 0xc80]
  *
  * Returns          void
diff --git a/system/btif/src/btif_bqr.cc b/system/btif/src/btif_bqr.cc
index 0726a2f0aefa3de6bdf5f3519ac21f563df0e3de..7071d49cf73504f92c5121c8c2291fe588d830c5 100644
--- a/system/btif/src/btif_bqr.cc
+++ b/system/btif/src/btif_bqr.cc
@@ -122,7 +122,8 @@ std::string BqrVseSubEvt::ToString() const {
   ss << QualityReportIdToString(bqr_link_quality_event_.quality_report_id)
      << ", Handle: " << loghex(bqr_link_quality_event_.connection_handle)
      << ", " << PacketTypeToString(bqr_link_quality_event_.packet_types) << ", "
-     << ((bqr_link_quality_event_.connection_role == 0) ? "Central" : "Slave ")
+     << ((bqr_link_quality_event_.connection_role == 0) ? "Central"
+                                                        : "Peripheral ")
      << ", PwLv: " << std::to_string(bqr_link_quality_event_.tx_power_level)
      << ", RSSI: " << std::to_string(bqr_link_quality_event_.rssi)
      << ", SNR: " << std::to_string(bqr_link_quality_event_.snr)
diff --git a/system/device/include/controller.h b/system/device/include/controller.h
index 276dba9b6b3523d5624135ffd52135d56f8a7431..9687a908c80af94fdff1343284f751536267aa97 100644
--- a/system/device/include/controller.h
+++ b/system/device/include/controller.h
@@ -43,7 +43,7 @@ typedef struct controller_t {
   bool (*supports_interlaced_inquiry_scan)(void);
   bool (*supports_rssi_with_inquiry_results)(void);
   bool (*supports_extended_inquiry_response)(void);
-  bool (*supports_central_slave_role_switch)(void);
+  bool (*supports_central_peripheral_role_switch)(void);
   bool (*supports_enhanced_setup_synchronous_connection)(void);
   bool (*supports_enhanced_accept_synchronous_connection)(void);
   bool (*supports_3_slot_packets)(void);
@@ -83,7 +83,7 @@ typedef struct controller_t {
   bool (*supports_ble_periodic_advertising_sync_transfer_sender)(void);
   bool (*supports_ble_periodic_advertising_sync_transfer_recipient)(void);
   bool (*supports_ble_connected_isochronous_stream_central)(void);
-  bool (*supports_ble_connected_isochronous_stream_slave)(void);
+  bool (*supports_ble_connected_isochronous_stream_peripheral)(void);
   bool (*supports_ble_isochronous_broadcaster)(void);
   bool (*supports_ble_synchronized_receiver)(void);
 
diff --git a/system/device/src/controller.cc b/system/device/src/controller.cc
index 80c29cdcd1c1a3e0ff09921abff83d71e6ad16bc..0cc86676d46abb5a0e8e530940cc6a919a22cb08 100644
--- a/system/device/src/controller.cc
+++ b/system/device/src/controller.cc
@@ -214,7 +214,7 @@ static future_t* start_up(void) {
         response, &features_ble);
 
     iso_supported = HCI_LE_CIS_CENTRAL(features_ble.as_array) ||
-                    HCI_LE_CIS_SLAVE(features_ble.as_array) ||
+                    HCI_LE_CIS_PERIPHERAL(features_ble.as_array) ||
                     HCI_LE_ISO_BROADCASTER(features_ble.as_array);
 
     if (iso_supported) {
@@ -393,7 +393,7 @@ static bool supports_extended_inquiry_response(void) {
   return HCI_EXT_INQ_RSP_SUPPORTED(features_classic[0].as_array);
 }
 
-static bool supports_central_slave_role_switch(void) {
+static bool supports_central_peripheral_role_switch(void) {
   CHECK(readable);
   return HCI_SWITCH_SUPPORTED(features_classic[0].as_array);
 }
@@ -575,7 +575,7 @@ static bool supports_ble_periodic_advertising(void) {
 static bool supports_ble_peripheral_initiated_feature_exchange(void) {
   CHECK(readable);
   CHECK(ble_supported);
-  return HCI_LE_SLAVE_INIT_FEAT_EXC_SUPPORTED(features_ble.as_array);
+  return HCI_LE_PERIPHERAL_INIT_FEAT_EXC_SUPPORTED(features_ble.as_array);
 }
 
 static bool supports_ble_connection_parameter_request(void) {
@@ -604,10 +604,10 @@ static bool supports_ble_connected_isochronous_stream_central(void) {
   return HCI_LE_CIS_CENTRAL(features_ble.as_array);
 }
 
-static bool supports_ble_connected_isochronous_stream_slave(void) {
+static bool supports_ble_connected_isochronous_stream_peripheral(void) {
   CHECK(readable);
   CHECK(ble_supported);
-  return HCI_LE_CIS_SLAVE(features_ble.as_array);
+  return HCI_LE_CIS_PERIPHERAL(features_ble.as_array);
 }
 
 static bool supports_ble_isochronous_broadcaster(void) {
@@ -745,7 +745,7 @@ static const controller_t interface = {
     supports_interlaced_inquiry_scan,
     supports_rssi_with_inquiry_results,
     supports_extended_inquiry_response,
-    supports_central_slave_role_switch,
+    supports_central_peripheral_role_switch,
     supports_enhanced_setup_synchronous_connection,
     supports_enhanced_accept_synchronous_connection,
     supports_3_slot_packets,
@@ -785,7 +785,7 @@ static const controller_t interface = {
     supports_ble_periodic_advertising_sync_transfer_sender,
     supports_ble_periodic_advertising_sync_transfer_recipient,
     supports_ble_connected_isochronous_stream_central,
-    supports_ble_connected_isochronous_stream_slave,
+    supports_ble_connected_isochronous_stream_peripheral,
     supports_ble_isochronous_broadcaster,
     supports_ble_synchronized_receiver,
 
diff --git a/system/doc/supported_features.md b/system/doc/supported_features.md
index c5a486b6d9d79e6f58309408752c4bc328d5d548..50ca84d0270149d0011827e12cd6d42e932b0972 100644
--- a/system/doc/supported_features.md
+++ b/system/doc/supported_features.md
@@ -5,12 +5,12 @@ Qualified Design ID: 83953
 
 Protocol / Profile | Version | Roles
 -------------------+---------+-------
-L2CAP              | 4.2     | Initiator, Acceptor, LE Central, LE Slave
+L2CAP              | 4.2     | Initiator, Acceptor, LE Central, LE Peripheral
 SDP                | 4.2     | Server, Client
 GAP                | 4.2     | BR/EDR, LE Central, LE Periperhal, LE Observer, LE Broadcaster
 GATT               | 4.2     | Client, Server; LE and BR/EDR
 ATT                | 4.2     | Client, Server; LE and BR/EDR
-SM                 | 4.2     | Central (Initiator), Slave (Responder)
+SM                 | 4.2     | Central (Initiator), Peripheral (Responder)
 AVCTP              | 1.4     | Controller, Target
 AVDTP              | 1.2     | Source, Initiator, Acceptor
 BNEP               | 1.0     |
diff --git a/system/embdrv/sbc/decoder/include/oi_bt_spec.h b/system/embdrv/sbc/decoder/include/oi_bt_spec.h
index 67d5217cdbd18a0dd5e2c79513d1b3ec6fcaa6f4..939308f589a7b00b088dd2e0a75a35d65ba13004 100644
--- a/system/embdrv/sbc/decoder/include/oi_bt_spec.h
+++ b/system/embdrv/sbc/decoder/include/oi_bt_spec.h
@@ -39,8 +39,8 @@
 extern "C" {
 #endif
 
-/** The maximum number of active slaves in a piconet. */
-#define OI_BT_MAX_ACTIVE_SLAVES 7
+/** The maximum number of active peripherals in a piconet. */
+#define OI_BT_MAX_ACTIVE_PERIPHERALS 7
 
 /**
  * @name Data types for working with UUIDs
diff --git a/system/gd/cert/py_hci.py b/system/gd/cert/py_hci.py
index 5c7e5e028d516806ed0129ab2cb07a1c8bfaee94..187c23f11eeb3a3805e8ed84db8d9215813ca9ff 100644
--- a/system/gd/cert/py_hci.py
+++ b/system/gd/cert/py_hci.py
@@ -143,7 +143,7 @@ class PyHci(Closable):
 
         self.send_command_with_status(
             hci_packets.AcceptConnectionRequestBuilder(connection_request.get().GetBdAddr(),
-                                                       hci_packets.AcceptConnectionRequestRole.REMAIN_SLAVE))
+                                                       hci_packets.AcceptConnectionRequestRole.REMAIN_PERIPHERAL))
         return self.complete_connection()
 
     def complete_connection(self):
diff --git a/system/gd/hci/acl_builder_test.cc b/system/gd/hci/acl_builder_test.cc
index 7fc59c69b714d00dfb316e3a4aea9a4f65eebecf..4c242b32b30e14cc047a03e8cd9d0d6f938c5125 100644
--- a/system/gd/hci/acl_builder_test.cc
+++ b/system/gd/hci/acl_builder_test.cc
@@ -58,7 +58,7 @@ class AclBuilderTest : public ::testing::Test {
 TEST(AclBuilderTest, buildAclCount) {
   uint16_t handle = 0x0314;
   PacketBoundaryFlag packet_boundary_flag = PacketBoundaryFlag::FIRST_AUTOMATICALLY_FLUSHABLE;
-  BroadcastFlag broadcast_flag = BroadcastFlag::ACTIVE_SLAVE_BROADCAST;
+  BroadcastFlag broadcast_flag = BroadcastFlag::ACTIVE_PERIPHERAL_BROADCAST;
 
   std::unique_ptr<RawBuilder> count_payload = std::make_unique<RawBuilder>();
   count_payload->AddOctets(counting_bytes);
diff --git a/system/gd/hci/acl_manager/classic_impl.h b/system/gd/hci/acl_manager/classic_impl.h
index 8143815638c7da9f5341f24cd4912335d535dc63..2882c350b98fb5d453382653a56dfec7c13ee2f3 100644
--- a/system/gd/hci/acl_manager/classic_impl.h
+++ b/system/gd/hci/acl_manager/classic_impl.h
@@ -199,7 +199,7 @@ struct classic_impl : public DisconnectorForLe, public security::ISecurityManage
       ASSERT_LOG(incoming_connecting_address_ == address, "No prior connection request for %s",
                  address.ToString().c_str());
       incoming_connecting_address_ = Address::kEmpty;
-      current_role = Role::SLAVE;
+      current_role = Role::PERIPHERAL;
     }
     if (status != ErrorCode::SUCCESS) {
       client_handler_->Post(common::BindOnce(&ConnectionCallbacks::OnConnectFail, common::Unretained(client_callbacks_),
diff --git a/system/gd/hci/acl_manager_test.cc b/system/gd/hci/acl_manager_test.cc
index cc19f8596895ce79b1b36d709461c942be1a8757..58d8bc74607e76185ac289e8233268e277ade35e 100644
--- a/system/gd/hci/acl_manager_test.cc
+++ b/system/gd/hci/acl_manager_test.cc
@@ -64,7 +64,7 @@ std::unique_ptr<BasePacketBuilder> NextPayload(uint16_t handle) {
 
 std::unique_ptr<AclPacketBuilder> NextAclPacket(uint16_t handle) {
   PacketBoundaryFlag packet_boundary_flag = PacketBoundaryFlag::FIRST_AUTOMATICALLY_FLUSHABLE;
-  BroadcastFlag broadcast_flag = BroadcastFlag::ACTIVE_SLAVE_BROADCAST;
+  BroadcastFlag broadcast_flag = BroadcastFlag::ACTIVE_PERIPHERAL_BROADCAST;
   return AclPacketBuilder::Create(handle, packet_boundary_flag, broadcast_flag, NextPayload(handle));
 }
 
@@ -590,7 +590,7 @@ class AclManagerWithLeConnectionTest : public AclManagerTest {
     test_hci_layer_->IncomingLeMetaEvent(LeConnectionCompleteBuilder::Create(
         ErrorCode::SUCCESS,
         handle_,
-        Role::SLAVE,
+        Role::PERIPHERAL,
         AddressType::PUBLIC_DEVICE_ADDRESS,
         remote,
         0x0100,
@@ -661,8 +661,15 @@ TEST_F(AclManagerTest, invoke_registered_callback_le_connection_complete_fail) {
   EXPECT_CALL(mock_le_connection_callbacks_,
               OnLeConnectFail(remote_with_type, ErrorCode::CONNECTION_REJECTED_LIMITED_RESOURCES));
   test_hci_layer_->IncomingLeMetaEvent(LeConnectionCompleteBuilder::Create(
-      ErrorCode::CONNECTION_REJECTED_LIMITED_RESOURCES, 0x123, Role::SLAVE, AddressType::PUBLIC_DEVICE_ADDRESS, remote,
-      0x0100, 0x0010, 0x0011, ClockAccuracy::PPM_30));
+      ErrorCode::CONNECTION_REJECTED_LIMITED_RESOURCES,
+      0x123,
+      Role::PERIPHERAL,
+      AddressType::PUBLIC_DEVICE_ADDRESS,
+      remote,
+      0x0100,
+      0x0010,
+      0x0011,
+      ClockAccuracy::PPM_30));
 
   test_hci_layer_->SetCommandFuture();
   packet = test_hci_layer_->GetLastCommandPacket(OpCode::LE_REMOVE_DEVICE_FROM_CONNECT_LIST);
@@ -692,7 +699,7 @@ TEST_F(AclManagerTest, cancel_le_connection) {
   test_hci_layer_->IncomingLeMetaEvent(LeConnectionCompleteBuilder::Create(
       ErrorCode::UNKNOWN_CONNECTION,
       0x123,
-      Role::SLAVE,
+      Role::PERIPHERAL,
       AddressType::PUBLIC_DEVICE_ADDRESS,
       remote,
       0x0100,
@@ -851,15 +858,16 @@ TEST_F(AclManagerWithConnectionTest, acl_send_data_credits) {
 
 TEST_F(AclManagerWithConnectionTest, send_switch_role) {
   test_hci_layer_->SetCommandFuture();
-  acl_manager_->SwitchRole(connection_->GetAddress(), Role::SLAVE);
+  acl_manager_->SwitchRole(connection_->GetAddress(), Role::PERIPHERAL);
   auto packet = test_hci_layer_->GetCommandPacket(OpCode::SWITCH_ROLE);
   auto command_view = SwitchRoleView::Create(packet);
   ASSERT_TRUE(command_view.IsValid());
   ASSERT_EQ(command_view.GetBdAddr(), connection_->GetAddress());
-  ASSERT_EQ(command_view.GetRole(), Role::SLAVE);
+  ASSERT_EQ(command_view.GetRole(), Role::PERIPHERAL);
 
-  EXPECT_CALL(mock_connection_management_callbacks_, OnRoleChange(Role::SLAVE));
-  test_hci_layer_->IncomingEvent(RoleChangeBuilder::Create(ErrorCode::SUCCESS, connection_->GetAddress(), Role::SLAVE));
+  EXPECT_CALL(mock_connection_management_callbacks_, OnRoleChange(Role::PERIPHERAL));
+  test_hci_layer_->IncomingEvent(
+      RoleChangeBuilder::Create(ErrorCode::SUCCESS, connection_->GetAddress(), Role::PERIPHERAL));
 }
 
 TEST_F(AclManagerWithConnectionTest, send_write_default_link_policy_settings) {
@@ -1268,7 +1276,7 @@ TEST_F(AclManagerWithResolvableAddressTest, create_connection_cancel_fail) {
   test_hci_layer_->IncomingLeMetaEvent(LeConnectionCompleteBuilder::Create(
       ErrorCode::SUCCESS,
       0x123,
-      Role::SLAVE,
+      Role::PERIPHERAL,
       AddressType::PUBLIC_DEVICE_ADDRESS,
       remote,
       0x0100,
diff --git a/system/gd/hci/cert/direct_hci_test.py b/system/gd/hci/cert/direct_hci_test.py
index 5166ceb658f066f86afd4eda2f4db2f461a1ed5f..d858e2b24f3b9500c757394f2b4c993f3ccdc48c 100644
--- a/system/gd/hci/cert/direct_hci_test.py
+++ b/system/gd/hci/cert/direct_hci_test.py
@@ -346,7 +346,7 @@ class DirectHciTest(GdBaseTestClass):
         connection_request = connect_request_capture.get()
         self.send_hal_hci_command(
             hci_packets.AcceptConnectionRequestBuilder(connection_request.GetBdAddr(),
-                                                       hci_packets.AcceptConnectionRequestRole.REMAIN_SLAVE))
+                                                       hci_packets.AcceptConnectionRequestRole.REMAIN_PERIPHERAL))
 
         (dut_handle, cert_handle) = self._verify_connection_complete()
 
@@ -387,7 +387,7 @@ class DirectHciTest(GdBaseTestClass):
         connection_request = connection_request_capture.get()
         self.dut_hci.send_command_with_status(
             hci_packets.AcceptConnectionRequestBuilder(connection_request.GetBdAddr(),
-                                                       hci_packets.AcceptConnectionRequestRole.REMAIN_SLAVE))
+                                                       hci_packets.AcceptConnectionRequestRole.REMAIN_PERIPHERAL))
 
         (dut_handle, cert_handle) = self._verify_connection_complete()
 
diff --git a/system/gd/hci/controller.cc b/system/gd/hci/controller.cc
index 23e934960938fbd0dcdae59b05ddca98e0dcd751..78daf2c9570a20d911c7742368ee8027648322f4 100644
--- a/system/gd/hci/controller.cc
+++ b/system/gd/hci/controller.cc
@@ -909,7 +909,7 @@ LOCAL_LE_FEATURE_ACCESSOR(SupportsBlePeriodicAdvertising, 13)
 LOCAL_LE_FEATURE_ACCESSOR(SupportsBlePeriodicAdvertisingSyncTransferSender, 24)
 LOCAL_LE_FEATURE_ACCESSOR(SupportsBlePeriodicAdvertisingSyncTransferRecipient, 25)
 LOCAL_LE_FEATURE_ACCESSOR(SupportsBleConnectedIsochronousStreamCentral, 28)
-LOCAL_LE_FEATURE_ACCESSOR(SupportsBleConnectedIsochronousStreamSlave, 29)
+LOCAL_LE_FEATURE_ACCESSOR(SupportsBleConnectedIsochronousStreamPeripheral, 29)
 LOCAL_LE_FEATURE_ACCESSOR(SupportsBleIsochronousBroadcaster, 30)
 LOCAL_LE_FEATURE_ACCESSOR(SupportsBleSynchronizedReceiver, 31)
 
diff --git a/system/gd/hci/controller.h b/system/gd/hci/controller.h
index f14f1729cc78382d7ba6f7ca0ed8c60743954909..e2cb9a36a4373e51e4ef6dfdca8ac3f5cd62da98 100644
--- a/system/gd/hci/controller.h
+++ b/system/gd/hci/controller.h
@@ -86,7 +86,7 @@ class Controller : public Module {
   virtual bool SupportsBlePeriodicAdvertisingSyncTransferSender() const;
   virtual bool SupportsBlePeriodicAdvertisingSyncTransferRecipient() const;
   virtual bool SupportsBleConnectedIsochronousStreamCentral() const;
-  virtual bool SupportsBleConnectedIsochronousStreamSlave() const;
+  virtual bool SupportsBleConnectedIsochronousStreamPeripheral() const;
   virtual bool SupportsBleIsochronousBroadcaster() const;
   virtual bool SupportsBleSynchronizedReceiver() const;
 
diff --git a/system/gd/hci/facade/acl_manager_facade.proto b/system/gd/hci/facade/acl_manager_facade.proto
index 1088207351255144e0419dd8f85e4695e98d828c..7c4f4e1ca47cee727cfb57047c9026067005e332 100644
--- a/system/gd/hci/facade/acl_manager_facade.proto
+++ b/system/gd/hci/facade/acl_manager_facade.proto
@@ -31,7 +31,7 @@ message PolicyMsg {
 
 enum NewRole {
   CENTRAL = 0;
-  SLAVE = 1;
+  PERIPHERAL = 1;
 }
 
 message RoleMsg {
diff --git a/system/gd/hci/facade/facade.cc b/system/gd/hci/facade/facade.cc
index 15248bf699dbad526583dcd1b071faa6df0565d0..9127258d39f5ffac851af46038b0ea54174ce480 100644
--- a/system/gd/hci/facade/facade.cc
+++ b/system/gd/hci/facade/facade.cc
@@ -111,10 +111,13 @@ class HciLayerFacadeService : public HciLayerFacade::Service {
 
   class TestAclBuilder : public AclPacketBuilder {
    public:
-    explicit TestAclBuilder(uint16_t handle, uint8_t packet_boundary_flag, uint8_t broadcast_flag,
-                            std::vector<uint8_t> payload)
-        : AclPacketBuilder(0xbad, PacketBoundaryFlag::CONTINUING_FRAGMENT, BroadcastFlag::ACTIVE_SLAVE_BROADCAST),
-          handle_(handle), pb_flag_(packet_boundary_flag), b_flag_(broadcast_flag), bytes_(std::move(payload)) {}
+    explicit TestAclBuilder(
+        uint16_t handle, uint8_t packet_boundary_flag, uint8_t broadcast_flag, std::vector<uint8_t> payload)
+        : AclPacketBuilder(0xbad, PacketBoundaryFlag::CONTINUING_FRAGMENT, BroadcastFlag::ACTIVE_PERIPHERAL_BROADCAST),
+          handle_(handle),
+          pb_flag_(packet_boundary_flag),
+          b_flag_(broadcast_flag),
+          bytes_(std::move(payload)) {}
 
     size_t size() const override {
       return bytes_.size();
diff --git a/system/gd/hci/hci_packets.pdl b/system/gd/hci/hci_packets.pdl
index 7be8e7fdd99ad7c0026aab0acff25c540fd190b4..270d84ebad64ae98a4dbef483f8febb348b266d2 100644
--- a/system/gd/hci/hci_packets.pdl
+++ b/system/gd/hci/hci_packets.pdl
@@ -45,7 +45,7 @@ enum PacketBoundaryFlag : 2 {
 
 enum BroadcastFlag : 2 {
   POINT_TO_POINT = 0,
-  ACTIVE_SLAVE_BROADCAST = 1,
+  ACTIVE_PERIPHERAL_BROADCAST = 1,
 }
 
 packet AclPacket {
@@ -906,7 +906,7 @@ packet CreateConnectionCancelComplete : CommandComplete (command_op_code = CREAT
 
 enum AcceptConnectionRequestRole : 8 {
   BECOME_CENTRAL = 0x00,
-  REMAIN_SLAVE = 0x01,
+  REMAIN_PERIPHERAL = 0x01,
 }
 
 packet AcceptConnectionRequest : ConnectionManagementCommand (op_code = ACCEPT_CONNECTION_REQUEST) {
@@ -1265,7 +1265,7 @@ packet RoleDiscovery : ConnectionManagementCommand (op_code = ROLE_DISCOVERY) {
 
 enum Role : 8 {
   CENTRAL = 0x00,
-  SLAVE = 0x01,
+  PERIPHERAL = 0x01,
 }
 
 packet RoleDiscoveryComplete : CommandComplete (command_op_code = ROLE_DISCOVERY) {
@@ -3414,7 +3414,7 @@ packet LeSetCigParameters : CommandPacket (op_code = LE_SET_CIG_PARAMETERS) {
   cig_id : 8,
   sdu_interval_m_to_s : 24,
   sdu_interval_s_to_m : 24,
-  slaves_clock_accuracy : ClockAccuracy,
+  peripherals_clock_accuracy : ClockAccuracy,
   packing : Packing,
   framing : Enable,
   max_transport_latency_m_to_s : 16,
diff --git a/system/gd/l2cap/l2cap_packets.pdl b/system/gd/l2cap/l2cap_packets.pdl
index 943f068dc4d24487aeca57fcddfcce0357d5252b..005467b8d7d1851b0875144eceaac8392397c00f 100644
--- a/system/gd/l2cap/l2cap_packets.pdl
+++ b/system/gd/l2cap/l2cap_packets.pdl
@@ -582,7 +582,7 @@ packet LeDisconnectionResponse : LeControl (code = DISCONNECTION_RESPONSE) {
 packet ConnectionParameterUpdateRequest : LeControl (code = CONNECTION_PARAMETER_UPDATE_REQUEST) {
   interval_min : 16,
   interval_max : 16,
-  slave_latency : 16,
+  peripheral_latency : 16,
   timeout_multiplier : 16,
 }
 
diff --git a/system/gd/l2cap/le/cert/le_l2cap_test.py b/system/gd/l2cap/le/cert/le_l2cap_test.py
index af17c74d9ae9f9c9c7dd673f6c023d47dec4f17f..623ca3d1c263e733003dae5be408db90bf9b667e 100644
--- a/system/gd/l2cap/le/cert/le_l2cap_test.py
+++ b/system/gd/l2cap/le/cert/le_l2cap_test.py
@@ -155,8 +155,8 @@ class LeL2capTest(GdBaseTestClass):
     @metadata(pts_test_id="L2CAP/LE/CPU/BV-01-C", pts_test_name="Send Connection Parameter Update Request")
     def test_send_connection_parameter_update_request(self):
         """
-        Verify that the IUT is able to send the connection parameter update Request to Lower Tester when acting as a slave device.
-        NOTE: This is an optional feature. Also if both LL central and slave supports 4.1+ connection parameter update, this should happen in LL only, not L2CAP
+        Verify that the IUT is able to send the connection parameter update Request to Lower Tester when acting as a peripheral device.
+        NOTE: This is an optional feature. Also if both LL central and peripheral supports 4.1+ connection parameter update, this should happen in LL only, not L2CAP
         NOTE: Currently we need to establish at least one dynamic channel to allow update.
         """
         self._setup_link_from_cert()
@@ -193,7 +193,7 @@ class LeL2capTest(GdBaseTestClass):
     @metadata(pts_test_id="L2CAP/LE/CPU/BI-02-C", pts_test_name="Reject Connection Parameter Update Request")
     def test_reject_connection_parameter_update_request(self):
         """
-        Verify that the IUT is able to reject a request for connection parameter update in slave mode.
+        Verify that the IUT is able to reject a request for connection parameter update in peripheral mode.
         """
         self._setup_link_from_cert()
         self.cert_l2cap.get_control_channel().send(
diff --git a/system/gd/l2cap/le/internal/link.cc b/system/gd/l2cap/le/internal/link.cc
index 71cc949c6a3f6d9128a02fb84275f9b5054fc584..6aa9066a00e3e0930dc8d898eda7f1e625f6bd12 100644
--- a/system/gd/l2cap/le/internal/link.cc
+++ b/system/gd/l2cap/le/internal/link.cc
@@ -126,8 +126,8 @@ bool Link::CheckConnectionParameters(
 
 void Link::SendConnectionParameterUpdate(uint16_t conn_interval_min, uint16_t conn_interval_max, uint16_t conn_latency,
                                          uint16_t supervision_timeout, uint16_t min_ce_length, uint16_t max_ce_length) {
-  if (acl_connection_->GetRole() == hci::Role::SLAVE) {
-    // TODO: If both LL central and slave support 4.1, use HCI command directly
+  if (acl_connection_->GetRole() == hci::Role::PERIPHERAL) {
+    // TODO: If both LL central and peripheral support 4.1, use HCI command directly
     signalling_manager_.SendConnectionParameterUpdateRequest(conn_interval_min, conn_interval_max, conn_latency,
                                                              supervision_timeout);
     return;
diff --git a/system/gd/l2cap/le/internal/link.h b/system/gd/l2cap/le/internal/link.h
index fab826f2775314fc4f325b5696b71b71ac4db83d..eba0dc1d227e3c04d1f03bb73ccaac9a6cb7f3b6 100644
--- a/system/gd/l2cap/le/internal/link.h
+++ b/system/gd/l2cap/le/internal/link.h
@@ -159,7 +159,7 @@ class Link : public l2cap::internal::ILink, public hci::acl_manager::LeConnectio
 
   // Received connection update complete from ACL manager. SignalId is bound to a valid number when we need to send a
   // response to remote. If SignalId is bound to an invalid number, we don't send a response to remote, because the
-  // connection update request is not from remote LL slave.
+  // connection update request is not from remote LL peripheral.
   void on_connection_update_complete(SignalId signal_id, hci::ErrorCode error_code);
 };
 
diff --git a/system/gd/l2cap/le/internal/signalling_manager.cc b/system/gd/l2cap/le/internal/signalling_manager.cc
index 26b4d8da69761feb05fa7be0217d9ccb50c014c6..b6cfe1e2b0d6fe037991f62360822e8d9447bcbd 100644
--- a/system/gd/l2cap/le/internal/signalling_manager.cc
+++ b/system/gd/l2cap/le/internal/signalling_manager.cc
@@ -87,10 +87,10 @@ void LeSignallingManager::SendDisconnectRequest(Cid scid, Cid dcid) {
   }
 }
 
-void LeSignallingManager::SendConnectionParameterUpdateRequest(uint16_t interval_min, uint16_t interval_max,
-                                                               uint16_t slave_latency, uint16_t timeout_multiplier) {
+void LeSignallingManager::SendConnectionParameterUpdateRequest(
+    uint16_t interval_min, uint16_t interval_max, uint16_t peripheral_latency, uint16_t timeout_multiplier) {
   PendingCommand pending_command = PendingCommand::ConnectionParameterUpdate(
-      next_signal_id_, interval_min, interval_max, slave_latency, timeout_multiplier);
+      next_signal_id_, interval_min, interval_max, peripheral_latency, timeout_multiplier);
   next_signal_id_++;
   pending_commands_.push(pending_command);
   if (pending_commands_.size() == 1) {
@@ -130,24 +130,28 @@ void LeSignallingManager::OnCommandReject(LeCommandRejectView command_reject_vie
   LOG_WARN("Command rejected");
 }
 
-void LeSignallingManager::OnConnectionParameterUpdateRequest(SignalId signal_id, uint16_t interval_min,
-                                                             uint16_t interval_max, uint16_t slave_latency,
-                                                             uint16_t timeout_multiplier) {
-  if (link_->GetRole() == hci::Role::SLAVE) {
+void LeSignallingManager::OnConnectionParameterUpdateRequest(
+    SignalId signal_id,
+    uint16_t interval_min,
+    uint16_t interval_max,
+    uint16_t peripheral_latency,
+    uint16_t timeout_multiplier) {
+  if (link_->GetRole() == hci::Role::PERIPHERAL) {
     LOG_WARN("Received request from LL central");
     auto builder = LeCommandRejectNotUnderstoodBuilder::Create(signal_id.Value());
     enqueue_buffer_->Enqueue(std::move(builder), handler_);
     return;
   }
 
-  if (!link_->CheckConnectionParameters(interval_min, interval_max, slave_latency, timeout_multiplier)) {
+  if (!link_->CheckConnectionParameters(interval_min, interval_max, peripheral_latency, timeout_multiplier)) {
     LOG_WARN("Received invalid connection parameter update request from LL central");
     auto builder = ConnectionParameterUpdateResponseBuilder::Create(signal_id.Value(),
                                                                     ConnectionParameterUpdateResponseResult::REJECTED);
     enqueue_buffer_->Enqueue(std::move(builder), handler_);
     return;
   }
-  link_->UpdateConnectionParameterFromRemote(signal_id, interval_min, interval_max, slave_latency, timeout_multiplier);
+  link_->UpdateConnectionParameterFromRemote(
+      signal_id, interval_min, interval_max, peripheral_latency, timeout_multiplier);
 }
 
 void LeSignallingManager::OnConnectionParameterUpdateResponse(SignalId signal_id,
@@ -376,8 +380,10 @@ void LeSignallingManager::on_incoming_packet() {
         return;
       }
       OnConnectionParameterUpdateRequest(
-          parameter_update_req_view.GetIdentifier(), parameter_update_req_view.GetIntervalMin(),
-          parameter_update_req_view.GetIntervalMax(), parameter_update_req_view.GetSlaveLatency(),
+          parameter_update_req_view.GetIdentifier(),
+          parameter_update_req_view.GetIntervalMin(),
+          parameter_update_req_view.GetIntervalMax(),
+          parameter_update_req_view.GetPeripheralLatency(),
           parameter_update_req_view.GetTimeoutMultiplier());
       return;
     }
@@ -501,8 +507,11 @@ void LeSignallingManager::handle_send_next_command() {
     }
     case LeCommandCode::CONNECTION_PARAMETER_UPDATE_REQUEST: {
       auto builder = ConnectionParameterUpdateRequestBuilder::Create(
-          command_just_sent_.signal_id_.Value(), command_just_sent_.interval_min_, command_just_sent_.interval_max_,
-          command_just_sent_.slave_latency_, command_just_sent_.timeout_multiplier_);
+          command_just_sent_.signal_id_.Value(),
+          command_just_sent_.interval_min_,
+          command_just_sent_.interval_max_,
+          command_just_sent_.peripheral_latency_,
+          command_just_sent_.timeout_multiplier_);
       enqueue_buffer_->Enqueue(std::move(builder), handler_);
       alarm_.Schedule(common::BindOnce(&LeSignallingManager::on_command_timeout, common::Unretained(this)), kTimeout);
       break;
diff --git a/system/gd/l2cap/le/internal/signalling_manager.h b/system/gd/l2cap/le/internal/signalling_manager.h
index ff99fb5f8e3ee4a76addf929a36c902f32e895c1..cee31303820ed3b83e248d9ad9f79f56af8fea92 100644
--- a/system/gd/l2cap/le/internal/signalling_manager.h
+++ b/system/gd/l2cap/le/internal/signalling_manager.h
@@ -51,7 +51,7 @@ struct PendingCommand {
   uint16_t credits_;
   uint16_t interval_min_;
   uint16_t interval_max_;
-  uint16_t slave_latency_;
+  uint16_t peripheral_latency_;
   uint16_t timeout_multiplier_;
 
   static PendingCommand CreditBasedConnectionRequest(SignalId signal_id, Psm psm, Cid scid, Mtu mtu, uint16_t mps,
@@ -76,14 +76,18 @@ struct PendingCommand {
     return pending_command;
   }
 
-  static PendingCommand ConnectionParameterUpdate(SignalId signal_id, uint16_t interval_min, uint16_t interval_max,
-                                                  uint16_t slave_latency, uint16_t timeout_multiplier) {
+  static PendingCommand ConnectionParameterUpdate(
+      SignalId signal_id,
+      uint16_t interval_min,
+      uint16_t interval_max,
+      uint16_t peripheral_latency,
+      uint16_t timeout_multiplier) {
     PendingCommand pending_command;
     pending_command.signal_id_ = signal_id;
     pending_command.command_code_ = LeCommandCode::CONNECTION_PARAMETER_UPDATE_REQUEST;
     pending_command.interval_min_ = interval_min;
     pending_command.interval_max_ = interval_max;
-    pending_command.slave_latency_ = slave_latency;
+    pending_command.peripheral_latency_ = peripheral_latency;
     pending_command.timeout_multiplier_ = timeout_multiplier;
     return pending_command;
   }
@@ -103,9 +107,9 @@ class LeSignallingManager {
 
   void SendDisconnectRequest(Cid local_cid, Cid remote_cid);
 
-  // Note: Since Core 4.1, LL slave can send this through HCI command.
-  void SendConnectionParameterUpdateRequest(uint16_t interval_min, uint16_t interval_max, uint16_t slave_latency,
-                                            uint16_t timeout_multiplier);
+  // Note: Since Core 4.1, LL peripheral can send this through HCI command.
+  void SendConnectionParameterUpdateRequest(
+      uint16_t interval_min, uint16_t interval_max, uint16_t peripheral_latency, uint16_t timeout_multiplier);
 
   void SendConnectionParameterUpdateResponse(SignalId signal_id, ConnectionParameterUpdateResponseResult result);
 
@@ -115,8 +119,12 @@ class LeSignallingManager {
 
   void OnCommandReject(LeCommandRejectView command_reject_view);
 
-  void OnConnectionParameterUpdateRequest(SignalId signal_id, uint16_t interval_min, uint16_t interval_max,
-                                          uint16_t slave_latency, uint16_t timeout_multiplier);
+  void OnConnectionParameterUpdateRequest(
+      SignalId signal_id,
+      uint16_t interval_min,
+      uint16_t interval_max,
+      uint16_t peripheral_latency,
+      uint16_t timeout_multiplier);
   void OnConnectionParameterUpdateResponse(SignalId signal_id, ConnectionParameterUpdateResponseResult result);
 
   void OnConnectionRequest(SignalId signal_id, Psm psm, Cid remote_cid, Mtu mtu, uint16_t mps,
diff --git a/system/gd/security/cert/le_security_test.py b/system/gd/security/cert/le_security_test.py
index a1ebcd4fb4c0a23b424711529a062fed91a6da60..36ea8bd9b950051f11ff1f00f34b8cbc08ddaa3c 100644
--- a/system/gd/security/cert/le_security_test.py
+++ b/system/gd/security/cert/le_security_test.py
@@ -218,7 +218,7 @@ class LeSecurityTest(GdBaseTestClass):
     @metadata(pts_test_id="SM/SLA/JW/BV-02-C", pts_test_name="Just Works IUT Responder – Success")
     def test_just_works_iut_responder(self):
         """
-            Verify that the IUT is able to perform the Just Works pairing procedure correctly when acting as slave, responder.
+            Verify that the IUT is able to perform the Just Works pairing procedure correctly when acting as peripheral, responder.
         """
         self._prepare_dut_for_connection()
 
@@ -254,7 +254,7 @@ class LeSecurityTest(GdBaseTestClass):
         pts_test_id="SM/SLA/JW/BI-03-C", pts_test_name="Just Works IUT Responder – Handle AuthReq flag RFU correctly")
     def test_just_works_iut_responder_auth_req_rfu(self):
         """
-            Verify that the IUT is able to perform the Just Works pairing procedure when receiving additional bits set in the AuthReq flag. Reserved For Future Use bits are correctly handled when acting as slave, responder.
+            Verify that the IUT is able to perform the Just Works pairing procedure when receiving additional bits set in the AuthReq flag. Reserved For Future Use bits are correctly handled when acting as peripheral, responder.
         """
         self._prepare_dut_for_connection()
 
@@ -402,7 +402,7 @@ class LeSecurityTest(GdBaseTestClass):
         pts_test_name="Just Works, IUT Responder, Secure Connections – Handle AuthReq Flag RFU Correctly")
     def test_just_works_iut_responder_secure_connections_auth_req_rfu(self):
         """
-            Verify that the IUT is able to perform the Just Works pairing procedure when receiving additional bits set in the AuthReq flag. Reserved For Future Use bits are correctly handled when acting as slave, responder.
+            Verify that the IUT is able to perform the Just Works pairing procedure when receiving additional bits set in the AuthReq flag. Reserved For Future Use bits are correctly handled when acting as peripheral, responder.
         """
         self._prepare_dut_for_connection()
 
@@ -673,7 +673,7 @@ class LeSecurityTest(GdBaseTestClass):
         pts_test_id="SM/SLA/SCPK/BV-02-C", pts_test_name="Passkey Entry, IUT Responder, Secure Connections – Success")
     def test_passkey_entry_iut_responder_secure_connections(self):
         """
-            Verify that the IUT supporting LE Secure Connections is able to perform the Passkey Entry pairing procedure correctly when acting as slave, responder.
+            Verify that the IUT supporting LE Secure Connections is able to perform the Passkey Entry pairing procedure correctly when acting as peripheral, responder.
         """
         self._prepare_dut_for_connection()
 
@@ -724,7 +724,7 @@ class LeSecurityTest(GdBaseTestClass):
         pts_test_name="Passkey Entry, IUT Responder, Secure Connections – Handle AuthReq Flag RFU Correctly")
     def test_passkey_entry_iut_responder_secure_connections_auth_req_rfu(self):
         """
-            Verify that the IUT supporting LE Secure Connections is able to perform the Passkey Entry pairing procedure when receiving additional bits set in the AuthReq flag. Reserved For Future Use bits are correctly handled when acting as slave, responder.
+            Verify that the IUT supporting LE Secure Connections is able to perform the Passkey Entry pairing procedure when receiving additional bits set in the AuthReq flag. Reserved For Future Use bits are correctly handled when acting as peripheral, responder.
         """
         self._prepare_dut_for_connection()
 
@@ -887,7 +887,7 @@ class LeSecurityTest(GdBaseTestClass):
         pts_test_id="SM/SLA/SCOB/BV-02-C", pts_test_name="Out of Band, IUT Responder, Secure Connections – Success")
     def test_out_of_band_iut_responder_secure_connections(self):
         """
-            Verify that the IUT supporting LE Secure Connections is able to perform the Out-of-Band pairing procedure correctly when acting as slave, responder.
+            Verify that the IUT supporting LE Secure Connections is able to perform the Out-of-Band pairing procedure correctly when acting as peripheral, responder.
         """
 
         oob_combinations = [(OOB_NOT_PRESENT, OOB_PRESENT), (OOB_PRESENT, OOB_NOT_PRESENT), (OOB_PRESENT, OOB_PRESENT)]
@@ -955,7 +955,7 @@ class LeSecurityTest(GdBaseTestClass):
         pts_test_name="Out of Band, IUT Responder, Secure Connections – Handle AuthReq Flag RFU Correctly")
     def test_out_of_band_iut_responder_secure_connections_auth_req_rfu(self):
         """
-            Verify that the IUT supporting LE Secure Connections is able to perform the Out-of-Band pairing procedure when receiving additional bits set in the AuthReq flag. Reserved For Future Use bits are correctly handled when acting as slave, responder.
+            Verify that the IUT supporting LE Secure Connections is able to perform the Out-of-Band pairing procedure when receiving additional bits set in the AuthReq flag. Reserved For Future Use bits are correctly handled when acting as peripheral, responder.
         """
 
         reserved_bits_combinations = [1, 2, 3]
diff --git a/system/gd/security/internal/security_manager_impl.cc b/system/gd/security/internal/security_manager_impl.cc
index 71ca210fbb92aec161020c747d91018e23b090e1..57250547a905f755293f5539946118b48deae24b 100644
--- a/system/gd/security/internal/security_manager_impl.cc
+++ b/system/gd/security/internal/security_manager_impl.cc
@@ -467,7 +467,7 @@ void SecurityManagerImpl::OnSmpCommandLe(hci::AddressWithType device) {
   }
 
   auto my_role = channel->GetLinkOptions()->GetRole();
-  if (temp_cmd_view.GetCode() == Code::PAIRING_REQUEST && my_role == hci::Role::SLAVE) {
+  if (temp_cmd_view.GetCode() == Code::PAIRING_REQUEST && my_role == hci::Role::PERIPHERAL) {
     // TODO: if (pending_le_pairing_) { do not start another }
 
     LOG_INFO("start of security request handling!");
diff --git a/system/gd/security/pairing_handler_le.cc b/system/gd/security/pairing_handler_le.cc
index a2fe56ab2fed9e9b50123c59e8048ee3c5b8e9f1..c2673c7523c9086e2edcb077458a9d5af5e5f886 100644
--- a/system/gd/security/pairing_handler_le.cc
+++ b/system/gd/security/pairing_handler_le.cc
@@ -240,8 +240,8 @@ Phase1ResultOrFailure PairingHandlerLe::ExchangePairingFeature(const InitialInfo
     LOG_INFO("Waiting for Pairing Response");
     auto response = WaitPairingResponse();
 
-    /* There is a potential collision where the slave initiates the pairing at the same time we initiate it, by sending
-     * security request. */
+    /* There is a potential collision where the peripheral initiates the pairing at the same time we initiate it, by
+     * sending security request. */
     if (std::holds_alternative<PairingFailure>(response) &&
         std::get<PairingFailure>(response).received_code_ == Code::SECURITY_REQUEST) {
       LOG_INFO("Received security request, waiting for Pairing Response again...");
@@ -265,7 +265,7 @@ Phase1ResultOrFailure PairingHandlerLe::ExchangePairingFeature(const InitialInfo
 
     if (i.remotely_initiated) {
       if (!i.pairing_request.has_value()) {
-        return PairingFailure("You must pass PairingRequest as a initial information to slave!");
+        return PairingFailure("You must pass PairingRequest as a initial information to peripheral!");
       }
 
       pairing_request = i.pairing_request.value();
diff --git a/system/gd/security/pairing_handler_le_legacy.cc b/system/gd/security/pairing_handler_le_legacy.cc
index c1ee9f5d3206baecd20ae88d35ea19edf46a8319..5d4a05b9f293b259ffcf4922dbda951aa95462ff 100644
--- a/system/gd/security/pairing_handler_le_legacy.cc
+++ b/system/gd/security/pairing_handler_le_legacy.cc
@@ -201,17 +201,17 @@ StkOrFailure PairingHandlerLe::DoLegacyStage2(const InitialInformations& i, cons
         (uint8_t)i.my_connection_address.GetAddressType(),
         i.my_connection_address.GetAddress().data());
 
-    LOG_INFO("Slave waits for the Mconfirm");
+    LOG_INFO("Peripheral waits for the Mconfirm");
     auto mconfirm_pkt = WaitPairingConfirm();
     if (std::holds_alternative<PairingFailure>(mconfirm_pkt)) {
       return std::get<PairingFailure>(mconfirm_pkt);
     }
     Octet16 mconfirm = std::get<PairingConfirmView>(mconfirm_pkt).GetConfirmValue();
 
-    LOG_INFO("Slave sends Sconfirm");
+    LOG_INFO("Peripheral sends Sconfirm");
     SendL2capPacket(i, PairingConfirmBuilder::Create(sconfirm));
 
-    LOG_INFO("Slave waits for Mrand");
+    LOG_INFO("Peripheral waits for Mrand");
     auto random_pkt = WaitPairingRandom();
     if (std::holds_alternative<PairingFailure>(random_pkt)) {
       return std::get<PairingFailure>(random_pkt);
@@ -234,7 +234,7 @@ StkOrFailure PairingHandlerLe::DoLegacyStage2(const InitialInformations& i, cons
       return PairingFailure("mconfirm does not match generated value");
     }
 
-    LOG_INFO("Slave sends Srand");
+    LOG_INFO("Peripheral sends Srand");
     SendL2capPacket(i, PairingRandomBuilder::Create(srand));
   }
 
diff --git a/system/gd/security/pairing_handler_le_secure_connections.cc b/system/gd/security/pairing_handler_le_secure_connections.cc
index c33d33e91bc362aa344ff34007c40a4ae2df8b6b..1109a1fdd8407cd42dfb199cda2a9a196cb2e1a1 100644
--- a/system/gd/security/pairing_handler_le_secure_connections.cc
+++ b/system/gd/security/pairing_handler_le_secure_connections.cc
@@ -70,7 +70,7 @@ std::variant<PairingFailure, KeyExchangeResult> PairingHandlerLe::ExchangePublic
   }
 
   if (!IAmCentral(i)) {
-    LOG_INFO("Slave sends out public key");
+    LOG_INFO("Peripheral sends out public key");
     // Send pairing public key
     SendL2capPacket(i, std::move(myPublicKey));
   }
@@ -259,7 +259,7 @@ Stage1ResultOrFailure PairingHandlerLe::SecureConnectionsOutOfBand(const Initial
     rb = localR;
     Nb = GenerateRandom<16>();
 
-    LOG_INFO("Slave waits for random");
+    LOG_INFO("Peripheral waits for random");
     auto random = WaitPairingRandom();
     if (std::holds_alternative<PairingFailure>(random)) {
       return std::get<PairingFailure>(random);
@@ -352,7 +352,7 @@ Stage1ResultOrFailure PairingHandlerLe::SecureConnectionsPasskeyEntry(const Init
       // Compute confirm
       Cbi = crypto_toolbox::f4((uint8_t*)PKb.x.data(), (uint8_t*)PKa.x.data(), Nbi, ri);
 
-      LOG_INFO("Slave waits for the Cai");
+      LOG_INFO("Peripheral waits for the Cai");
       auto confirm = WaitPairingConfirm();
       if (std::holds_alternative<PairingFailure>(confirm)) {
         return std::get<PairingFailure>(confirm);
@@ -360,10 +360,10 @@ Stage1ResultOrFailure PairingHandlerLe::SecureConnectionsPasskeyEntry(const Init
       Cai = std::get<PairingConfirmView>(confirm).GetConfirmValue();
 
       // Send Pairing Confirm
-      LOG_INFO("Slave sends confirmation");
+      LOG_INFO("Peripheral sends confirmation");
       SendL2capPacket(i, PairingConfirmBuilder::Create(Cbi));
 
-      LOG_INFO("Slave waits for random");
+      LOG_INFO("Peripheral waits for random");
       auto random = WaitPairingRandom();
       if (std::holds_alternative<PairingFailure>(random)) {
         return std::get<PairingFailure>(random);
@@ -461,10 +461,10 @@ Stage1ResultOrFailure PairingHandlerLe::SecureConnectionsJustWorks(const Initial
     Cb = crypto_toolbox::f4((uint8_t*)PKb.x.data(), (uint8_t*)PKa.x.data(), Nb, 0);
 
     // Send Pairing Confirm
-    LOG_INFO("Slave sends confirmation");
+    LOG_INFO("Peripheral sends confirmation");
     SendL2capPacket(i, PairingConfirmBuilder::Create(Cb));
 
-    LOG_INFO("Slave waits for random");
+    LOG_INFO("Peripheral waits for random");
     auto random = WaitPairingRandom();
     if (std::holds_alternative<PairingFailure>(random)) {
       return std::get<PairingFailure>(random);
diff --git a/system/gd/security/pairing_handler_le_unittest.cc b/system/gd/security/pairing_handler_le_unittest.cc
index 48089951779ef637a10636ba66f4da79cbac49b1..8cc3193745554f1c6c01d1543e7f8fdcede3d1ed 100644
--- a/system/gd/security/pairing_handler_le_unittest.cc
+++ b/system/gd/security/pairing_handler_le_unittest.cc
@@ -286,9 +286,9 @@ InitialInformations initial_informations_trsi{
     .OnPairingFinished = OnPairingFinished,
 };
 
-/* This test verifies that when remote slave device sends security request , and user
+/* This test verifies that when remote peripheral device sends security request , and user
  * does accept the prompt, we do send pairing request */
-TEST_F(PairingHandlerUnitTest, test_remote_slave_initiating) {
+TEST_F(PairingHandlerUnitTest, test_remote_peripheral_initiating) {
   initial_informations_trsi.proper_l2cap_interface = up_buffer_.get();
   initial_informations_trsi.l2cap_handler = handler_;
   initial_informations_trsi.user_interface_handler = handler_;
@@ -308,7 +308,7 @@ TEST_F(PairingHandlerUnitTest, test_remote_slave_initiating) {
 }
 
 InitialInformations initial_informations_trmi{
-    .my_role = hci::Role::SLAVE,
+    .my_role = hci::Role::PERIPHERAL,
     .my_connection_address = hci::AddressWithType(),
 
     .myPairingCapabilities = {.io_capability = IoCapability::NO_INPUT_NO_OUTPUT,
@@ -320,9 +320,13 @@ InitialInformations initial_informations_trmi{
 
     .remotely_initiated = true,
     .remote_connection_address = hci::AddressWithType(),
-    .pairing_request = PairingRequestView::Create(BuilderToView(
-        PairingRequestBuilder::Create(IoCapability::NO_INPUT_NO_OUTPUT, OobDataFlag::NOT_PRESENT,
-                                      AuthReqMaskBondingFlag | AuthReqMaskMitm | AuthReqMaskSc, 16, 0x03, 0x03))),
+    .pairing_request = PairingRequestView::Create(BuilderToView(PairingRequestBuilder::Create(
+        IoCapability::NO_INPUT_NO_OUTPUT,
+        OobDataFlag::NOT_PRESENT,
+        AuthReqMaskBondingFlag | AuthReqMaskMitm | AuthReqMaskSc,
+        16,
+        0x03,
+        0x03))),
     .user_interface = &uiMock,
     .le_security_interface = &leSecurityMock,
 
diff --git a/system/gd/security/test/pairing_handler_le_pair_test.cc b/system/gd/security/test/pairing_handler_le_pair_test.cc
index 381027caac0fa7e46785e50971ec0eff191aa256..f6386da7ad5663d6bf37e4fef7f07e9b9b977e4f 100644
--- a/system/gd/security/test/pairing_handler_le_pair_test.cc
+++ b/system/gd/security/test/pairing_handler_le_pair_test.cc
@@ -74,7 +74,7 @@ EventPacketView EventBuilderToView(std::unique_ptr<EventPacketBuilder> builder)
 
 namespace {
 
-constexpr uint16_t CONN_HANDLE_CENTRAL = 0x31, CONN_HANDLE_SLAVE = 0x32;
+constexpr uint16_t CONN_HANDLE_CENTRAL = 0x31, CONN_HANDLE_PERIPHERAL = 0x32;
 std::unique_ptr<bluetooth::security::PairingHandlerLe> pairing_handler_a, pairing_handler_b;
 
 }  // namespace
@@ -86,11 +86,11 @@ namespace {
 Address ADDRESS_CENTRAL{{0x26, 0x64, 0x76, 0x86, 0xab, 0xba}};
 AddressType ADDRESS_TYPE_CENTRAL = AddressType::RANDOM_DEVICE_ADDRESS;
 
-Address ADDRESS_SLAVE{{0x33, 0x58, 0x24, 0x76, 0x11, 0x89}};
-AddressType ADDRESS_TYPE_SLAVE = AddressType::RANDOM_DEVICE_ADDRESS;
+Address ADDRESS_PERIPHERAL{{0x33, 0x58, 0x24, 0x76, 0x11, 0x89}};
+AddressType ADDRESS_TYPE_PERIPHERAL = AddressType::RANDOM_DEVICE_ADDRESS;
 
 std::optional<PairingResultOrFailure> pairing_result_central;
-std::optional<PairingResultOrFailure> pairing_result_slave;
+std::optional<PairingResultOrFailure> pairing_result_peripheral;
 
 void OnPairingFinishedCentral(PairingResultOrFailure r) {
   pairing_result_central = r;
@@ -101,8 +101,8 @@ void OnPairingFinishedCentral(PairingResultOrFailure r) {
   }
 }
 
-void OnPairingFinishedSlave(PairingResultOrFailure r) {
-  pairing_result_slave = r;
+void OnPairingFinishedPeripheral(PairingResultOrFailure r) {
+  pairing_result_peripheral = r;
   if (std::holds_alternative<PairingResult>(r)) {
     LOG_INFO("pairing finished successfully with %s", std::get<PairingResult>(r).connection_address.ToString().c_str());
   } else {
@@ -127,12 +127,12 @@ class PairingHandlerPairTest : public testing::Test {
       return;
     }
 
-    if (!pairing_handler_a) LOG_ALWAYS_FATAL("Slave handler not initlized yet!");
+    if (!pairing_handler_a) LOG_ALWAYS_FATAL("Peripheral handler not initlized yet!");
 
     pairing_handler_a->OnCommandView(CommandView::Create(temp_cmd_view));
   }
 
-  void dequeue_callback_slave() {
+  void dequeue_callback_peripheral() {
     auto packet_bytes_view = l2cap_->GetQueueBUpEnd()->TryDequeue();
     if (!packet_bytes_view) LOG_ERROR("Received dequeue, but no data ready...");
 
@@ -155,11 +155,11 @@ class PairingHandlerPairTest : public testing::Test {
 
     l2cap_ = new common::testing::WiredPairOfL2capQueues(handler_);
     // central sends it's packet into l2cap->down_buffer_b_
-    // slave sends it's packet into l2cap->down_buffer_a_
+    // peripheral sends it's packet into l2cap->down_buffer_a_
     l2cap_->GetQueueAUpEnd()->RegisterDequeue(
         handler_, common::Bind(&PairingHandlerPairTest::dequeue_callback_central, common::Unretained(this)));
     l2cap_->GetQueueBUpEnd()->RegisterDequeue(
-        handler_, common::Bind(&PairingHandlerPairTest::dequeue_callback_slave, common::Unretained(this)));
+        handler_, common::Bind(&PairingHandlerPairTest::dequeue_callback_peripheral, common::Unretained(this)));
 
     up_buffer_a_ = std::make_unique<os::EnqueueBuffer<packet::BasePacketBuilder>>(l2cap_->GetQueueAUpEnd());
     up_buffer_b_ = std::make_unique<os::EnqueueBuffer<packet::BasePacketBuilder>>(l2cap_->GetQueueBUpEnd());
@@ -177,7 +177,7 @@ class PairingHandlerPairTest : public testing::Test {
 
         .remotely_initiated = false,
         .connection_handle = CONN_HANDLE_CENTRAL,
-        .remote_connection_address = {ADDRESS_SLAVE, ADDRESS_TYPE_SLAVE},
+        .remote_connection_address = {ADDRESS_PERIPHERAL, ADDRESS_TYPE_PERIPHERAL},
         .user_interface = &central_user_interface,
         .user_interface_handler = handler_,
         .le_security_interface = &central_le_security_mock,
@@ -186,10 +186,10 @@ class PairingHandlerPairTest : public testing::Test {
         .OnPairingFinished = OnPairingFinishedCentral,
     };
 
-    slave_setup = {
-        .my_role = hci::Role::SLAVE,
+    peripheral_setup = {
+        .my_role = hci::Role::PERIPHERAL,
 
-        .my_connection_address = {ADDRESS_SLAVE, ADDRESS_TYPE_SLAVE},
+        .my_connection_address = {ADDRESS_PERIPHERAL, ADDRESS_TYPE_PERIPHERAL},
         .myPairingCapabilities = {.io_capability = IoCapability::NO_INPUT_NO_OUTPUT,
                                   .oob_data_flag = OobDataFlag::NOT_PRESENT,
                                   .auth_req = AuthReqMaskBondingFlag | AuthReqMaskMitm | AuthReqMaskSc,
@@ -197,29 +197,29 @@ class PairingHandlerPairTest : public testing::Test {
                                   .initiator_key_distribution = KeyMaskId | KeyMaskSign,
                                   .responder_key_distribution = KeyMaskId | KeyMaskSign},
         .remotely_initiated = true,
-        .connection_handle = CONN_HANDLE_SLAVE,
+        .connection_handle = CONN_HANDLE_PERIPHERAL,
         .remote_connection_address = {ADDRESS_CENTRAL, ADDRESS_TYPE_CENTRAL},
-        .user_interface = &slave_user_interface,
+        .user_interface = &peripheral_user_interface,
         .user_interface_handler = handler_,
-        .le_security_interface = &slave_le_security_mock,
+        .le_security_interface = &peripheral_le_security_mock,
         .proper_l2cap_interface = up_buffer_b_.get(),
         .l2cap_handler = handler_,
-        .OnPairingFinished = OnPairingFinishedSlave,
+        .OnPairingFinished = OnPairingFinishedPeripheral,
     };
 
     RecordSuccessfulEncryptionComplete();
   }
 
   void TearDown() {
-    ::testing::Mock::VerifyAndClearExpectations(&slave_user_interface);
+    ::testing::Mock::VerifyAndClearExpectations(&peripheral_user_interface);
     ::testing::Mock::VerifyAndClearExpectations(&central_user_interface);
-    ::testing::Mock::VerifyAndClearExpectations(&slave_le_security_mock);
+    ::testing::Mock::VerifyAndClearExpectations(&peripheral_le_security_mock);
     ::testing::Mock::VerifyAndClearExpectations(&central_le_security_mock);
 
     pairing_handler_a.reset();
     pairing_handler_b.reset();
     pairing_result_central.reset();
-    pairing_result_slave.reset();
+    pairing_result_peripheral.reset();
 
     first_command_sent = false;
     first_command.reset();
@@ -263,10 +263,10 @@ class PairingHandlerPairTest : public testing::Test {
               EncryptionChangeBuilder::Create(ErrorCode::SUCCESS, CONN_HANDLE_CENTRAL, EncryptionEnabled::ON)));
 
           pairing_handler_b->OnHciEvent(EventBuilderToView(
-              hci::LeLongTermKeyRequestBuilder::Create(CONN_HANDLE_SLAVE, {0,0,0,0,0,0,0,0}, 0)));
+              hci::LeLongTermKeyRequestBuilder::Create(CONN_HANDLE_PERIPHERAL, {0, 0, 0, 0, 0, 0, 0, 0}, 0)));
 
           pairing_handler_b->OnHciEvent(EventBuilderToView(
-              EncryptionChangeBuilder::Create(ErrorCode::SUCCESS, CONN_HANDLE_SLAVE, EncryptionEnabled::ON)));
+              EncryptionChangeBuilder::Create(ErrorCode::SUCCESS, CONN_HANDLE_PERIPHERAL, EncryptionEnabled::ON)));
         });
   }
 
@@ -281,11 +281,11 @@ class PairingHandlerPairTest : public testing::Test {
   }
 
   InitialInformations central_setup;
-  InitialInformations slave_setup;
+  InitialInformations peripheral_setup;
   UIMock central_user_interface;
-  UIMock slave_user_interface;
+  UIMock peripheral_user_interface;
   LeSecurityInterfaceMock central_le_security_mock;
-  LeSecurityInterfaceMock slave_le_security_mock;
+  LeSecurityInterfaceMock peripheral_le_security_mock;
 
   uint16_t first_command_sent = false;
   std::unique_ptr<bluetooth::security::CommandView> first_command;
@@ -303,8 +303,8 @@ class PairingHandlerPairTest : public testing::Test {
 TEST_F(PairingHandlerPairTest, test_secure_connections_just_works) {
   central_setup.myPairingCapabilities.io_capability = IoCapability::NO_INPUT_NO_OUTPUT;
   central_setup.myPairingCapabilities.oob_data_flag = OobDataFlag::NOT_PRESENT;
-  slave_setup.myPairingCapabilities.io_capability = IoCapability::NO_INPUT_NO_OUTPUT;
-  slave_setup.myPairingCapabilities.oob_data_flag = OobDataFlag::NOT_PRESENT;
+  peripheral_setup.myPairingCapabilities.io_capability = IoCapability::NO_INPUT_NO_OUTPUT;
+  peripheral_setup.myPairingCapabilities.oob_data_flag = OobDataFlag::NOT_PRESENT;
 
   {
     std::unique_lock<std::mutex> lock(handlers_initialization_guard);
@@ -312,9 +312,9 @@ TEST_F(PairingHandlerPairTest, test_secure_connections_just_works) {
     pairing_handler_a = std::make_unique<PairingHandlerLe>(PairingHandlerLe::PHASE1, central_setup);
 
     auto first_pkt = WaitFirstL2capCommand();
-    slave_setup.pairing_request = PairingRequestView::Create(*first_pkt);
+    peripheral_setup.pairing_request = PairingRequestView::Create(*first_pkt);
 
-    EXPECT_CALL(slave_user_interface, DisplayPairingPrompt(_, _)).Times(1).WillOnce(InvokeWithoutArgs([] {
+    EXPECT_CALL(peripheral_user_interface, DisplayPairingPrompt(_, _)).Times(1).WillOnce(InvokeWithoutArgs([] {
       LOG_INFO("UI mock received pairing prompt");
 
       {
@@ -328,17 +328,17 @@ TEST_F(PairingHandlerPairTest, test_secure_connections_just_works) {
       pairing_handler_b->OnUiAction(PairingEvent::PAIRING_ACCEPTED, 0x01 /* Non-zero value means success */);
     }));
 
-    pairing_handler_b = std::make_unique<PairingHandlerLe>(PairingHandlerLe::PHASE1, slave_setup);
+    pairing_handler_b = std::make_unique<PairingHandlerLe>(PairingHandlerLe::PHASE1, peripheral_setup);
   }
 
   pairing_handler_a->WaitUntilPairingFinished();
   pairing_handler_b->WaitUntilPairingFinished();
 
   EXPECT_TRUE(std::holds_alternative<PairingResult>(pairing_result_central.value()));
-  EXPECT_TRUE(std::holds_alternative<PairingResult>(pairing_result_slave.value()));
+  EXPECT_TRUE(std::holds_alternative<PairingResult>(pairing_result_peripheral.value()));
 }
 
-TEST_F(PairingHandlerPairTest, test_secure_connections_just_works_slave_initiated) {
+TEST_F(PairingHandlerPairTest, test_secure_connections_just_works_peripheral_initiated) {
   central_setup = {
       .my_role = hci::Role::CENTRAL,
       .my_connection_address = {ADDRESS_CENTRAL, ADDRESS_TYPE_CENTRAL},
@@ -350,7 +350,7 @@ TEST_F(PairingHandlerPairTest, test_secure_connections_just_works_slave_initiate
                                 .responder_key_distribution = KeyMaskId | KeyMaskSign},
       .remotely_initiated = true,
       .connection_handle = CONN_HANDLE_CENTRAL,
-      .remote_connection_address = {ADDRESS_SLAVE, ADDRESS_TYPE_SLAVE},
+      .remote_connection_address = {ADDRESS_PERIPHERAL, ADDRESS_TYPE_PERIPHERAL},
       .user_interface = &central_user_interface,
       .user_interface_handler = handler_,
       .le_security_interface = &central_le_security_mock,
@@ -359,9 +359,9 @@ TEST_F(PairingHandlerPairTest, test_secure_connections_just_works_slave_initiate
       .OnPairingFinished = OnPairingFinishedCentral,
   };
 
-  slave_setup = {
-      .my_role = hci::Role::SLAVE,
-      .my_connection_address = {ADDRESS_SLAVE, ADDRESS_TYPE_SLAVE},
+  peripheral_setup = {
+      .my_role = hci::Role::PERIPHERAL,
+      .my_connection_address = {ADDRESS_PERIPHERAL, ADDRESS_TYPE_PERIPHERAL},
       .myPairingCapabilities = {.io_capability = IoCapability::NO_INPUT_NO_OUTPUT,
                                 .oob_data_flag = OobDataFlag::NOT_PRESENT,
                                 .auth_req = AuthReqMaskBondingFlag | AuthReqMaskMitm | AuthReqMaskSc,
@@ -369,20 +369,20 @@ TEST_F(PairingHandlerPairTest, test_secure_connections_just_works_slave_initiate
                                 .initiator_key_distribution = KeyMaskId | KeyMaskSign,
                                 .responder_key_distribution = KeyMaskId | KeyMaskSign},
       .remotely_initiated = false,
-      .connection_handle = CONN_HANDLE_SLAVE,
+      .connection_handle = CONN_HANDLE_PERIPHERAL,
       .remote_connection_address = {ADDRESS_CENTRAL, ADDRESS_TYPE_CENTRAL},
-      .user_interface = &slave_user_interface,
+      .user_interface = &peripheral_user_interface,
       .user_interface_handler = handler_,
-      .le_security_interface = &slave_le_security_mock,
+      .le_security_interface = &peripheral_le_security_mock,
       .proper_l2cap_interface = up_buffer_b_.get(),
       .l2cap_handler = handler_,
-      .OnPairingFinished = OnPairingFinishedSlave,
+      .OnPairingFinished = OnPairingFinishedPeripheral,
   };
 
   std::unique_ptr<bluetooth::security::CommandView> first_pkt;
   {
     std::unique_lock<std::mutex> lock(handlers_initialization_guard);
-    pairing_handler_b = std::make_unique<PairingHandlerLe>(PairingHandlerLe::PHASE1, slave_setup);
+    pairing_handler_b = std::make_unique<PairingHandlerLe>(PairingHandlerLe::PHASE1, peripheral_setup);
 
     first_pkt = WaitFirstL2capCommand();
 
@@ -399,7 +399,7 @@ TEST_F(PairingHandlerPairTest, test_secure_connections_just_works_slave_initiate
           // Simulate user accepting the pairing in UI
           pairing_handler_a->OnUiAction(PairingEvent::PAIRING_ACCEPTED, 0x01 /* Non-zero value means success */);
 
-          // Send the first packet from the slave to central
+          // Send the first packet from the peripheral to central
           auto view_to_packet = std::make_unique<packet::RawBuilder>();
           view_to_packet->AddOctets(std::vector(first_pkt->begin(), first_pkt->end()));
           up_buffer_b_->Enqueue(std::move(view_to_packet), handler_);
@@ -411,7 +411,7 @@ TEST_F(PairingHandlerPairTest, test_secure_connections_just_works_slave_initiate
   pairing_handler_b->WaitUntilPairingFinished();
 
   EXPECT_TRUE(std::holds_alternative<PairingResult>(pairing_result_central.value()));
-  EXPECT_TRUE(std::holds_alternative<PairingResult>(pairing_result_slave.value()));
+  EXPECT_TRUE(std::holds_alternative<PairingResult>(pairing_result_peripheral.value()));
 }
 
 TEST_F(PairingHandlerPairTest, test_secure_connections_numeric_comparison) {
@@ -419,11 +419,11 @@ TEST_F(PairingHandlerPairTest, test_secure_connections_numeric_comparison) {
   central_setup.myPairingCapabilities.oob_data_flag = OobDataFlag::NOT_PRESENT;
   central_setup.myPairingCapabilities.auth_req = AuthReqMaskBondingFlag | AuthReqMaskMitm | AuthReqMaskSc;
 
-  slave_setup.myPairingCapabilities.io_capability = IoCapability::DISPLAY_YES_NO;
-  slave_setup.myPairingCapabilities.oob_data_flag = OobDataFlag::NOT_PRESENT;
-  slave_setup.myPairingCapabilities.auth_req = AuthReqMaskBondingFlag | AuthReqMaskMitm | AuthReqMaskSc;
+  peripheral_setup.myPairingCapabilities.io_capability = IoCapability::DISPLAY_YES_NO;
+  peripheral_setup.myPairingCapabilities.oob_data_flag = OobDataFlag::NOT_PRESENT;
+  peripheral_setup.myPairingCapabilities.auth_req = AuthReqMaskBondingFlag | AuthReqMaskMitm | AuthReqMaskSc;
 
-  ConfirmationData data_slave;
+  ConfirmationData data_peripheral;
   {
     std::unique_lock<std::mutex> lock(handlers_initialization_guard);
     // Initiator must be initialized after the responder.
@@ -433,26 +433,26 @@ TEST_F(PairingHandlerPairTest, test_secure_connections_numeric_comparison) {
       std::this_thread::sleep_for(1ms);
       LOG_INFO("waiting for first command...");
     }
-    slave_setup.pairing_request = PairingRequestView::Create(*first_command);
+    peripheral_setup.pairing_request = PairingRequestView::Create(*first_command);
 
-    RecordPairingPromptHandling(slave_user_interface, &pairing_handler_b);
+    RecordPairingPromptHandling(peripheral_user_interface, &pairing_handler_b);
 
-    EXPECT_CALL(slave_user_interface, DisplayConfirmValue(_)).WillOnce(SaveArg<0>(&data_slave));
+    EXPECT_CALL(peripheral_user_interface, DisplayConfirmValue(_)).WillOnce(SaveArg<0>(&data_peripheral));
     EXPECT_CALL(central_user_interface, DisplayConfirmValue(_)).WillOnce(Invoke([&](ConfirmationData data) {
-      EXPECT_EQ(data_slave.GetNumericValue(), data.GetNumericValue());
-      if (data_slave.GetNumericValue() == data.GetNumericValue()) {
+      EXPECT_EQ(data_peripheral.GetNumericValue(), data.GetNumericValue());
+      if (data_peripheral.GetNumericValue() == data.GetNumericValue()) {
         pairing_handler_a->OnUiAction(PairingEvent::CONFIRM_YESNO, 0x01);
         pairing_handler_b->OnUiAction(PairingEvent::CONFIRM_YESNO, 0x01);
       }
     }));
 
-    pairing_handler_b = std::make_unique<PairingHandlerLe>(PairingHandlerLe::PHASE1, slave_setup);
+    pairing_handler_b = std::make_unique<PairingHandlerLe>(PairingHandlerLe::PHASE1, peripheral_setup);
   }
   pairing_handler_a->WaitUntilPairingFinished();
   pairing_handler_b->WaitUntilPairingFinished();
 
   EXPECT_TRUE(std::holds_alternative<PairingResult>(pairing_result_central.value()));
-  EXPECT_TRUE(std::holds_alternative<PairingResult>(pairing_result_slave.value()));
+  EXPECT_TRUE(std::holds_alternative<PairingResult>(pairing_result_peripheral.value()));
 }
 
 TEST_F(PairingHandlerPairTest, test_secure_connections_passkey_entry) {
@@ -460,11 +460,11 @@ TEST_F(PairingHandlerPairTest, test_secure_connections_passkey_entry) {
   central_setup.myPairingCapabilities.oob_data_flag = OobDataFlag::NOT_PRESENT;
   central_setup.myPairingCapabilities.auth_req = AuthReqMaskBondingFlag | AuthReqMaskMitm | AuthReqMaskSc;
 
-  slave_setup.myPairingCapabilities.io_capability = IoCapability::DISPLAY_ONLY;
-  slave_setup.myPairingCapabilities.oob_data_flag = OobDataFlag::NOT_PRESENT;
-  slave_setup.myPairingCapabilities.auth_req = AuthReqMaskBondingFlag | AuthReqMaskMitm | AuthReqMaskSc;
+  peripheral_setup.myPairingCapabilities.io_capability = IoCapability::DISPLAY_ONLY;
+  peripheral_setup.myPairingCapabilities.oob_data_flag = OobDataFlag::NOT_PRESENT;
+  peripheral_setup.myPairingCapabilities.auth_req = AuthReqMaskBondingFlag | AuthReqMaskMitm | AuthReqMaskSc;
 
-  // In this test either central or slave display the UI prompt first. This variable makes sure both prompts are
+  // In this test either central or peripheral display the UI prompt first. This variable makes sure both prompts are
   // displayed before passkey is confirmed. Since both UI handlers are same thread, it's safe.
   int ui_prompts_count = 0;
   uint32_t passkey_ = std::numeric_limits<uint32_t>::max();
@@ -476,11 +476,11 @@ TEST_F(PairingHandlerPairTest, test_secure_connections_passkey_entry) {
       std::this_thread::sleep_for(1ms);
       LOG_INFO("waiting for first command...");
     }
-    slave_setup.pairing_request = PairingRequestView::Create(*first_command);
+    peripheral_setup.pairing_request = PairingRequestView::Create(*first_command);
 
-    RecordPairingPromptHandling(slave_user_interface, &pairing_handler_b);
+    RecordPairingPromptHandling(peripheral_user_interface, &pairing_handler_b);
 
-    EXPECT_CALL(slave_user_interface, DisplayPasskey(_)).WillOnce(Invoke([&](ConfirmationData data) {
+    EXPECT_CALL(peripheral_user_interface, DisplayPasskey(_)).WillOnce(Invoke([&](ConfirmationData data) {
       passkey_ = data.GetNumericValue();
       ui_prompts_count++;
       if (ui_prompts_count == 2) {
@@ -495,14 +495,14 @@ TEST_F(PairingHandlerPairTest, test_secure_connections_passkey_entry) {
       }
     }));
 
-    pairing_handler_b = std::make_unique<PairingHandlerLe>(PairingHandlerLe::PHASE1, slave_setup);
+    pairing_handler_b = std::make_unique<PairingHandlerLe>(PairingHandlerLe::PHASE1, peripheral_setup);
   }
   // Initiator must be initialized after the responder.
   pairing_handler_a->WaitUntilPairingFinished();
   pairing_handler_b->WaitUntilPairingFinished();
 
   EXPECT_TRUE(std::holds_alternative<PairingResult>(pairing_result_central.value()));
-  EXPECT_TRUE(std::holds_alternative<PairingResult>(pairing_result_slave.value()));
+  EXPECT_TRUE(std::holds_alternative<PairingResult>(pairing_result_peripheral.value()));
 }
 
 TEST_F(PairingHandlerPairTest, test_secure_connections_out_of_band) {
@@ -510,12 +510,12 @@ TEST_F(PairingHandlerPairTest, test_secure_connections_out_of_band) {
   central_setup.myPairingCapabilities.oob_data_flag = OobDataFlag::NOT_PRESENT;
   central_setup.myPairingCapabilities.auth_req = AuthReqMaskBondingFlag | AuthReqMaskMitm | AuthReqMaskSc,
 
-  slave_setup.myPairingCapabilities.io_capability = IoCapability::DISPLAY_ONLY;
-  slave_setup.myPairingCapabilities.oob_data_flag = OobDataFlag::PRESENT;
-  slave_setup.myPairingCapabilities.auth_req = AuthReqMaskBondingFlag | AuthReqMaskMitm | AuthReqMaskSc,
+  peripheral_setup.myPairingCapabilities.io_capability = IoCapability::DISPLAY_ONLY;
+  peripheral_setup.myPairingCapabilities.oob_data_flag = OobDataFlag::PRESENT;
+  peripheral_setup.myPairingCapabilities.auth_req = AuthReqMaskBondingFlag | AuthReqMaskMitm | AuthReqMaskSc,
 
   central_setup.my_oob_data = std::make_optional<MyOobData>(PairingHandlerLe::GenerateOobData());
-  slave_setup.remote_oob_data =
+  peripheral_setup.remote_oob_data =
       std::make_optional<InitialInformations::out_of_band_data>(InitialInformations::out_of_band_data{
           .le_sc_c = central_setup.my_oob_data->c,
           .le_sc_r = central_setup.my_oob_data->r,
@@ -528,17 +528,17 @@ TEST_F(PairingHandlerPairTest, test_secure_connections_out_of_band) {
       std::this_thread::sleep_for(1ms);
       LOG_INFO("waiting for first command...");
     }
-    slave_setup.pairing_request = PairingRequestView::Create(*first_command);
+    peripheral_setup.pairing_request = PairingRequestView::Create(*first_command);
 
-    RecordPairingPromptHandling(slave_user_interface, &pairing_handler_b);
+    RecordPairingPromptHandling(peripheral_user_interface, &pairing_handler_b);
 
-    pairing_handler_b = std::make_unique<PairingHandlerLe>(PairingHandlerLe::PHASE1, slave_setup);
+    pairing_handler_b = std::make_unique<PairingHandlerLe>(PairingHandlerLe::PHASE1, peripheral_setup);
   }
   pairing_handler_a->WaitUntilPairingFinished();
   pairing_handler_b->WaitUntilPairingFinished();
 
   EXPECT_TRUE(std::holds_alternative<PairingResult>(pairing_result_central.value()));
-  EXPECT_TRUE(std::holds_alternative<PairingResult>(pairing_result_slave.value()));
+  EXPECT_TRUE(std::holds_alternative<PairingResult>(pairing_result_peripheral.value()));
 }
 
 TEST_F(PairingHandlerPairTest, test_secure_connections_out_of_band_two_way) {
@@ -546,22 +546,22 @@ TEST_F(PairingHandlerPairTest, test_secure_connections_out_of_band_two_way) {
   central_setup.myPairingCapabilities.oob_data_flag = OobDataFlag::PRESENT;
   central_setup.myPairingCapabilities.auth_req = AuthReqMaskBondingFlag | AuthReqMaskMitm | AuthReqMaskSc,
 
-  slave_setup.myPairingCapabilities.io_capability = IoCapability::DISPLAY_ONLY;
-  slave_setup.myPairingCapabilities.oob_data_flag = OobDataFlag::PRESENT;
-  slave_setup.myPairingCapabilities.auth_req = AuthReqMaskBondingFlag | AuthReqMaskMitm | AuthReqMaskSc,
+  peripheral_setup.myPairingCapabilities.io_capability = IoCapability::DISPLAY_ONLY;
+  peripheral_setup.myPairingCapabilities.oob_data_flag = OobDataFlag::PRESENT;
+  peripheral_setup.myPairingCapabilities.auth_req = AuthReqMaskBondingFlag | AuthReqMaskMitm | AuthReqMaskSc,
 
   central_setup.my_oob_data = std::make_optional<MyOobData>(PairingHandlerLe::GenerateOobData());
-  slave_setup.remote_oob_data =
+  peripheral_setup.remote_oob_data =
       std::make_optional<InitialInformations::out_of_band_data>(InitialInformations::out_of_band_data{
           .le_sc_c = central_setup.my_oob_data->c,
           .le_sc_r = central_setup.my_oob_data->r,
       });
 
-  slave_setup.my_oob_data = std::make_optional<MyOobData>(PairingHandlerLe::GenerateOobData());
+  peripheral_setup.my_oob_data = std::make_optional<MyOobData>(PairingHandlerLe::GenerateOobData());
   central_setup.remote_oob_data =
       std::make_optional<InitialInformations::out_of_band_data>(InitialInformations::out_of_band_data{
-          .le_sc_c = slave_setup.my_oob_data->c,
-          .le_sc_r = slave_setup.my_oob_data->r,
+          .le_sc_c = peripheral_setup.my_oob_data->c,
+          .le_sc_r = peripheral_setup.my_oob_data->r,
       });
 
   {
@@ -571,17 +571,17 @@ TEST_F(PairingHandlerPairTest, test_secure_connections_out_of_band_two_way) {
       std::this_thread::sleep_for(1ms);
       LOG_INFO("waiting for first command...");
     }
-    slave_setup.pairing_request = PairingRequestView::Create(*first_command);
+    peripheral_setup.pairing_request = PairingRequestView::Create(*first_command);
 
-    RecordPairingPromptHandling(slave_user_interface, &pairing_handler_b);
+    RecordPairingPromptHandling(peripheral_user_interface, &pairing_handler_b);
 
-    pairing_handler_b = std::make_unique<PairingHandlerLe>(PairingHandlerLe::PHASE1, slave_setup);
+    pairing_handler_b = std::make_unique<PairingHandlerLe>(PairingHandlerLe::PHASE1, peripheral_setup);
   }
   pairing_handler_a->WaitUntilPairingFinished();
   pairing_handler_b->WaitUntilPairingFinished();
 
   EXPECT_TRUE(std::holds_alternative<PairingResult>(pairing_result_central.value()));
-  EXPECT_TRUE(std::holds_alternative<PairingResult>(pairing_result_slave.value()));
+  EXPECT_TRUE(std::holds_alternative<PairingResult>(pairing_result_peripheral.value()));
 }
 
 TEST_F(PairingHandlerPairTest, test_legacy_just_works) {
@@ -589,9 +589,9 @@ TEST_F(PairingHandlerPairTest, test_legacy_just_works) {
   central_setup.myPairingCapabilities.oob_data_flag = OobDataFlag::NOT_PRESENT;
   central_setup.myPairingCapabilities.auth_req = AuthReqMaskBondingFlag | AuthReqMaskMitm,
 
-  slave_setup.myPairingCapabilities.io_capability = IoCapability::NO_INPUT_NO_OUTPUT;
-  slave_setup.myPairingCapabilities.oob_data_flag = OobDataFlag::NOT_PRESENT;
-  slave_setup.myPairingCapabilities.auth_req = AuthReqMaskBondingFlag | AuthReqMaskMitm;
+  peripheral_setup.myPairingCapabilities.io_capability = IoCapability::NO_INPUT_NO_OUTPUT;
+  peripheral_setup.myPairingCapabilities.oob_data_flag = OobDataFlag::NOT_PRESENT;
+  peripheral_setup.myPairingCapabilities.auth_req = AuthReqMaskBondingFlag | AuthReqMaskMitm;
 
   {
     std::unique_lock<std::mutex> lock(handlers_initialization_guard);
@@ -600,17 +600,17 @@ TEST_F(PairingHandlerPairTest, test_legacy_just_works) {
       std::this_thread::sleep_for(1ms);
       LOG_INFO("waiting for first command...");
     }
-    slave_setup.pairing_request = PairingRequestView::Create(*first_command);
+    peripheral_setup.pairing_request = PairingRequestView::Create(*first_command);
 
-    RecordPairingPromptHandling(slave_user_interface, &pairing_handler_b);
+    RecordPairingPromptHandling(peripheral_user_interface, &pairing_handler_b);
 
-    pairing_handler_b = std::make_unique<PairingHandlerLe>(PairingHandlerLe::PHASE1, slave_setup);
+    pairing_handler_b = std::make_unique<PairingHandlerLe>(PairingHandlerLe::PHASE1, peripheral_setup);
   }
   pairing_handler_a->WaitUntilPairingFinished();
   pairing_handler_b->WaitUntilPairingFinished();
 
   EXPECT_TRUE(std::holds_alternative<PairingResult>(pairing_result_central.value()));
-  EXPECT_TRUE(std::holds_alternative<PairingResult>(pairing_result_slave.value()));
+  EXPECT_TRUE(std::holds_alternative<PairingResult>(pairing_result_peripheral.value()));
 }
 
 TEST_F(PairingHandlerPairTest, test_legacy_passkey_entry) {
@@ -618,9 +618,9 @@ TEST_F(PairingHandlerPairTest, test_legacy_passkey_entry) {
   central_setup.myPairingCapabilities.oob_data_flag = OobDataFlag::NOT_PRESENT;
   central_setup.myPairingCapabilities.auth_req = AuthReqMaskBondingFlag | AuthReqMaskMitm,
 
-  slave_setup.myPairingCapabilities.io_capability = IoCapability::KEYBOARD_ONLY;
-  slave_setup.myPairingCapabilities.oob_data_flag = OobDataFlag::NOT_PRESENT;
-  slave_setup.myPairingCapabilities.auth_req = AuthReqMaskBondingFlag | AuthReqMaskMitm;
+  peripheral_setup.myPairingCapabilities.io_capability = IoCapability::KEYBOARD_ONLY;
+  peripheral_setup.myPairingCapabilities.oob_data_flag = OobDataFlag::NOT_PRESENT;
+  peripheral_setup.myPairingCapabilities.auth_req = AuthReqMaskBondingFlag | AuthReqMaskMitm;
 
   {
     std::unique_lock<std::mutex> lock(handlers_initialization_guard);
@@ -629,11 +629,11 @@ TEST_F(PairingHandlerPairTest, test_legacy_passkey_entry) {
       std::this_thread::sleep_for(1ms);
       LOG_INFO("waiting for first command...");
     }
-    slave_setup.pairing_request = PairingRequestView::Create(*first_command);
+    peripheral_setup.pairing_request = PairingRequestView::Create(*first_command);
 
-    RecordPairingPromptHandling(slave_user_interface, &pairing_handler_b);
+    RecordPairingPromptHandling(peripheral_user_interface, &pairing_handler_b);
 
-    EXPECT_CALL(slave_user_interface, DisplayEnterPasskeyDialog(_));
+    EXPECT_CALL(peripheral_user_interface, DisplayEnterPasskeyDialog(_));
     EXPECT_CALL(central_user_interface, DisplayConfirmValue(_)).WillOnce(Invoke([&](ConfirmationData data) {
       LOG_INFO("Passkey prompt displayed entering passkey: %08x", data.GetNumericValue());
       std::this_thread::sleep_for(1ms);
@@ -642,13 +642,13 @@ TEST_F(PairingHandlerPairTest, test_legacy_passkey_entry) {
       pairing_handler_b->OnUiAction(PairingEvent::PASSKEY, data.GetNumericValue());
     }));
 
-    pairing_handler_b = std::make_unique<PairingHandlerLe>(PairingHandlerLe::PHASE1, slave_setup);
+    pairing_handler_b = std::make_unique<PairingHandlerLe>(PairingHandlerLe::PHASE1, peripheral_setup);
   }
   pairing_handler_a->WaitUntilPairingFinished();
   pairing_handler_b->WaitUntilPairingFinished();
 
   EXPECT_TRUE(std::holds_alternative<PairingResult>(pairing_result_central.value()));
-  EXPECT_TRUE(std::holds_alternative<PairingResult>(pairing_result_slave.value()));
+  EXPECT_TRUE(std::holds_alternative<PairingResult>(pairing_result_peripheral.value()));
 }
 
 }  // namespace security
diff --git a/system/main/shim/btm_api.cc b/system/main/shim/btm_api.cc
index 7a75460c18bfa524c0db2579ebe034f7a4969c60..077724b475fcf80dc2b9fb918969eb9171f17b4e 100644
--- a/system/main/shim/btm_api.cc
+++ b/system/main/shim/btm_api.cc
@@ -1007,7 +1007,7 @@ void bluetooth::shim::BTM_BleSetConnScanParams(uint32_t scan_interval,
 void bluetooth::shim::BTM_BleSetPrefConnParams(const RawAddress& bd_addr,
                                                uint16_t min_conn_int,
                                                uint16_t max_conn_int,
-                                               uint16_t slave_latency,
+                                               uint16_t peripheral_latency,
                                                uint16_t supervision_tout) {
   LOG_INFO("UNIMPLEMENTED %s", __func__);
 }
diff --git a/system/main/shim/btm_api.h b/system/main/shim/btm_api.h
index da6863fed3bdacda1a1937a9bd6d6359a4680dd9..77a11e93c7e1c27f8059fd967d55f387de6ef46a 100644
--- a/system/main/shim/btm_api.h
+++ b/system/main/shim/btm_api.h
@@ -546,14 +546,15 @@ void BTM_BleSetConnScanParams(uint32_t scan_interval, uint32_t scan_window);
  * Parameters:      bd_addr          - BD address of the peripheral
  *                  min_conn_int     - minimum preferred connection interval
  *                  max_conn_int     - maximum preferred connection interval
- *                  slave_latency    - preferred slave latency
+ *                  peripheral_latency    - preferred peripheral latency
  *                  supervision_tout - preferred supervision timeout
  *
  * Returns          void
  *
  ******************************************************************************/
 void BTM_BleSetPrefConnParams(const RawAddress& bd_addr, uint16_t min_conn_int,
-                              uint16_t max_conn_int, uint16_t slave_latency,
+                              uint16_t max_conn_int,
+                              uint16_t peripheral_latency,
                               uint16_t supervision_tout);
 
 /*******************************************************************************
@@ -1133,7 +1134,7 @@ tBTM_STATUS BTM_GetRole(const RawAddress& remote_bd_addr, uint8_t* p_role);
  * Function         BTM_SwitchRole
  *
  * Description      This function is called to switch role between central and
- *                  slave.  If role is already set it will do nothing.
+ *                  peripheral.  If role is already set it will do nothing.
  *
  * Returns          BTM_SUCCESS if already in specified role.
  *                  BTM_CMD_STARTED if command issued to controller.
diff --git a/system/main/shim/controller.cc b/system/main/shim/controller.cc
index ac16f2a71da339e79fd7a013c90d49747a65873c..a9030034a8988848ac802715b0e369040cc2649b 100644
--- a/system/main/shim/controller.cc
+++ b/system/main/shim/controller.cc
@@ -121,7 +121,7 @@ MAP_TO_GD(supports_simultaneous_le_bredr, SupportsSimultaneousLeBrEdr)
 MAP_TO_GD(supports_interlaced_inquiry_scan, SupportsInterlacedInquiryScan)
 MAP_TO_GD(supports_rssi_with_inquiry_results, SupportsRssiWithInquiryResults)
 MAP_TO_GD(supports_extended_inquiry_response, SupportsExtendedInquiryResponse)
-MAP_TO_GD(supports_central_slave_role_switch, SupportsRoleSwitch)
+MAP_TO_GD(supports_central_peripheral_role_switch, SupportsRoleSwitch)
 MAP_TO_GD(supports_3_slot_packets, Supports3SlotPackets)
 MAP_TO_GD(supports_5_slot_packets, Supports5SlotPackets)
 MAP_TO_GD(supports_classic_2m_phy, SupportsClassic2mPhy)
@@ -165,8 +165,8 @@ MAP_TO_GD(supports_ble_periodic_advertising_sync_transfer_recipient,
           SupportsBlePeriodicAdvertisingSyncTransferRecipient)
 MAP_TO_GD(supports_ble_connected_isochronous_stream_central,
           SupportsBleConnectedIsochronousStreamCentral)
-MAP_TO_GD(supports_ble_connected_isochronous_stream_slave,
-          SupportsBleConnectedIsochronousStreamSlave)
+MAP_TO_GD(supports_ble_connected_isochronous_stream_peripheral,
+          SupportsBleConnectedIsochronousStreamPeripheral)
 MAP_TO_GD(supports_ble_isochronous_broadcaster,
           SupportsBleIsochronousBroadcaster)
 MAP_TO_GD(supports_ble_synchronized_receiver, SupportsBleSynchronizedReceiver)
@@ -278,7 +278,7 @@ static const controller_t interface = {
     supports_interlaced_inquiry_scan,
     supports_rssi_with_inquiry_results,
     supports_extended_inquiry_response,
-    supports_central_slave_role_switch,
+    supports_central_peripheral_role_switch,
     supports_enhanced_setup_synchronous_connection,
     supports_enhanced_accept_synchronous_connection,
     supports_3_slot_packets,
@@ -318,7 +318,7 @@ static const controller_t interface = {
     supports_ble_periodic_advertising_sync_transfer_sender,
     supports_ble_periodic_advertising_sync_transfer_recipient,
     supports_ble_connected_isochronous_stream_central,
-    supports_ble_connected_isochronous_stream_slave,
+    supports_ble_connected_isochronous_stream_peripheral,
     supports_ble_isochronous_broadcaster,
     supports_ble_synchronized_receiver,
 
diff --git a/system/stack/acl/acl.h b/system/stack/acl/acl.h
index e9ba90d025160cd69c3284f0ecee276ce5c29b10..b397e5c0098a5637e195d25023d582c343abce7e 100644
--- a/system/stack/acl/acl.h
+++ b/system/stack/acl/acl.h
@@ -48,7 +48,7 @@ enum btm_acl_swkey_state_t {
 typedef struct {
   RawAddress remote_bd_addr; /* Remote BD addr involved with the switch */
   uint8_t hci_status;        /* HCI status returned with the event */
-  uint8_t role;              /* HCI_ROLE_CENTRAL or HCI_ROLE_SLAVE */
+  uint8_t role;              /* HCI_ROLE_CENTRAL or HCI_ROLE_PERIPHERAL */
 } tBTM_ROLE_SWITCH_CMPL;
 
 typedef struct {
diff --git a/system/stack/acl/ble_acl.cc b/system/stack/acl/ble_acl.cc
index 0ed840edb26bd9c2b5f3a9191527478cbe5c37e5..1a295379dc6cedd39cec8ea17232a93574fb7baf 100644
--- a/system/stack/acl/ble_acl.cc
+++ b/system/stack/acl/ble_acl.cc
@@ -79,7 +79,7 @@ void acl_ble_connection_complete(const tBLE_BD_ADDR& address_with_type,
 
   btm_ble_update_mode_operation(role, &address_with_type.bda, HCI_SUCCESS);
 
-  if (role == HCI_ROLE_SLAVE)
+  if (role == HCI_ROLE_PERIPHERAL)
     btm_ble_advertiser_notify_terminated_legacy(HCI_SUCCESS, handle);
 }
 
@@ -102,7 +102,7 @@ void acl_ble_enhanced_connection_complete(
         address_with_type.bda, peer_rpa, tBTM_SEC_BLE::BTM_BLE_ADDR_RRA);
   btm_ble_update_mode_operation(role, &address_with_type.bda, HCI_SUCCESS);
 
-  if (role == HCI_ROLE_SLAVE)
+  if (role == HCI_ROLE_PERIPHERAL)
     btm_ble_advertiser_notify_terminated_legacy(HCI_SUCCESS, handle);
 }
 
diff --git a/system/stack/acl/btm_acl.cc b/system/stack/acl/btm_acl.cc
index 32972ed4382c047b716913162cd8efea5c5a2401..77daa5c61122697834cfe16fad47354e75866ff6 100644
--- a/system/stack/acl/btm_acl.cc
+++ b/system/stack/acl/btm_acl.cc
@@ -145,7 +145,7 @@ void btm_acl_init(void) {
 
 void BTM_acl_after_controller_started() {
   internal_.btm_set_default_link_policy(
-      HCI_ENABLE_CENTRAL_SLAVE_SWITCH | HCI_ENABLE_HOLD_MODE |
+      HCI_ENABLE_CENTRAL_PERIPHERAL_SWITCH | HCI_ENABLE_HOLD_MODE |
       HCI_ENABLE_SNIFF_MODE | HCI_ENABLE_PARK_MODE);
 
   const controller_t* controller = controller_get_interface();
@@ -530,7 +530,7 @@ tBTM_STATUS BTM_GetRole(const RawAddress& remote_bd_addr, uint8_t* p_role) {
  * Function         BTM_SwitchRole
  *
  * Description      This function is called to switch role between central and
- *                  slave.  If role is already set it will do nothing.
+ *                  peripheral.  If role is already set it will do nothing.
  *
  * Returns          BTM_SUCCESS if already in specified role.
  *                  BTM_CMD_STARTED if command issued to controller.
@@ -543,7 +543,7 @@ tBTM_STATUS BTM_GetRole(const RawAddress& remote_bd_addr, uint8_t* p_role) {
  *
  ******************************************************************************/
 tBTM_STATUS BTM_SwitchRole(const RawAddress& remote_bd_addr, uint8_t new_role) {
-  if (!controller_get_interface()->supports_central_slave_role_switch()) {
+  if (!controller_get_interface()->supports_central_peripheral_role_switch()) {
     LOG_INFO("Local controller does not support role switching");
     return BTM_MODE_UNSUPPORTED;
   }
@@ -683,9 +683,9 @@ void btm_acl_encrypt_change(uint16_t handle, uint8_t status,
 void check_link_policy(uint16_t* settings) {
   const controller_t* controller = controller_get_interface();
 
-  if ((*settings & HCI_ENABLE_CENTRAL_SLAVE_SWITCH) &&
+  if ((*settings & HCI_ENABLE_CENTRAL_PERIPHERAL_SWITCH) &&
       (!controller->supports_role_switch())) {
-    *settings &= (~HCI_ENABLE_CENTRAL_SLAVE_SWITCH);
+    *settings &= (~HCI_ENABLE_CENTRAL_PERIPHERAL_SWITCH);
     LOG_INFO("Role switch not supported (settings: 0x%04x)", *settings);
   }
   if ((*settings & HCI_ENABLE_HOLD_MODE) &&
@@ -749,11 +749,11 @@ void BTM_block_sniff_mode_for(const RawAddress& peer_addr) {
 }
 
 void BTM_unblock_role_switch_for(const RawAddress& peer_addr) {
-  btm_toggle_policy_on_for(peer_addr, HCI_ENABLE_CENTRAL_SLAVE_SWITCH);
+  btm_toggle_policy_on_for(peer_addr, HCI_ENABLE_CENTRAL_PERIPHERAL_SWITCH);
 }
 
 void BTM_block_role_switch_for(const RawAddress& peer_addr) {
-  btm_toggle_policy_off_for(peer_addr, HCI_ENABLE_CENTRAL_SLAVE_SWITCH);
+  btm_toggle_policy_off_for(peer_addr, HCI_ENABLE_CENTRAL_PERIPHERAL_SWITCH);
 }
 
 void StackAclBtmAcl::btm_set_default_link_policy(uint16_t settings) {
@@ -764,12 +764,12 @@ void StackAclBtmAcl::btm_set_default_link_policy(uint16_t settings) {
 
 void BTM_default_unblock_role_switch() {
   internal_.btm_set_default_link_policy(btm_cb.acl_cb_.btm_def_link_policy |
-                                        HCI_ENABLE_CENTRAL_SLAVE_SWITCH);
+                                        HCI_ENABLE_CENTRAL_PERIPHERAL_SWITCH);
 }
 
 void BTM_default_block_role_switch() {
   internal_.btm_set_default_link_policy(btm_cb.acl_cb_.btm_def_link_policy &
-                                        ~HCI_ENABLE_CENTRAL_SLAVE_SWITCH);
+                                        ~HCI_ENABLE_CENTRAL_PERIPHERAL_SWITCH);
 }
 
 /*******************************************************************************
@@ -1407,10 +1407,10 @@ void btm_blacklist_role_change_device(const RawAddress& bd_addr,
  *
  * Function         btm_acl_role_changed
  *
- * Description      This function is called whan a link's central/slave role
- *                  change event or command status event (with error) is
- *                  received. It updates the link control block, and calls the
- *                  registered callback with status and role (if registered).
+ * Description      This function is called whan a link's central/peripheral
+ *role change event or command status event (with error) is received. It updates
+ *the link control block, and calls the registered callback with status and role
+ *(if registered).
  *
  * Returns          void
  *
@@ -2744,7 +2744,8 @@ void acl_set_disconnect_reason(uint8_t acl_disc_reason) {
 }
 
 bool acl_is_role_switch_allowed() {
-  return btm_cb.acl_cb_.btm_def_link_policy & HCI_ENABLE_CENTRAL_SLAVE_SWITCH;
+  return btm_cb.acl_cb_.btm_def_link_policy &
+         HCI_ENABLE_CENTRAL_PERIPHERAL_SWITCH;
 }
 
 uint16_t acl_get_supported_packet_types() {
diff --git a/system/stack/btm/btm_ble.cc b/system/stack/btm/btm_ble.cc
index b5b5d805d9c9254ce5d3861fc3aa06253b15e352..39188291c99dadb4d68074524afd36fffc40a9cf 100644
--- a/system/stack/btm/btm_ble.cc
+++ b/system/stack/btm/btm_ble.cc
@@ -90,7 +90,7 @@ bool BTM_SecAddBleDevice(const RawAddress& bd_addr, BD_NAME bd_name,
     p_dev_rec->conn_params.min_conn_int = BTM_BLE_CONN_PARAM_UNDEF;
     p_dev_rec->conn_params.max_conn_int = BTM_BLE_CONN_PARAM_UNDEF;
     p_dev_rec->conn_params.supervision_tout = BTM_BLE_CONN_PARAM_UNDEF;
-    p_dev_rec->conn_params.slave_latency = BTM_BLE_CONN_PARAM_UNDEF;
+    p_dev_rec->conn_params.peripheral_latency = BTM_BLE_CONN_PARAM_UNDEF;
 
     BTM_TRACE_DEBUG("%s: Device added, handle=0x%x, p_dev_rec=%p, bd_addr=%s",
                     __func__, p_dev_rec->ble_hci_handle, p_dev_rec,
@@ -402,25 +402,27 @@ void BTM_BleSecureConnectionOobDataReply(const RawAddress& bd_addr,
  *                  scan_window: scan window
  *                  min_conn_int     - minimum preferred connection interval
  *                  max_conn_int     - maximum preferred connection interval
- *                  slave_latency    - preferred slave latency
+ *                  peripheral_latency    - preferred peripheral latency
  *                  supervision_tout - preferred supervision timeout
  *
  * Returns          void
  *
  ******************************************************************************/
 void BTM_BleSetPrefConnParams(const RawAddress& bd_addr, uint16_t min_conn_int,
-                              uint16_t max_conn_int, uint16_t slave_latency,
+                              uint16_t max_conn_int,
+                              uint16_t peripheral_latency,
                               uint16_t supervision_tout) {
   if (bluetooth::shim::is_gd_shim_enabled()) {
     return bluetooth::shim::BTM_BleSetPrefConnParams(
-        bd_addr, min_conn_int, max_conn_int, slave_latency, supervision_tout);
+        bd_addr, min_conn_int, max_conn_int, peripheral_latency,
+        supervision_tout);
   }
   tBTM_SEC_DEV_REC* p_dev_rec = btm_find_dev(bd_addr);
 
   BTM_TRACE_API(
       "BTM_BleSetPrefConnParams min: %u  max: %u  latency: %u  \
                     tout: %u",
-      min_conn_int, max_conn_int, slave_latency, supervision_tout);
+      min_conn_int, max_conn_int, peripheral_latency, supervision_tout);
 
   if (BTM_BLE_ISVALID_PARAM(min_conn_int, BTM_BLE_CONN_INT_MIN,
                             BTM_BLE_CONN_INT_MAX) &&
@@ -428,10 +430,11 @@ void BTM_BleSetPrefConnParams(const RawAddress& bd_addr, uint16_t min_conn_int,
                             BTM_BLE_CONN_INT_MAX) &&
       BTM_BLE_ISVALID_PARAM(supervision_tout, BTM_BLE_CONN_SUP_TOUT_MIN,
                             BTM_BLE_CONN_SUP_TOUT_MAX) &&
-      (slave_latency <= BTM_BLE_CONN_LATENCY_MAX ||
-       slave_latency == BTM_BLE_CONN_PARAM_UNDEF)) {
+      (peripheral_latency <= BTM_BLE_CONN_LATENCY_MAX ||
+       peripheral_latency == BTM_BLE_CONN_PARAM_UNDEF)) {
     if (p_dev_rec) {
-      /* expect conn int and stout and slave latency to be updated all together
+      /* expect conn int and stout and peripheral latency to be updated all
+       * together
        */
       if (min_conn_int != BTM_BLE_CONN_PARAM_UNDEF ||
           max_conn_int != BTM_BLE_CONN_PARAM_UNDEF) {
@@ -445,10 +448,11 @@ void BTM_BleSetPrefConnParams(const RawAddress& bd_addr, uint16_t min_conn_int,
         else
           p_dev_rec->conn_params.max_conn_int = min_conn_int;
 
-        if (slave_latency != BTM_BLE_CONN_PARAM_UNDEF)
-          p_dev_rec->conn_params.slave_latency = slave_latency;
+        if (peripheral_latency != BTM_BLE_CONN_PARAM_UNDEF)
+          p_dev_rec->conn_params.peripheral_latency = peripheral_latency;
         else
-          p_dev_rec->conn_params.slave_latency = BTM_BLE_CONN_SLAVE_LATENCY_DEF;
+          p_dev_rec->conn_params.peripheral_latency =
+              BTM_BLE_CONN_PERIPHERAL_LATENCY_DEF;
 
         if (supervision_tout != BTM_BLE_CONN_PARAM_UNDEF)
           p_dev_rec->conn_params.supervision_tout = supervision_tout;
@@ -1430,7 +1434,7 @@ tBTM_STATUS btm_ble_set_encryption(const RawAddress& bd_addr,
  * Function         btm_ble_ltk_request
  *
  * Description      This function is called when encryption request is received
- *                  on a slave device.
+ *                  on a peripheral device.
  *
  *
  * Returns          void
@@ -1542,7 +1546,7 @@ void btm_ble_link_encrypted(const RawAddress& bd_addr, uint8_t encr_enable) {
  * Function         btm_ble_ltk_request_reply
  *
  * Description      This function is called to send a LTK request reply on a
- *                  slave
+ *                  peripheral
  *                  device.
  *
  * Returns          void
diff --git a/system/stack/btm/btm_ble_bgconn.cc b/system/stack/btm/btm_ble_bgconn.cc
index 246ea90b422b9e14a929fbe3005c92d02c2d1b89..2bdeecbbddbd6729a8428da232c7365625313366 100644
--- a/system/stack/btm/btm_ble_bgconn.cc
+++ b/system/stack/btm/btm_ble_bgconn.cc
@@ -394,18 +394,18 @@ static bool btm_ble_start_auto_conn() {
   }
 
   btm_send_hci_create_connection(
-      scan_int,                       /* uint16_t scan_int      */
-      scan_win,                       /* uint16_t scan_win      */
-      0x01,                           /* uint8_t acceptlist     */
-      peer_addr_type,                 /* uint8_t addr_type_peer */
-      RawAddress::kEmpty,             /* BD_ADDR bda_peer     */
-      own_addr_type,                  /* uint8_t addr_type_own */
-      BTM_BLE_CONN_INT_MIN_DEF,       /* uint16_t conn_int_min  */
-      BTM_BLE_CONN_INT_MAX_DEF,       /* uint16_t conn_int_max  */
-      BTM_BLE_CONN_SLAVE_LATENCY_DEF, /* uint16_t conn_latency  */
-      BTM_BLE_CONN_TIMEOUT_DEF,       /* uint16_t conn_timeout  */
-      0,                              /* uint16_t min_len       */
-      0,                              /* uint16_t max_len       */
+      scan_int,                            /* uint16_t scan_int      */
+      scan_win,                            /* uint16_t scan_win      */
+      0x01,                                /* uint8_t acceptlist     */
+      peer_addr_type,                      /* uint8_t addr_type_peer */
+      RawAddress::kEmpty,                  /* BD_ADDR bda_peer     */
+      own_addr_type,                       /* uint8_t addr_type_own */
+      BTM_BLE_CONN_INT_MIN_DEF,            /* uint16_t conn_int_min  */
+      BTM_BLE_CONN_INT_MAX_DEF,            /* uint16_t conn_int_max  */
+      BTM_BLE_CONN_PERIPHERAL_LATENCY_DEF, /* uint16_t conn_latency  */
+      BTM_BLE_CONN_TIMEOUT_DEF,            /* uint16_t conn_timeout  */
+      0,                                   /* uint16_t min_len       */
+      0,                                   /* uint16_t max_len       */
       phy);
   return true;
 }
diff --git a/system/stack/btm/btm_ble_gap.cc b/system/stack/btm/btm_ble_gap.cc
index ed5f8314cb6e490d863fac3ad4a963b4ad903ad8..f81e288d529f73a605d3f5ae34e0b6e049f92567 100644
--- a/system/stack/btm/btm_ble_gap.cc
+++ b/system/stack/btm/btm_ble_gap.cc
@@ -214,11 +214,11 @@ constexpr uint8_t UNSUPPORTED = 255;
 const uint8_t btm_le_state_combo_tbl[BTM_BLE_STATE_MAX][BTM_BLE_STATE_MAX] = {
     {
         /* single state support */
-        HCI_LE_STATES_CONN_ADV_BIT, /* conn_adv */
-        HCI_LE_STATES_INIT_BIT,     /* init */
-        HCI_LE_STATES_INIT_BIT,     /* central */
-        HCI_LE_STATES_SLAVE_BIT,    /* slave */
-        UNSUPPORTED,                /* todo: lo du dir adv, not covered ? */
+        HCI_LE_STATES_CONN_ADV_BIT,   /* conn_adv */
+        HCI_LE_STATES_INIT_BIT,       /* init */
+        HCI_LE_STATES_INIT_BIT,       /* central */
+        HCI_LE_STATES_PERIPHERAL_BIT, /* peripheral */
+        UNSUPPORTED,                  /* todo: lo du dir adv, not covered ? */
         HCI_LE_STATES_HI_DUTY_DIR_ADV_BIT, /* hi duty dir adv */
         HCI_LE_STATES_NON_CONN_ADV_BIT,    /* non connectable adv */
         HCI_LE_STATES_PASS_SCAN_BIT,       /*  passive scan */
@@ -230,7 +230,7 @@ const uint8_t btm_le_state_combo_tbl[BTM_BLE_STATE_MAX][BTM_BLE_STATE_MAX] = {
         UNSUPPORTED,                            /* conn_adv */
         HCI_LE_STATES_CONN_ADV_INIT_BIT,        /* init: 32 */
         HCI_LE_STATES_CONN_ADV_CENTRAL_BIT,     /* central: 35 */
-        HCI_LE_STATES_CONN_ADV_SLAVE_BIT,       /* slave: 38,*/
+        HCI_LE_STATES_CONN_ADV_PERIPHERAL_BIT,  /* peripheral: 38,*/
         UNSUPPORTED,                            /* lo du dir adv */
         UNSUPPORTED,                            /* hi duty dir adv */
         UNSUPPORTED,                            /* non connectable adv */
@@ -240,16 +240,16 @@ const uint8_t btm_le_state_combo_tbl[BTM_BLE_STATE_MAX][BTM_BLE_STATE_MAX] = {
     },
     {
         /* init */
-        HCI_LE_STATES_CONN_ADV_INIT_BIT,        /* conn_adv: 32 */
-        UNSUPPORTED,                            /* init */
-        HCI_LE_STATES_INIT_CENTRAL_BIT,         /* central 28 */
-        HCI_LE_STATES_INIT_CENTRAL_SLAVE_BIT,   /* slave 41 */
-        HCI_LE_STATES_LO_DUTY_DIR_ADV_INIT_BIT, /* lo du dir adv 34 */
-        HCI_LE_STATES_HI_DUTY_DIR_ADV_INIT_BIT, /* hi duty dir adv 33 */
-        HCI_LE_STATES_NON_CONN_INIT_BIT,        /*  non connectable adv */
-        HCI_LE_STATES_PASS_SCAN_INIT_BIT,       /* passive scan */
-        HCI_LE_STATES_ACTIVE_SCAN_INIT_BIT,     /*  active scan */
-        HCI_LE_STATES_SCAN_ADV_INIT_BIT         /* scanable adv */
+        HCI_LE_STATES_CONN_ADV_INIT_BIT,           /* conn_adv: 32 */
+        UNSUPPORTED,                               /* init */
+        HCI_LE_STATES_INIT_CENTRAL_BIT,            /* central 28 */
+        HCI_LE_STATES_INIT_CENTRAL_PERIPHERAL_BIT, /* peripheral 41 */
+        HCI_LE_STATES_LO_DUTY_DIR_ADV_INIT_BIT,    /* lo du dir adv 34 */
+        HCI_LE_STATES_HI_DUTY_DIR_ADV_INIT_BIT,    /* hi duty dir adv 33 */
+        HCI_LE_STATES_NON_CONN_INIT_BIT,           /*  non connectable adv */
+        HCI_LE_STATES_PASS_SCAN_INIT_BIT,          /* passive scan */
+        HCI_LE_STATES_ACTIVE_SCAN_INIT_BIT,        /*  active scan */
+        HCI_LE_STATES_SCAN_ADV_INIT_BIT            /* scanable adv */
 
     },
     {
@@ -257,7 +257,7 @@ const uint8_t btm_le_state_combo_tbl[BTM_BLE_STATE_MAX][BTM_BLE_STATE_MAX] = {
         HCI_LE_STATES_CONN_ADV_CENTRAL_BIT,        /* conn_adv: 35 */
         HCI_LE_STATES_INIT_CENTRAL_BIT,            /* init 28 */
         HCI_LE_STATES_INIT_CENTRAL_BIT,            /* central 28 */
-        HCI_LE_STATES_CONN_ADV_INIT_BIT,           /* slave: 32 */
+        HCI_LE_STATES_CONN_ADV_INIT_BIT,           /* peripheral: 32 */
         HCI_LE_STATES_LO_DUTY_DIR_ADV_CENTRAL_BIT, /* lo duty cycle adv 37 */
         HCI_LE_STATES_HI_DUTY_DIR_ADV_CENTRAL_BIT, /* hi duty cycle adv 36 */
         HCI_LE_STATES_NON_CONN_ADV_CENTRAL_BIT,    /*  non connectable adv*/
@@ -267,42 +267,42 @@ const uint8_t btm_le_state_combo_tbl[BTM_BLE_STATE_MAX][BTM_BLE_STATE_MAX] = {
 
     },
     {
-        /* slave */
-        HCI_LE_STATES_CONN_ADV_SLAVE_BIT,        /* conn_adv: 38,*/
-        HCI_LE_STATES_INIT_CENTRAL_SLAVE_BIT,    /* init 41 */
-        HCI_LE_STATES_INIT_CENTRAL_SLAVE_BIT,    /* central 41 */
-        HCI_LE_STATES_CONN_ADV_SLAVE_BIT,        /* slave: 38,*/
-        HCI_LE_STATES_LO_DUTY_DIR_ADV_SLAVE_BIT, /* lo duty cycle adv 40 */
-        HCI_LE_STATES_HI_DUTY_DIR_ADV_SLAVE_BIT, /* hi duty cycle adv 39 */
-        HCI_LE_STATES_NON_CONN_ADV_SLAVE_BIT,    /* non connectable adv */
-        HCI_LE_STATES_PASS_SCAN_SLAVE_BIT,       /* passive scan */
-        HCI_LE_STATES_ACTIVE_SCAN_SLAVE_BIT,     /*  active scan */
-        HCI_LE_STATES_SCAN_ADV_SLAVE_BIT         /* scanable adv */
+        /* peripheral */
+        HCI_LE_STATES_CONN_ADV_PERIPHERAL_BIT,        /* conn_adv: 38,*/
+        HCI_LE_STATES_INIT_CENTRAL_PERIPHERAL_BIT,    /* init 41 */
+        HCI_LE_STATES_INIT_CENTRAL_PERIPHERAL_BIT,    /* central 41 */
+        HCI_LE_STATES_CONN_ADV_PERIPHERAL_BIT,        /* peripheral: 38,*/
+        HCI_LE_STATES_LO_DUTY_DIR_ADV_PERIPHERAL_BIT, /* lo duty cycle adv 40 */
+        HCI_LE_STATES_HI_DUTY_DIR_ADV_PERIPHERAL_BIT, /* hi duty cycle adv 39 */
+        HCI_LE_STATES_NON_CONN_ADV_PERIPHERAL_BIT,    /* non connectable adv */
+        HCI_LE_STATES_PASS_SCAN_PERIPHERAL_BIT,       /* passive scan */
+        HCI_LE_STATES_ACTIVE_SCAN_PERIPHERAL_BIT,     /*  active scan */
+        HCI_LE_STATES_SCAN_ADV_PERIPHERAL_BIT         /* scanable adv */
 
     },
     {
         /* lo duty cycle adv */
-        UNSUPPORTED,                               /* conn_adv: 38,*/
-        HCI_LE_STATES_LO_DUTY_DIR_ADV_INIT_BIT,    /* init 34 */
-        HCI_LE_STATES_LO_DUTY_DIR_ADV_CENTRAL_BIT, /* central 37 */
-        HCI_LE_STATES_LO_DUTY_DIR_ADV_SLAVE_BIT,   /* slave: 40 */
-        UNSUPPORTED,                               /* lo duty cycle adv 40 */
-        UNSUPPORTED,                               /* hi duty cycle adv 39 */
-        UNSUPPORTED,                               /*  non connectable adv */
+        UNSUPPORTED,                                  /* conn_adv: 38,*/
+        HCI_LE_STATES_LO_DUTY_DIR_ADV_INIT_BIT,       /* init 34 */
+        HCI_LE_STATES_LO_DUTY_DIR_ADV_CENTRAL_BIT,    /* central 37 */
+        HCI_LE_STATES_LO_DUTY_DIR_ADV_PERIPHERAL_BIT, /* peripheral: 40 */
+        UNSUPPORTED,                                  /* lo duty cycle adv 40 */
+        UNSUPPORTED,                                  /* hi duty cycle adv 39 */
+        UNSUPPORTED,                                  /*  non connectable adv */
         UNSUPPORTED, /* TODO: passive scan, not covered? */
         UNSUPPORTED, /* TODO:  active scan, not covered? */
         UNSUPPORTED  /*  scanable adv */
     },
     {
         /* hi duty cycle adv */
-        UNSUPPORTED,                                 /* conn_adv: 38,*/
-        HCI_LE_STATES_HI_DUTY_DIR_ADV_INIT_BIT,      /* init 33 */
-        HCI_LE_STATES_HI_DUTY_DIR_ADV_CENTRAL_BIT,   /* central 36 */
-        HCI_LE_STATES_HI_DUTY_DIR_ADV_SLAVE_BIT,     /* slave: 39*/
-        UNSUPPORTED,                                 /* lo duty cycle adv 40 */
-        UNSUPPORTED,                                 /* hi duty cycle adv 39 */
-        UNSUPPORTED,                                 /* non connectable adv */
-        HCI_LE_STATES_HI_DUTY_DIR_ADV_PASS_SCAN_BIT, /* passive scan */
+        UNSUPPORTED,                                  /* conn_adv: 38,*/
+        HCI_LE_STATES_HI_DUTY_DIR_ADV_INIT_BIT,       /* init 33 */
+        HCI_LE_STATES_HI_DUTY_DIR_ADV_CENTRAL_BIT,    /* central 36 */
+        HCI_LE_STATES_HI_DUTY_DIR_ADV_PERIPHERAL_BIT, /* peripheral: 39*/
+        UNSUPPORTED,                                  /* lo duty cycle adv 40 */
+        UNSUPPORTED,                                  /* hi duty cycle adv 39 */
+        UNSUPPORTED,                                  /* non connectable adv */
+        HCI_LE_STATES_HI_DUTY_DIR_ADV_PASS_SCAN_BIT,  /* passive scan */
         HCI_LE_STATES_HI_DUTY_DIR_ADV_ACTIVE_SCAN_BIT, /* active scan */
         UNSUPPORTED                                    /* scanable adv */
     },
@@ -311,7 +311,7 @@ const uint8_t btm_le_state_combo_tbl[BTM_BLE_STATE_MAX][BTM_BLE_STATE_MAX] = {
         UNSUPPORTED,                                /* conn_adv: */
         HCI_LE_STATES_NON_CONN_INIT_BIT,            /* init  */
         HCI_LE_STATES_NON_CONN_ADV_CENTRAL_BIT,     /* central  */
-        HCI_LE_STATES_NON_CONN_ADV_SLAVE_BIT,       /* slave: */
+        HCI_LE_STATES_NON_CONN_ADV_PERIPHERAL_BIT,  /* peripheral: */
         UNSUPPORTED,                                /* lo duty cycle adv */
         UNSUPPORTED,                                /* hi duty cycle adv */
         UNSUPPORTED,                                /* non connectable adv */
@@ -324,7 +324,7 @@ const uint8_t btm_le_state_combo_tbl[BTM_BLE_STATE_MAX][BTM_BLE_STATE_MAX] = {
         HCI_LE_STATES_CONN_ADV_PASS_SCAN_BIT,        /* conn_adv: */
         HCI_LE_STATES_PASS_SCAN_INIT_BIT,            /* init  */
         HCI_LE_STATES_PASS_SCAN_CENTRAL_BIT,         /* central  */
-        HCI_LE_STATES_PASS_SCAN_SLAVE_BIT,           /* slave: */
+        HCI_LE_STATES_PASS_SCAN_PERIPHERAL_BIT,      /* peripheral: */
         UNSUPPORTED,                                 /* lo duty cycle adv */
         HCI_LE_STATES_HI_DUTY_DIR_ADV_PASS_SCAN_BIT, /* hi duty cycle adv */
         HCI_LE_STATES_NON_CONN_ADV_PASS_SCAN_BIT,    /* non connectable adv */
@@ -337,7 +337,7 @@ const uint8_t btm_le_state_combo_tbl[BTM_BLE_STATE_MAX][BTM_BLE_STATE_MAX] = {
         HCI_LE_STATES_CONN_ADV_ACTIVE_SCAN_BIT,        /* conn_adv: */
         HCI_LE_STATES_ACTIVE_SCAN_INIT_BIT,            /* init  */
         HCI_LE_STATES_ACTIVE_SCAN_CENTRAL_BIT,         /* central  */
-        HCI_LE_STATES_ACTIVE_SCAN_SLAVE_BIT,           /* slave: */
+        HCI_LE_STATES_ACTIVE_SCAN_PERIPHERAL_BIT,      /* peripheral: */
         UNSUPPORTED,                                   /* lo duty cycle adv */
         HCI_LE_STATES_HI_DUTY_DIR_ADV_ACTIVE_SCAN_BIT, /* hi duty cycle adv */
         HCI_LE_STATES_NON_CONN_ADV_ACTIVE_SCAN_BIT, /*  non connectable adv */
@@ -350,7 +350,7 @@ const uint8_t btm_le_state_combo_tbl[BTM_BLE_STATE_MAX][BTM_BLE_STATE_MAX] = {
         UNSUPPORTED,                            /* conn_adv: */
         HCI_LE_STATES_SCAN_ADV_INIT_BIT,        /* init  */
         HCI_LE_STATES_SCAN_ADV_CENTRAL_BIT,     /* central  */
-        HCI_LE_STATES_SCAN_ADV_SLAVE_BIT,       /* slave: */
+        HCI_LE_STATES_SCAN_ADV_PERIPHERAL_BIT,  /* peripheral: */
         UNSUPPORTED,                            /* lo duty cycle adv */
         UNSUPPORTED,                            /* hi duty cycle adv */
         UNSUPPORTED,                            /* non connectable adv */
@@ -2286,10 +2286,10 @@ static void btm_ble_update_link_topology_mask(uint8_t link_role,
   if (btm_cb.ble_ctr_cb.link_count[HCI_ROLE_CENTRAL])
     btm_ble_set_topology_mask(BTM_BLE_STATE_CENTRAL_BIT);
 
-  if (btm_cb.ble_ctr_cb.link_count[HCI_ROLE_SLAVE])
-    btm_ble_set_topology_mask(BTM_BLE_STATE_SLAVE_BIT);
+  if (btm_cb.ble_ctr_cb.link_count[HCI_ROLE_PERIPHERAL])
+    btm_ble_set_topology_mask(BTM_BLE_STATE_PERIPHERAL_BIT);
 
-  if (link_role == HCI_ROLE_SLAVE && increase) {
+  if (link_role == HCI_ROLE_PERIPHERAL && increase) {
     btm_cb.ble_ctr_cb.inq_var.adv_mode = BTM_BLE_ADV_DISABLE;
     /* make device fall back into undirected adv mode by default */
     btm_cb.ble_ctr_cb.inq_var.directed_conn = BTM_BLE_ADV_IND_EVT;
diff --git a/system/stack/btm/btm_ble_int_types.h b/system/stack/btm/btm_ble_int_types.h
index 81e9fd7f238e4e4359fa6f9e36971c06ad93faf7..7eb22ea89b16d982a43a50c73780804522639fe8 100644
--- a/system/stack/btm/btm_ble_int_types.h
+++ b/system/stack/btm/btm_ble_int_types.h
@@ -153,7 +153,7 @@ typedef struct { void* p_param; } tBTM_BLE_CONN_REQ;
 #define BTM_BLE_STATE_CONN_ADV_BIT 0x0001
 #define BTM_BLE_STATE_INIT_BIT 0x0002
 #define BTM_BLE_STATE_CENTRAL_BIT 0x0004
-#define BTM_BLE_STATE_SLAVE_BIT 0x0008
+#define BTM_BLE_STATE_PERIPHERAL_BIT 0x0008
 #define BTM_BLE_STATE_LO_DUTY_DIR_ADV_BIT 0x0010
 #define BTM_BLE_STATE_HI_DUTY_DIR_ADV_BIT 0x0020
 #define BTM_BLE_STATE_NON_CONN_ADV_BIT 0x0040
@@ -167,7 +167,7 @@ typedef uint16_t tBTM_BLE_STATE_MASK;
   (BTM_BLE_STATE_CONN_ADV_BIT | BTM_BLE_STATE_LO_DUTY_DIR_ADV_BIT | \
    BTM_BLE_STATE_HI_DUTY_DIR_ADV_BIT | BTM_BLE_STATE_SCAN_ADV_BIT)
 #define BTM_BLE_STATE_ALL_CONN_MASK \
-  (BTM_BLE_STATE_CENTRAL_BIT | BTM_BLE_STATE_SLAVE_BIT)
+  (BTM_BLE_STATE_CENTRAL_BIT | BTM_BLE_STATE_PERIPHERAL_BIT)
 
 typedef struct {
   RawAddress* resolve_q_random_pseudo;
@@ -188,7 +188,7 @@ typedef uint8_t tBTM_PRIVACY_MODE;
 */
 constexpr uint8_t kBTM_BLE_INQUIRY_ACTIVE = 0x10;
 constexpr uint8_t kBTM_BLE_OBSERVE_ACTIVE = 0x80;
-constexpr size_t kCentralAndSlaveCount = 2;
+constexpr size_t kCentralAndPeripheralCount = 2;
 
 typedef struct {
  private:
@@ -270,8 +270,8 @@ typedef struct {
   /* current BLE link state */
   tBTM_BLE_STATE_MASK cur_states; /* bit mask of tBTM_BLE_STATE */
 
-  uint8_t
-      link_count[kCentralAndSlaveCount]; /* total link count central and slave*/
+  uint8_t link_count[kCentralAndPeripheralCount]; /* total link count central
+                                                     and peripheral*/
 } tBTM_BLE_CB;
 
 #endif  // BTM_BLE_INT_TYPES_H
diff --git a/system/stack/btm/btm_dev.cc b/system/stack/btm/btm_dev.cc
index 92af7e3e18c25e82d5d579e88a155f59135ef873..89ec1b620ae32cfe8918908400a2484809650889 100644
--- a/system/stack/btm/btm_dev.cc
+++ b/system/stack/btm/btm_dev.cc
@@ -290,7 +290,7 @@ bool btm_dev_support_role_switch(const RawAddress& bd_addr) {
     return false;
   }
 
-  if (!controller_get_interface()->supports_central_slave_role_switch()) {
+  if (!controller_get_interface()->supports_central_peripheral_role_switch()) {
     BTM_TRACE_DEBUG("%s Local controller does not support role switch",
                     __func__);
     return false;
diff --git a/system/stack/btm/btm_sec.cc b/system/stack/btm/btm_sec.cc
index 807179cb4836ff5dbbcb47aa7b5b7898ad521273..e78ceff8774e10a0ea09f533191ee89325f6835e 100644
--- a/system/stack/btm/btm_sec.cc
+++ b/system/stack/btm/btm_sec.cc
@@ -436,7 +436,7 @@ bool BTM_SetSecurityLevel(bool is_originator, const char* p_name,
       p_srec->security_flags &=
           ~(BTM_SEC_OUT_ENCRYPT | BTM_SEC_OUT_AUTHENTICATE | BTM_SEC_OUT_MITM |
             BTM_SEC_FORCE_CENTRAL | BTM_SEC_ATTEMPT_CENTRAL |
-            BTM_SEC_FORCE_SLAVE | BTM_SEC_ATTEMPT_SLAVE);
+            BTM_SEC_FORCE_PERIPHERAL | BTM_SEC_ATTEMPT_PERIPHERAL);
     }
 
     /* Parameter validation.  Originator should not set requirements for
@@ -465,7 +465,7 @@ bool BTM_SetSecurityLevel(bool is_originator, const char* p_name,
       p_srec->security_flags &=
           ~(BTM_SEC_IN_ENCRYPT | BTM_SEC_IN_AUTHENTICATE | BTM_SEC_IN_MITM |
             BTM_SEC_FORCE_CENTRAL | BTM_SEC_ATTEMPT_CENTRAL |
-            BTM_SEC_FORCE_SLAVE | BTM_SEC_ATTEMPT_SLAVE |
+            BTM_SEC_FORCE_PERIPHERAL | BTM_SEC_ATTEMPT_PERIPHERAL |
             BTM_SEC_IN_MIN_16_DIGIT_PIN);
     }
 
@@ -3046,7 +3046,7 @@ void btm_sec_auth_complete(uint16_t handle, uint8_t status) {
   }
 
   /* For transaction collision we need to wait and repeat.  There is no need */
-  /* for random timeout because only slave should receive the result */
+  /* for random timeout because only peripheral should receive the result */
   if ((status == HCI_ERR_LMP_ERR_TRANS_COLLISION) ||
       (status == HCI_ERR_DIFF_TRANSACTION_COLLISION)) {
     btm_sec_auth_collision(handle);
@@ -3201,7 +3201,7 @@ void btm_sec_encrypt_change(uint16_t handle, uint8_t status,
                   (p_dev_rec) ? p_dev_rec->sec_flags : 0);
 
   /* For transaction collision we need to wait and repeat.  There is no need */
-  /* for random timeout because only slave should receive the result */
+  /* for random timeout because only peripheral should receive the result */
   if ((status == HCI_ERR_LMP_ERR_TRANS_COLLISION) ||
       (status == HCI_ERR_DIFF_TRANSACTION_COLLISION)) {
     btm_sec_auth_collision(handle);
@@ -3620,7 +3620,7 @@ void btm_sec_connected(const RawAddress& bda, uint16_t handle, uint8_t status,
   btm_set_packet_types_from_address(bda, BT_TRANSPORT_BR_EDR,
                                     acl_get_supported_packet_types());
 
-  btm_acl_created(bda, handle, HCI_ROLE_SLAVE, BT_TRANSPORT_BR_EDR);
+  btm_acl_created(bda, handle, HCI_ROLE_PERIPHERAL, BT_TRANSPORT_BR_EDR);
 
   /* Initialize security flags.  We need to do that because some            */
   /* authorization complete could have come after the connection is dropped */
@@ -4333,10 +4333,10 @@ tBTM_STATUS btm_sec_execute_procedure(tBTM_SEC_DEV_REC* p_dev_rec) {
   }
 
   /* All required  security procedures already established */
-  p_dev_rec->security_required &=
-      ~(BTM_SEC_OUT_AUTHENTICATE | BTM_SEC_IN_AUTHENTICATE |
-        BTM_SEC_OUT_ENCRYPT | BTM_SEC_IN_ENCRYPT | BTM_SEC_FORCE_CENTRAL |
-        BTM_SEC_ATTEMPT_CENTRAL | BTM_SEC_FORCE_SLAVE | BTM_SEC_ATTEMPT_SLAVE);
+  p_dev_rec->security_required &= ~(
+      BTM_SEC_OUT_AUTHENTICATE | BTM_SEC_IN_AUTHENTICATE | BTM_SEC_OUT_ENCRYPT |
+      BTM_SEC_IN_ENCRYPT | BTM_SEC_FORCE_CENTRAL | BTM_SEC_ATTEMPT_CENTRAL |
+      BTM_SEC_FORCE_PERIPHERAL | BTM_SEC_ATTEMPT_PERIPHERAL);
 
   BTM_TRACE_EVENT("Security Manager: access granted");
 
diff --git a/system/stack/btm/security_device_record.h b/system/stack/btm/security_device_record.h
index e033ace589025767aef1f308b3ced6be75fdeef3..457f2348dd2b2f4f7e25168908cc927abc573f18 100644
--- a/system/stack/btm/security_device_record.h
+++ b/system/stack/btm/security_device_record.h
@@ -30,7 +30,7 @@ typedef char tBTM_LOC_BD_NAME[BTM_MAX_LOC_BD_NAME_LEN + 1];
 typedef struct {
   uint16_t min_conn_int;
   uint16_t max_conn_int;
-  uint16_t slave_latency;
+  uint16_t peripheral_latency;
   uint16_t supervision_tout;
 
 } tBTM_LE_CONN_PRAMS;
@@ -63,7 +63,7 @@ typedef struct {
   uint8_t term_service_name[BT_MAX_SERVICE_NAME_LEN + 1];
 } tBTM_SEC_SERV_REC;
 
-/* LE Security information of device in Slave Role */
+/* LE Security information of device in Peripheral Role */
 typedef struct {
   Octet16 irk;   /* peer diverified identity root */
   Octet16 pltk;  /* peer long term key */
@@ -73,7 +73,7 @@ typedef struct {
   Octet16 lcsrk; /* local SRK peer device used to secured sign local data  */
 
   BT_OCTET8 rand;        /* random vector for LTK generation */
-  uint16_t ediv;         /* LTK diversifier of this slave device */
+  uint16_t ediv;         /* LTK diversifier of this peripheral device */
   uint16_t div;          /* local DIV  to generate local LTK=d1(ER,DIV,0) and
                             CSRK=d1(ER,DIV,1)  */
   uint8_t sec_level;     /* local pairing security level */
@@ -107,7 +107,7 @@ typedef struct {
   tADDRESS_TYPE active_addr_type;
 
   tBTM_LE_KEY_TYPE key_type; /* bit mask of valid key types in record */
-  tBTM_SEC_BLE_KEYS keys;    /* LE device security info in slave rode */
+  tBTM_SEC_BLE_KEYS keys;    /* LE device security info in peripheral rode */
 } tBTM_SEC_BLE;
 
 enum : uint16_t {
diff --git a/system/stack/btu/btu_hcif.cc b/system/stack/btu/btu_hcif.cc
index 5feb3f05700c5979b35ceb4f08bb99c013213784..dcc14b82aced27fcfd0ca4cb024a660347aaf950 100644
--- a/system/stack/btu/btu_hcif.cc
+++ b/system/stack/btu/btu_hcif.cc
@@ -394,7 +394,7 @@ void btu_hcif_process_event(UNUSED_ATTR uint8_t controller_id, BT_HDR* p_msg) {
         case HCI_BLE_READ_REMOTE_FEAT_CMPL_EVT:
           btm_ble_read_remote_features_complete(p);
           break;
-        case HCI_BLE_LTK_REQ_EVT: /* received only at slave device */
+        case HCI_BLE_LTK_REQ_EVT: /* received only at peripheral device */
           btu_ble_proc_ltk_req(p);
           break;
         case HCI_BLE_ENHANCED_CONN_COMPLETE_EVT:
diff --git a/system/stack/include/acl_api.h b/system/stack/include/acl_api.h
index cabbf9794fa53fde7eef0c84256919390c9367f0..a7f3a4eec31610637b16944933e827555b468e02 100644
--- a/system/stack/include/acl_api.h
+++ b/system/stack/include/acl_api.h
@@ -112,7 +112,7 @@ tBTM_STATUS BTM_GetRole(const RawAddress& remote_bd_addr, uint8_t* p_role);
  * Function         BTM_SwitchRole
  *
  * Description      This function is called to switch role between central and
- *                  slave.  If role is already set it will do nothing.
+ *                  peripheral.  If role is already set it will do nothing.
  *
  * Returns          BTM_SUCCESS if already in specified role.
  *                  BTM_CMD_STARTED if command issued to controller.
diff --git a/system/stack/include/btm_api_types.h b/system/stack/include/btm_api_types.h
index 868be9b18b1a92ea12fd23b9b0055efbdb0c1b85..57662aeabfb1a756766658ef5482c4b685c7b7f3 100644
--- a/system/stack/include/btm_api_types.h
+++ b/system/stack/include/btm_api_types.h
@@ -334,8 +334,8 @@ typedef struct {
   uint8_t pcm_intf_rate; /* PCM interface rate: 0: 128kbps, 1: 256 kbps;
                              2:512 bps; 3: 1024kbps; 4: 2048kbps */
   uint8_t frame_type;    /* frame type: 0: short; 1: long */
-  uint8_t sync_mode;     /* sync mode: 0: slave; 1: central */
-  uint8_t clock_mode;    /* clock mode: 0: slave; 1: central */
+  uint8_t sync_mode;     /* sync mode: 0: peripheral; 1: central */
+  uint8_t clock_mode;    /* clock mode: 0: peripheral; 1: central */
 
 } tBTM_SCO_PCM_PARAM;
 
@@ -486,9 +486,9 @@ enum : uint16_t {
   /* Need to switch connection to be central */
   BTM_SEC_ATTEMPT_CENTRAL = 0x0200,
   /* Need to switch connection to be slave */
-  BTM_SEC_FORCE_SLAVE = 0x0400,
+  BTM_SEC_FORCE_PERIPHERAL = 0x0400,
   /* Try to switch connection to be slave */
-  BTM_SEC_ATTEMPT_SLAVE = 0x0800,
+  BTM_SEC_ATTEMPT_PERIPHERAL = 0x0800,
   /* inbound Do man in the middle protection */
   BTM_SEC_IN_MITM = 0x1000,
   /* outbound Do man in the middle protection */
diff --git a/system/stack/include/btm_ble_api.h b/system/stack/include/btm_ble_api.h
index b991a0f2a85193da6bbd3f123bba2b257b76249d..1a9bea21fe50486f12c6b52c51af98c37940eb2a 100644
--- a/system/stack/include/btm_ble_api.h
+++ b/system/stack/include/btm_ble_api.h
@@ -336,7 +336,7 @@ extern void BTM_BleLoadLocalKeys(uint8_t key_type, tBTM_BLE_LOCAL_KEYS* p_key);
  * Parameters:      bd_addr          - BD address of the peripheral
  *                  min_conn_int     - minimum preferred connection interval
  *                  max_conn_int     - maximum preferred connection interval
- *                  slave_latency    - preferred slave latency
+ *                  peripheral_latency    - preferred peripheral latency
  *                  supervision_tout - preferred supervision timeout
  *
  * Returns          void
@@ -345,7 +345,7 @@ extern void BTM_BleLoadLocalKeys(uint8_t key_type, tBTM_BLE_LOCAL_KEYS* p_key);
 extern void BTM_BleSetPrefConnParams(const RawAddress& bd_addr,
                                      uint16_t min_conn_int,
                                      uint16_t max_conn_int,
-                                     uint16_t slave_latency,
+                                     uint16_t peripheral_latency,
                                      uint16_t supervision_tout);
 
 /******************************************************************************
diff --git a/system/stack/include/btm_ble_api_types.h b/system/stack/include/btm_ble_api_types.h
index e45ede844008f3780ddd96099aa48338379bb75a..08f0580b65f2bc36bc4029981176839bfa92e616 100644
--- a/system/stack/include/btm_ble_api_types.h
+++ b/system/stack/include/btm_ble_api_types.h
@@ -168,9 +168,9 @@ typedef uint8_t tBTM_BLE_SFP;
 #endif
 #endif
 
-/* default slave latency */
-#ifndef BTM_BLE_CONN_SLAVE_LATENCY_DEF
-#define BTM_BLE_CONN_SLAVE_LATENCY_DEF 0 /* 0 */
+/* default peripheral latency */
+#ifndef BTM_BLE_CONN_PERIPHERAL_LATENCY_DEF
+#define BTM_BLE_CONN_PERIPHERAL_LATENCY_DEF 0 /* 0 */
 #endif
 
 /* default supervision timeout */
diff --git a/system/stack/include/hci_evt_length.h b/system/stack/include/hci_evt_length.h
index be93f8e9ff1438bbc3947df2c07e7b77d9e2c61b..046816b014ef1126a3592cc94bd5183316d4d94d 100644
--- a/system/stack/include/hci_evt_length.h
+++ b/system/stack/include/hci_evt_length.h
@@ -99,12 +99,13 @@ static const uint8_t hci_event_parameters_minimum_length[] = {
     9,    //  0x4E - HCI_Triggered_Clock_Capture Event
     1,    //  0x4F - HCI_Synchronization_Train_Complete Event
     29,   //  0x50 - HCI_Synchronization_Train_Received Event
-    18,   //  0x51 - HCI_Connectionless_Slave_Broadcast_Receive Event
+    18,   //  0x51 - HCI_Connectionless_Peripheral_Broadcast_Receive Event
           //  (Data_Length = 0)
-    7,    //  0x52 - HCI_Connectionless_Slave_Broadcast_Timeout Event
+    7,    //  0x52 - HCI_Connectionless_Peripheral_Broadcast_Timeout Event
     7,    //  0x53 - HCI_Truncated_Page_Complete Event
-    0,    //  0x54 - HCI_Slave_Page_Response_Timeout Event
-    10,   //  0x55 - HCI_Connectionless_Slave_Broadcast_Channel_Map_Change Event
+    0,    //  0x54 - HCI_Peripheral_Page_Response_Timeout Event
+    10,   //  0x55 - HCI_Connectionless_Peripheral_Broadcast_Channel_Map_Change
+          //  Event
     4,    //  0x56 - HCI_Inquiry_Response_Notification Event
     2,    //  0x57 - HCI_Authenticated_Payload_Timeout_Expired Event
     8,    //  0x58 - HCI_SAM_Status_Change Event
diff --git a/system/stack/include/hcidefs.h b/system/stack/include/hcidefs.h
index d9ce273493ff3d03dd12c3f6d11cae8a2bf3e4b7..3f93c8aaa213da247be034bf11fa51312500f12e 100644
--- a/system/stack/include/hcidefs.h
+++ b/system/stack/include/hcidefs.h
@@ -489,7 +489,7 @@ constexpr uint8_t HCI_LE_STATES_HI_DUTY_DIR_ADV_BIT = 3;
 constexpr uint8_t HCI_LE_STATES_PASS_SCAN_BIT = 4;
 constexpr uint8_t HCI_LE_STATES_ACTIVE_SCAN_BIT = 5;
 constexpr uint8_t HCI_LE_STATES_INIT_BIT = 6;
-constexpr uint8_t HCI_LE_STATES_SLAVE_BIT = 7;
+constexpr uint8_t HCI_LE_STATES_PERIPHERAL_BIT = 7;
 constexpr uint8_t HCI_LE_STATES_NON_CONN_ADV_PASS_SCAN_BIT = 8;
 constexpr uint8_t HCI_LE_STATES_SCAN_ADV_PASS_SCAN_BIT = 9;
 constexpr uint8_t HCI_LE_STATES_CONN_ADV_PASS_SCAN_BIT = 10;
@@ -502,14 +502,14 @@ constexpr uint8_t HCI_LE_STATES_NON_CONN_INIT_BIT = 16;
 constexpr uint8_t HCI_LE_STATES_SCAN_ADV_INIT_BIT = 17;
 constexpr uint8_t HCI_LE_STATES_NON_CONN_ADV_CENTRAL_BIT = 18;
 constexpr uint8_t HCI_LE_STATES_SCAN_ADV_CENTRAL_BIT = 19;
-constexpr uint8_t HCI_LE_STATES_NON_CONN_ADV_SLAVE_BIT = 20;
-constexpr uint8_t HCI_LE_STATES_SCAN_ADV_SLAVE_BIT = 21;
+constexpr uint8_t HCI_LE_STATES_NON_CONN_ADV_PERIPHERAL_BIT = 20;
+constexpr uint8_t HCI_LE_STATES_SCAN_ADV_PERIPHERAL_BIT = 21;
 constexpr uint8_t HCI_LE_STATES_PASS_SCAN_INIT_BIT = 22;
 constexpr uint8_t HCI_LE_STATES_ACTIVE_SCAN_INIT_BIT = 23;
 constexpr uint8_t HCI_LE_STATES_PASS_SCAN_CENTRAL_BIT = 24;
 constexpr uint8_t HCI_LE_STATES_ACTIVE_SCAN_CENTRAL_BIT = 25;
-constexpr uint8_t HCI_LE_STATES_PASS_SCAN_SLAVE_BIT = 26;
-constexpr uint8_t HCI_LE_STATES_ACTIVE_SCAN_SLAVE_BIT = 27;
+constexpr uint8_t HCI_LE_STATES_PASS_SCAN_PERIPHERAL_BIT = 26;
+constexpr uint8_t HCI_LE_STATES_ACTIVE_SCAN_PERIPHERAL_BIT = 27;
 constexpr uint8_t HCI_LE_STATES_INIT_CENTRAL_BIT = 28;
 constexpr uint8_t HCI_LE_STATES_LOW_DUTY_DIR_ADV_BIT = 29;
 constexpr uint8_t HCI_LE_STATES_LO_DUTY_DIR_ADV_PASS_SCAN_BIT = 30;
@@ -520,10 +520,10 @@ constexpr uint8_t HCI_LE_STATES_LO_DUTY_DIR_ADV_INIT_BIT = 34;
 constexpr uint8_t HCI_LE_STATES_CONN_ADV_CENTRAL_BIT = 35;
 constexpr uint8_t HCI_LE_STATES_HI_DUTY_DIR_ADV_CENTRAL_BIT = 36;
 constexpr uint8_t HCI_LE_STATES_LO_DUTY_DIR_ADV_CENTRAL_BIT = 37;
-constexpr uint8_t HCI_LE_STATES_CONN_ADV_SLAVE_BIT = 38;
-constexpr uint8_t HCI_LE_STATES_HI_DUTY_DIR_ADV_SLAVE_BIT = 39;
-constexpr uint8_t HCI_LE_STATES_LO_DUTY_DIR_ADV_SLAVE_BIT = 40;
-constexpr uint8_t HCI_LE_STATES_INIT_CENTRAL_SLAVE_BIT = 41;
+constexpr uint8_t HCI_LE_STATES_CONN_ADV_PERIPHERAL_BIT = 38;
+constexpr uint8_t HCI_LE_STATES_HI_DUTY_DIR_ADV_PERIPHERAL_BIT = 39;
+constexpr uint8_t HCI_LE_STATES_LO_DUTY_DIR_ADV_PERIPHERAL_BIT = 40;
+constexpr uint8_t HCI_LE_STATES_INIT_CENTRAL_PERIPHERAL_BIT = 41;
 
 /*
  *  Definitions for HCI Events
@@ -697,7 +697,7 @@ constexpr uint8_t HCI_LE_STATES_INIT_CENTRAL_SLAVE_BIT = 41;
 /* HCI role defenitions */
 enum : uint8_t {
   HCI_ROLE_CENTRAL = 0x00,
-  HCI_ROLE_SLAVE = 0x01,
+  HCI_ROLE_PERIPHERAL = 0x01,
   HCI_ROLE_UNKNOWN = 0xff,
 };
 typedef uint8_t hci_role_t;
@@ -705,8 +705,8 @@ inline std::string RoleText(hci_role_t role) {
   switch (role) {
     case HCI_ROLE_CENTRAL:
       return std::string("central");
-    case HCI_ROLE_SLAVE:
-      return std::string("slave");
+    case HCI_ROLE_PERIPHERAL:
+      return std::string("peripheral");
     default:
       return std::string("unknown");
   }
@@ -761,7 +761,7 @@ inline std::string RoleText(hci_role_t role) {
 
 /* Policy settings status */
 #define HCI_DISABLE_ALL_LM_MODES 0x0000
-#define HCI_ENABLE_CENTRAL_SLAVE_SWITCH 0x0001
+#define HCI_ENABLE_CENTRAL_PERIPHERAL_SWITCH 0x0001
 #define HCI_ENABLE_HOLD_MODE 0x0002
 #define HCI_ENABLE_SNIFF_MODE 0x0004
 #define HCI_ENABLE_PARK_MODE 0x0008
@@ -952,8 +952,8 @@ typedef struct {
 #define HCI_ESCO_EV4_SUPPORTED(x) ((x)[4] & 0x01)
 #define HCI_ESCO_EV5_SUPPORTED(x) ((x)[4] & 0x02)
 #define HCI_LMP_ABSENCE_MASKS_SUPPORTED(x) ((x)[4] & 0x04)
-#define HCI_LMP_AFH_CAP_SLAVE_SUPPORTED(x) ((x)[4] & 0x08)
-#define HCI_LMP_AFH_CLASS_SLAVE_SUPPORTED(x) ((x)[4] & 0x10)
+#define HCI_LMP_AFH_CAP_PERIPHERAL_SUPPORTED(x) ((x)[4] & 0x08)
+#define HCI_LMP_AFH_CLASS_PERIPHERAL_SUPPORTED(x) ((x)[4] & 0x10)
 #define HCI_BREDR_NOT_SPT_SUPPORTED(x) ((x)[4] & 0x20)
 #define HCI_LE_SPT_SUPPORTED(x) ((x)[4] & 0x40)
 #define HCI_3_SLOT_EDR_ACL_SUPPORTED(x) ((x)[4] & 0x80)
@@ -989,9 +989,9 @@ typedef struct {
 
 /* LMP features encoding - page 2 */
 #define HCI_CSB_CENTRAL_SUPPORTED(x) ((x)[0] & 0x01)
-#define HCI_CSB_SLAVE_SUPPORTED(x) ((x)[0] & 0x02)
+#define HCI_CSB_PERIPHERAL_SUPPORTED(x) ((x)[0] & 0x02)
 #define HCI_SYNC_TRAIN_CENTRAL_SUPPORTED(x) ((x)[0] & 0x04)
-#define HCI_SYNC_SCAN_SLAVE_SUPPORTED(x) ((x)[0] & 0x08)
+#define HCI_SYNC_SCAN_PERIPHERAL_SUPPORTED(x) ((x)[0] & 0x08)
 #define HCI_INQ_RESP_NOTIF_SUPPORTED(x) ((x)[0] & 0x10)
 
 #define HCI_SC_CTRLR_SUPPORTED(x) ((x)[1] & 0x01)
@@ -1001,7 +1001,7 @@ typedef struct {
 #define HCI_LE_ENCRYPTION_SUPPORTED(x) ((x)[0] & 0x01)
 #define HCI_LE_CONN_PARAM_REQ_SUPPORTED(x) ((x)[0] & 0x02)
 #define HCI_LE_EXT_REJ_IND_SUPPORTED(x) ((x)[0] & 0x04)
-#define HCI_LE_SLAVE_INIT_FEAT_EXC_SUPPORTED(x) ((x)[0] & 0x08)
+#define HCI_LE_PERIPHERAL_INIT_FEAT_EXC_SUPPORTED(x) ((x)[0] & 0x08)
 #define HCI_LE_DATA_LEN_EXT_SUPPORTED(x) ((x)[0] & 0x20)
 #define HCI_LE_ENHANCED_PRIVACY_SUPPORTED(x) ((x)[0] & 0x40)
 #define HCI_LE_EXT_SCAN_FILTER_POLICY_SUPPORTED(x) ((x)[0] & 0x80)
@@ -1013,7 +1013,7 @@ typedef struct {
 #define HCI_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_SENDER(x) ((x)[3] & 0x01)
 #define HCI_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECIPIENT(x) ((x)[3] & 0x02)
 #define HCI_LE_CIS_CENTRAL(x) ((x)[3] & 0x10)
-#define HCI_LE_CIS_SLAVE(x) ((x)[3] & 0x20)
+#define HCI_LE_CIS_PERIPHERAL(x) ((x)[3] & 0x20)
 #define HCI_LE_ISO_BROADCASTER(x) ((x)[3] & 0x40)
 #define HCI_LE_SYNCHRONIZED_RECEIVER(x) ((x)[3] & 0x80)
 
@@ -1228,13 +1228,13 @@ typedef struct {
 #define HCI_TRUNCATED_PAGE_SUPPORTED(x) ((x)[30] & 0x40)
 #define HCI_TRUNCATED_PAGE_CANCEL_SUPPORTED(x) ((x)[30] & 0x80)
 
-#define HCI_SET_CONLESS_SLAVE_BRCST_SUPPORTED(x) ((x)[31] & 0x01)
-#define HCI_SET_CONLESS_SLAVE_BRCST_RECEIVE_SUPPORTED(x) ((x)[31] & 0x02)
+#define HCI_SET_CONLESS_PERIPHERAL_BRCST_SUPPORTED(x) ((x)[31] & 0x01)
+#define HCI_SET_CONLESS_PERIPHERAL_BRCST_RECEIVE_SUPPORTED(x) ((x)[31] & 0x02)
 #define HCI_START_SYNC_TRAIN_SUPPORTED(x) ((x)[31] & 0x04)
 #define HCI_RECEIVE_SYNC_TRAIN_SUPPORTED(x) ((x)[31] & 0x08)
 #define HCI_SET_RESERVED_LT_ADDR_SUPPORTED(x) ((x)[31] & 0x10)
 #define HCI_DELETE_RESERVED_LT_ADDR_SUPPORTED(x) ((x)[31] & 0x20)
-#define HCI_SET_CONLESS_SLAVE_BRCST_DATA_SUPPORTED(x) ((x)[31] & 0x40)
+#define HCI_SET_CONLESS_PERIPHERAL_BRCST_DATA_SUPPORTED(x) ((x)[31] & 0x40)
 #define HCI_READ_SYNC_TRAIN_PARAM_SUPPORTED(x) ((x)[31] & 0x80)
 
 #define HCI_WRITE_SYNC_TRAIN_PARAM_SUPPORTED(x) ((x)[32] & 0x01)
diff --git a/system/stack/include/smp_api.h b/system/stack/include/smp_api.h
index efd47832c006703e23c7ca0a1a2b2428d4460986..9f4e2f5eacf072b1e4994389a754bcfb651b3996 100644
--- a/system/stack/include/smp_api.h
+++ b/system/stack/include/smp_api.h
@@ -177,7 +177,7 @@ extern void SMP_SecureConnectionOobDataReply(uint8_t* p_data);
 // Called when LTK request is received from controller.
 extern bool smp_proc_ltk_request(const RawAddress& bda);
 
-// Called when link is encrypted and notified to slave device.
+// Called when link is encrypted and notified to peripheral device.
 // Proceed to send LTK, DIV and ER to central if bonding the devices.
 extern void smp_link_encrypted(const RawAddress& bda, uint8_t encr_enable);
 
diff --git a/system/stack/include/smp_api_types.h b/system/stack/include/smp_api_types.h
index f09e60192da689f1d6809ed6ca2f4b2c16bdaf13..335a6d8545afcd442583ee6af97db70f50ced190 100644
--- a/system/stack/include/smp_api_types.h
+++ b/system/stack/include/smp_api_types.h
@@ -146,7 +146,7 @@ typedef uint8_t tSMP_SEC_LEVEL;
 /* SMP key types */
 #define SMP_SEC_KEY_TYPE_ENC (1 << 0)  /* encryption key */
 #define SMP_SEC_KEY_TYPE_ID (1 << 1)   /* identity key */
-#define SMP_SEC_KEY_TYPE_CSRK (1 << 2) /* slave CSRK */
+#define SMP_SEC_KEY_TYPE_CSRK (1 << 2) /* peripheral CSRK */
 #define SMP_SEC_KEY_TYPE_LK (1 << 3)   /* BR/EDR link key */
 typedef uint8_t tSMP_KEYS;
 
diff --git a/system/stack/l2cap/l2c_ble.cc b/system/stack/l2cap/l2c_ble.cc
index 962e3df286ef5fa19e50e3599555c1a2cc872ff7..ceb0ddc2644ee455fab9296dcb4729df0b77f41d 100644
--- a/system/stack/l2cap/l2c_ble.cc
+++ b/system/stack/l2cap/l2c_ble.cc
@@ -76,7 +76,7 @@ bool L2CA_CancelBleConnectReq(const RawAddress& rem_bda) {
   acl_cancel_le_connection(rem_bda);
 
   /* Do not remove lcb if an LE link is already up as a peripheral */
-  if (p_lcb != NULL && !(p_lcb->IsLinkRoleSlave() &&
+  if (p_lcb != NULL && !(p_lcb->IsLinkRolePeripheral() &&
                          BTM_IsAclConnectionUp(rem_bda, BT_TRANSPORT_LE))) {
     p_lcb->SetDisconnectReason(L2CAP_CONN_CANCEL);
     l2cu_release_lcb(p_lcb);
@@ -259,7 +259,7 @@ bool l2cble_conn_comp(uint16_t handle, uint8_t role, const RawAddress& bda,
                       tBLE_ADDR_TYPE type, uint16_t conn_interval,
                       uint16_t conn_latency, uint16_t conn_timeout) {
   // role == HCI_ROLE_CENTRAL => scanner completed connection
-  // role == HCI_ROLE_SLAVE => advertiser completed connection
+  // role == HCI_ROLE_PERIPHERAL => advertiser completed connection
 
   /* See if we have a link control block for the remote device */
   tL2C_LCB* p_lcb = l2cu_find_lcb_by_bd_addr(bda, BT_TRANSPORT_LE);
@@ -293,12 +293,13 @@ bool l2cble_conn_comp(uint16_t handle, uint8_t role, const RawAddress& bda,
   if (role == HCI_ROLE_CENTRAL) {
     p_lcb->SetLinkRoleAsCentral();
   } else {
-    p_lcb->SetLinkRoleAsSlave();
+    p_lcb->SetLinkRoleAsPeripheral();
   }
 
   p_lcb->transport = BT_TRANSPORT_LE;
 
-  /* update link parameter, set slave link as non-spec default upon link up */
+  /* update link parameter, set peripheral link as non-spec default upon link up
+   */
   p_lcb->min_interval = p_lcb->max_interval = conn_interval;
   p_lcb->timeout = conn_timeout;
   p_lcb->latency = conn_latency;
@@ -308,7 +309,7 @@ bool l2cble_conn_comp(uint16_t handle, uint8_t role, const RawAddress& bda,
                              L2CAP_FIXED_CHNL_BLE_SIG_BIT |
                              L2CAP_FIXED_CHNL_SMP_BIT;
 
-  if (role == HCI_ROLE_SLAVE) {
+  if (role == HCI_ROLE_PERIPHERAL) {
     if (!controller_get_interface()
              ->supports_ble_peripheral_initiated_feature_exchange()) {
       p_lcb->link_state = LST_CONNECTED;
@@ -339,7 +340,7 @@ bool l2cble_conn_comp_from_address_with_type(
  *
  ******************************************************************************/
 static void l2cble_start_conn_update(tL2C_LCB* p_lcb) {
-  uint16_t min_conn_int, max_conn_int, slave_latency, supervision_tout;
+  uint16_t min_conn_int, max_conn_int, peripheral_latency, supervision_tout;
   if (!BTM_IsAclConnectionUp(p_lcb->remote_bd_addr, BT_TRANSPORT_LE)) {
     LOG(ERROR) << "No known connection ACL for " << p_lcb->remote_bd_addr;
     return;
@@ -359,13 +360,13 @@ static void l2cble_start_conn_update(tL2C_LCB* p_lcb) {
     if (p_lcb->conn_update_mask & L2C_BLE_NOT_DEFAULT_PARAM &&
         /* current connection interval is greater than default min */
         p_lcb->min_interval > BTM_BLE_CONN_INT_MIN) {
-      /* use 7.5 ms as fast connection parameter, 0 slave latency */
+      /* use 7.5 ms as fast connection parameter, 0 peripheral latency */
       min_conn_int = max_conn_int = BTM_BLE_CONN_INT_MIN;
 
       L2CA_AdjustConnectionIntervals(&min_conn_int, &max_conn_int,
                                      BTM_BLE_CONN_INT_MIN);
 
-      slave_latency = BTM_BLE_CONN_SLAVE_LATENCY_DEF;
+      peripheral_latency = BTM_BLE_CONN_PERIPHERAL_LATENCY_DEF;
       supervision_tout = BTM_BLE_CONN_TIMEOUT_DEF;
 
       /* if both side 4.1, or we are central device, send HCI command */
@@ -378,12 +379,12 @@ static void l2cble_start_conn_update(tL2C_LCB* p_lcb) {
 #endif
       ) {
         btsnd_hcic_ble_upd_ll_conn_params(p_lcb->Handle(), min_conn_int,
-                                          max_conn_int, slave_latency,
+                                          max_conn_int, peripheral_latency,
                                           supervision_tout, 0, 0);
         p_lcb->conn_update_mask |= L2C_BLE_UPDATE_PENDING;
       } else {
         l2cu_send_peer_ble_par_req(p_lcb, min_conn_int, max_conn_int,
-                                   slave_latency, supervision_tout);
+                                   peripheral_latency, supervision_tout);
       }
       p_lcb->conn_update_mask &= ~L2C_BLE_NOT_DEFAULT_PARAM;
       p_lcb->conn_update_mask |= L2C_BLE_NEW_CONN_PARAM;
@@ -516,7 +517,7 @@ void l2cble_process_sig_cmd(tL2C_LCB* p_lcb, uint8_t* p, uint16_t pkt_len) {
       STREAM_TO_UINT16(max_interval, p); /* 0x0006 - 0x0C80 */
       STREAM_TO_UINT16(latency, p);      /* 0x0000 - 0x03E8 */
       STREAM_TO_UINT16(timeout, p);      /* 0x000A - 0x0C80 */
-      /* If we are a central, the slave wants to update the parameters */
+      /* If we are a central, the peripheral wants to update the parameters */
       if (p_lcb->IsLinkRoleCentral()) {
         L2CA_AdjustConnectionIntervals(&min_interval, &max_interval,
                                        BTM_BLE_CONN_INT_MIN_LIMIT);
@@ -1649,31 +1650,31 @@ void l2cble_use_preferred_conn_params(const RawAddress& bda) {
       (p_dev_rec->conn_params.min_conn_int <= BTM_BLE_CONN_INT_MAX) &&
       (p_dev_rec->conn_params.max_conn_int >= BTM_BLE_CONN_INT_MIN) &&
       (p_dev_rec->conn_params.max_conn_int <= BTM_BLE_CONN_INT_MAX) &&
-      (p_dev_rec->conn_params.slave_latency <= BTM_BLE_CONN_LATENCY_MAX) &&
+      (p_dev_rec->conn_params.peripheral_latency <= BTM_BLE_CONN_LATENCY_MAX) &&
       (p_dev_rec->conn_params.supervision_tout >= BTM_BLE_CONN_SUP_TOUT_MIN) &&
       (p_dev_rec->conn_params.supervision_tout <= BTM_BLE_CONN_SUP_TOUT_MAX) &&
       ((p_lcb->min_interval < p_dev_rec->conn_params.min_conn_int &&
         p_dev_rec->conn_params.min_conn_int != BTM_BLE_CONN_PARAM_UNDEF) ||
        (p_lcb->min_interval > p_dev_rec->conn_params.max_conn_int) ||
-       (p_lcb->latency > p_dev_rec->conn_params.slave_latency) ||
+       (p_lcb->latency > p_dev_rec->conn_params.peripheral_latency) ||
        (p_lcb->timeout > p_dev_rec->conn_params.supervision_tout))) {
     BTM_TRACE_DEBUG(
-        "%s: HANDLE=%d min_conn_int=%d max_conn_int=%d slave_latency=%d "
+        "%s: HANDLE=%d min_conn_int=%d max_conn_int=%d peripheral_latency=%d "
         "supervision_tout=%d",
         __func__, p_lcb->Handle(), p_dev_rec->conn_params.min_conn_int,
         p_dev_rec->conn_params.max_conn_int,
-        p_dev_rec->conn_params.slave_latency,
+        p_dev_rec->conn_params.peripheral_latency,
         p_dev_rec->conn_params.supervision_tout);
 
     p_lcb->min_interval = p_dev_rec->conn_params.min_conn_int;
     p_lcb->max_interval = p_dev_rec->conn_params.max_conn_int;
     p_lcb->timeout = p_dev_rec->conn_params.supervision_tout;
-    p_lcb->latency = p_dev_rec->conn_params.slave_latency;
+    p_lcb->latency = p_dev_rec->conn_params.peripheral_latency;
 
     btsnd_hcic_ble_upd_ll_conn_params(
         p_lcb->Handle(), p_dev_rec->conn_params.min_conn_int,
         p_dev_rec->conn_params.max_conn_int,
-        p_dev_rec->conn_params.slave_latency,
+        p_dev_rec->conn_params.peripheral_latency,
         p_dev_rec->conn_params.supervision_tout, 0, 0);
   }
 }
diff --git a/system/stack/l2cap/l2c_int.h b/system/stack/l2cap/l2c_int.h
index c5d76b68f05df71d8e5b870154d6361a3a186655..e1c06817fc782d64bd0e482ad0a3b101a2a43c38 100644
--- a/system/stack/l2cap/l2c_int.h
+++ b/system/stack/l2cap/l2c_int.h
@@ -376,13 +376,15 @@ typedef struct t_l2c_linkcb {
   RawAddress remote_bd_addr; /* The BD address of the remote */
 
  private:
-  uint8_t link_role_{HCI_ROLE_CENTRAL}; /* Central or slave */
+  uint8_t link_role_{HCI_ROLE_CENTRAL}; /* Central or peripheral */
  public:
   uint8_t LinkRole() const { return link_role_; }
   bool IsLinkRoleCentral() const { return link_role_ == HCI_ROLE_CENTRAL; }
-  bool IsLinkRoleSlave() const { return link_role_ == HCI_ROLE_SLAVE; }
+  bool IsLinkRolePeripheral() const {
+    return link_role_ == HCI_ROLE_PERIPHERAL;
+  }
   void SetLinkRoleAsCentral() { link_role_ = HCI_ROLE_CENTRAL; }
-  void SetLinkRoleAsSlave() { link_role_ = HCI_ROLE_SLAVE; }
+  void SetLinkRoleAsPeripheral() { link_role_ = HCI_ROLE_PERIPHERAL; }
 
   uint8_t signal_id;                /* Signalling channel id */
   uint8_t cur_echo_id;              /* Current id value for echo request */
diff --git a/system/stack/l2cap/l2c_link.cc b/system/stack/l2cap/l2c_link.cc
index 42b6301356a845a1d5f582678f389373b1ebe445..7a69c0a9c08e4c4b89bba86a6b46d8d57478dbc6 100644
--- a/system/stack/l2cap/l2c_link.cc
+++ b/system/stack/l2cap/l2c_link.cc
@@ -85,7 +85,7 @@ void l2c_link_hci_conn_req(const RawAddress& bd_addr) {
 
     if (no_links) {
       if (!btm_dev_support_role_switch(bd_addr))
-        p_lcb->SetLinkRoleAsSlave();
+        p_lcb->SetLinkRoleAsPeripheral();
       else
         p_lcb->SetLinkRoleAsCentral();
     }
@@ -106,7 +106,7 @@ void l2c_link_hci_conn_req(const RawAddress& bd_addr) {
   if ((p_lcb->link_state == LST_CONNECTING) ||
       (p_lcb->link_state == LST_CONNECT_HOLDING)) {
     if (!btm_dev_support_role_switch(bd_addr))
-      p_lcb->SetLinkRoleAsSlave();
+      p_lcb->SetLinkRoleAsPeripheral();
     else
       p_lcb->SetLinkRoleAsCentral();
 
@@ -740,9 +740,8 @@ void l2c_link_init() {
  *
  * Function         l2c_link_role_changed
  *
- * Description      This function is called whan a link's central/slave role
- *                  change event is received. It simply updates the link control
- *                  block.
+ * Description      This function is called whan a link's central/peripheral
+ *role change event is received. It simply updates the link control block.
  *
  * Returns          void
  *
@@ -758,7 +757,7 @@ void l2c_link_role_changed(const RawAddress* bd_addr, uint8_t new_role,
       if (new_role == HCI_ROLE_CENTRAL) {
         p_lcb->SetLinkRoleAsCentral();
       } else {
-        p_lcb->SetLinkRoleAsSlave();
+        p_lcb->SetLinkRoleAsPeripheral();
       }
 
       /* Reset high priority link if needed */
diff --git a/system/stack/l2cap/l2c_utils.cc b/system/stack/l2cap/l2c_utils.cc
index 26987c4cb0f5b803b150b4741393350b7eb21d34..34c7a59a91a0eadb02ff95ba6e35a1701aad88a2 100644
--- a/system/stack/l2cap/l2c_utils.cc
+++ b/system/stack/l2cap/l2c_utils.cc
@@ -2051,8 +2051,8 @@ void l2cu_create_conn_br_edr(tL2C_LCB* p_lcb) {
     if (p_lcb_cur == p_lcb) continue;
     if (!p_lcb_cur->in_use) continue;
     if (BTM_IsScoActiveByBdaddr(p_lcb_cur->remote_bd_addr)) {
-      L2CAP_TRACE_DEBUG("%s Central slave switch not allowed when SCO active",
-                        __func__);
+      L2CAP_TRACE_DEBUG(
+          "%s Central peripheral switch not allowed when SCO active", __func__);
       continue;
     }
     if (p_lcb->IsLinkRoleCentral()) continue;
@@ -2222,7 +2222,8 @@ bool l2cu_set_acl_priority(const RawAddress& bd_addr, tL2CAP_PRIORITY priority,
       LMP_COMPID_BROADCOM) {
     /* Called from above L2CAP through API; send VSC if changed */
     if ((!reset_after_rs && (priority != p_lcb->acl_priority)) ||
-        /* Called because of a central/slave role switch; if high resend VSC */
+        /* Called because of a central/peripheral role switch; if high resend
+           VSC */
         (reset_after_rs && p_lcb->acl_priority == L2CAP_PRIORITY_HIGH)) {
       pp = command;
 
diff --git a/system/stack/smp/smp_act.cc b/system/stack/smp/smp_act.cc
index 924502567e7cf009e9abcdf574edf601fd8e1718..5dd6aad0dc355c515286070cd34b530f714e6a1a 100644
--- a/system/stack/smp/smp_act.cc
+++ b/system/stack/smp/smp_act.cc
@@ -73,7 +73,7 @@ static void smp_update_key_mask(tSMP_CB* p_cb, uint8_t key_type, bool recv) {
     ** being exchanged with the peer */
     p_cb->local_i_key &= ~key_type;
     p_cb->local_r_key &= ~key_type;
-  } else if (p_cb->role == HCI_ROLE_SLAVE) {
+  } else if (p_cb->role == HCI_ROLE_PERIPHERAL) {
     if (recv)
       p_cb->local_i_key &= ~key_type;
     else
@@ -277,7 +277,7 @@ void smp_send_confirm(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
 
 /*******************************************************************************
  * Function     smp_send_init
- * Description  process pairing initializer to slave device
+ * Description  process pairing initializer to peripheral device
  ******************************************************************************/
 void smp_send_init(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
   SMP_TRACE_DEBUG("%s", __func__);
@@ -342,7 +342,7 @@ void smp_send_enc_info(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
   smp_send_cmd(SMP_OPCODE_ENCRYPT_INFO, p_cb);
   smp_send_cmd(SMP_OPCODE_CENTRAL_ID, p_cb);
 
-  /* save the DIV and key size information when acting as slave device */
+  /* save the DIV and key size information when acting as peripheral device */
   le_key.lenc_key.ltk = p_cb->ltk;
   le_key.lenc_key.div = p_cb->div;
   le_key.lenc_key.key_size = p_cb->loc_enc_size;
@@ -503,8 +503,8 @@ void smp_proc_pair_cmd(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
   SMP_TRACE_DEBUG("%s: pairing_bda=%s", __func__,
                   p_cb->pairing_bda.ToString().c_str());
 
-  /* erase all keys if it is slave proc pairing req */
-  if (p_dev_rec && (p_cb->role == HCI_ROLE_SLAVE))
+  /* erase all keys if it is peripheral proc pairing req */
+  if (p_dev_rec && (p_cb->role == HCI_ROLE_PERIPHERAL))
     btm_sec_clear_ble_keys(p_dev_rec);
 
   p_cb->flags |= SMP_PAIR_FLAG_ENC_AFTER_PAIR;
@@ -534,7 +534,7 @@ void smp_proc_pair_cmd(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
   // PTS Testing failure modes
   if (pts_test_send_authentication_complete_failure(p_cb)) return;
 
-  if (p_cb->role == HCI_ROLE_SLAVE) {
+  if (p_cb->role == HCI_ROLE_PERIPHERAL) {
     if (!(p_cb->flags & SMP_PAIR_FLAGS_WE_STARTED_DD)) {
       /* peer (central) started pairing sending Pairing Request */
       p_cb->local_i_key = p_cb->peer_i_key;
@@ -543,7 +543,7 @@ void smp_proc_pair_cmd(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
       p_cb->cb_evt = SMP_SEC_REQUEST_EVT;
     } else /* update local i/r key according to pairing request */
     {
-      /* pairing started with this side (slave) sending Security Request */
+      /* pairing started with this side (peripheral) sending Security Request */
       p_cb->local_i_key &= p_cb->peer_i_key;
       p_cb->local_r_key &= p_cb->peer_r_key;
       p_cb->selected_association_model = smp_select_association_model(p_cb);
@@ -553,7 +553,8 @@ void smp_proc_pair_cmd(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
            (p_cb->selected_association_model ==
             SMP_MODEL_SEC_CONN_JUSTWORKS))) {
         SMP_TRACE_ERROR(
-            "%s: pairing failed - slave requires secure connection only mode",
+            "%s: pairing failed - peripheral requires secure connection only "
+            "mode",
             __func__);
         tSMP_INT_DATA smp_int_data;
         smp_int_data.status = SMP_PAIR_AUTH_FAIL;
@@ -772,15 +773,16 @@ void smp_br_process_pairing_command(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
 
   SMP_TRACE_DEBUG("%s", __func__);
   /* rejecting BR pairing request over non-SC BR link */
-  if (!p_dev_rec->new_encryption_key_is_p256 && p_cb->role == HCI_ROLE_SLAVE) {
+  if (!p_dev_rec->new_encryption_key_is_p256 &&
+      p_cb->role == HCI_ROLE_PERIPHERAL) {
     tSMP_INT_DATA smp_int_data;
     smp_int_data.status = SMP_XTRANS_DERIVE_NOT_ALLOW;
     smp_br_state_machine_event(p_cb, SMP_BR_AUTH_CMPL_EVT, &smp_int_data);
     return;
   }
 
-  /* erase all keys if it is slave proc pairing req*/
-  if (p_dev_rec && (p_cb->role == HCI_ROLE_SLAVE))
+  /* erase all keys if it is peripheral proc pairing req*/
+  if (p_dev_rec && (p_cb->role == HCI_ROLE_PERIPHERAL))
     btm_sec_clear_ble_keys(p_dev_rec);
 
   p_cb->flags |= SMP_PAIR_FLAG_ENC_AFTER_PAIR;
@@ -813,7 +815,7 @@ void smp_br_process_pairing_command(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
   p_cb->local_i_key = p_cb->peer_i_key;
   p_cb->local_r_key = p_cb->peer_r_key;
 
-  if (p_cb->role == HCI_ROLE_SLAVE) {
+  if (p_cb->role == HCI_ROLE_PERIPHERAL) {
     p_dev_rec->new_encryption_key_is_p256 = false;
     /* shortcut to skip Security Grant step */
     p_cb->cb_evt = SMP_BR_KEYS_REQ_EVT;
@@ -899,7 +901,7 @@ void smp_br_select_next_key(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
   SMP_TRACE_DEBUG("%s role=%d (0-central) r_keys=0x%x i_keys=0x%x", __func__,
                   p_cb->role, p_cb->local_r_key, p_cb->local_i_key);
 
-  if (p_cb->role == HCI_ROLE_SLAVE ||
+  if (p_cb->role == HCI_ROLE_PERIPHERAL ||
       (!p_cb->local_r_key && p_cb->role == HCI_ROLE_CENTRAL)) {
     smp_key_pick_key(p_cb, p_data);
   }
@@ -937,7 +939,7 @@ void smp_proc_enc_info(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
   smp_key_distribution(p_cb, NULL);
 }
 
-/** process central ID from slave device */
+/** process central ID from peripheral device */
 void smp_proc_central_id(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
   uint8_t* p = p_data->p_data;
   tBTM_LE_KEY_VALUE le_key;
@@ -1063,7 +1065,7 @@ void smp_proc_compare(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
     if (p_cb->peer_enc_size < p_cb->loc_enc_size)
       p_cb->loc_enc_size = p_cb->peer_enc_size;
 
-    if (p_cb->role == HCI_ROLE_SLAVE)
+    if (p_cb->role == HCI_ROLE_PERIPHERAL)
       smp_sm_event(p_cb, SMP_RAND_EVT, NULL);
     else {
       /* central device always use received i/r key as keys to distribute */
@@ -1198,7 +1200,8 @@ void smp_check_auth_req(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
     if (p_cb->flags & SMP_PAIR_FLAG_ENC_AFTER_PAIR)
       smp_sm_event(p_cb, SMP_AUTH_CMPL_EVT, &smp_int_data);
     /* if enc failed for old security information */
-    /* if central device, clean up and abck to idle; slave device do nothing */
+    /* if central device, clean up and abck to idle; peripheral device do
+     * nothing */
     else if (p_cb->role == HCI_ROLE_CENTRAL) {
       smp_sm_event(p_cb, SMP_AUTH_CMPL_EVT, &smp_int_data);
     }
@@ -1210,8 +1213,8 @@ void smp_check_auth_req(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
  * Description  Pick a key distribution function based on the key mask.
  ******************************************************************************/
 void smp_key_pick_key(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
-  uint8_t key_to_dist =
-      (p_cb->role == HCI_ROLE_SLAVE) ? p_cb->local_r_key : p_cb->local_i_key;
+  uint8_t key_to_dist = (p_cb->role == HCI_ROLE_PERIPHERAL) ? p_cb->local_r_key
+                                                            : p_cb->local_i_key;
   uint8_t i = 0;
 
   SMP_TRACE_DEBUG("%s key_to_dist=0x%x", __func__, key_to_dist);
@@ -1234,7 +1237,7 @@ void smp_key_distribution(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
   SMP_TRACE_DEBUG("%s role=%d (0-central) r_keys=0x%x i_keys=0x%x", __func__,
                   p_cb->role, p_cb->local_r_key, p_cb->local_i_key);
 
-  if (p_cb->role == HCI_ROLE_SLAVE ||
+  if (p_cb->role == HCI_ROLE_PERIPHERAL ||
       (!p_cb->local_r_key && p_cb->role == HCI_ROLE_CENTRAL)) {
     smp_key_pick_key(p_cb, p_data);
   }
@@ -1251,7 +1254,7 @@ void smp_key_distribution(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
         /*
          * Instead of declaring authorization complete immediately,
          * delay the event from being sent by SMP_DELAYED_AUTH_TIMEOUT_MS.
-         * This allows the slave to send over Pairing Failed if the
+         * This allows the peripheral to send over Pairing Failed if the
          * last key is rejected.  During this waiting window, the
          * state should remain in SMP_STATE_BOND_PENDING.
          */
@@ -1371,13 +1374,13 @@ void smp_decide_association_model(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
 
 /*******************************************************************************
  * Function     smp_process_io_response
- * Description  process IO response for a slave device.
+ * Description  process IO response for a peripheral device.
  ******************************************************************************/
 void smp_process_io_response(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
 
   SMP_TRACE_DEBUG("%s", __func__);
   if (p_cb->flags & SMP_PAIR_FLAGS_WE_STARTED_DD) {
-    /* pairing started by local (slave) Security Request */
+    /* pairing started by local (peripheral) Security Request */
     smp_set_state(SMP_STATE_SEC_REQ_PENDING);
     smp_send_cmd(SMP_OPCODE_SEC_REQ, p_cb);
   } else /* plan to send pairing respond */
@@ -1389,8 +1392,8 @@ void smp_process_io_response(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
         (!(p_cb->le_secure_connections_mode_is_used) ||
          (p_cb->selected_association_model == SMP_MODEL_SEC_CONN_JUSTWORKS))) {
       SMP_TRACE_ERROR(
-          "Slave requires secure connection only mode "
-          "but it can't be provided -> Slave fails pairing");
+          "Peripheral requires secure connection only mode "
+          "but it can't be provided -> Peripheral fails pairing");
       tSMP_INT_DATA smp_int_data;
       smp_int_data.status = SMP_PAIR_AUTH_FAIL;
       smp_sm_event(p_cb, SMP_AUTH_CMPL_EVT, &smp_int_data);
@@ -1409,11 +1412,12 @@ void smp_process_io_response(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
 }
 
 /*******************************************************************************
- * Function     smp_br_process_slave_keys_response
- * Description  process application keys response for a slave device
+ * Function     smp_br_process_peripheral_keys_response
+ * Description  process application keys response for a peripheral device
  *              (BR/EDR transport).
  ******************************************************************************/
-void smp_br_process_slave_keys_response(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
+void smp_br_process_peripheral_keys_response(tSMP_CB* p_cb,
+                                             tSMP_INT_DATA* p_data) {
   smp_br_send_pair_response(p_cb, NULL);
 }
 
@@ -1473,7 +1477,8 @@ void smp_idle_terminate(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
  *              saved.
  *              Actions:
  *              - invokes DHKey computation;
- *              - on slave side invokes sending local public key to the peer.
+ *              - on peripheral side invokes sending local public key to the
+ *peer.
  *              - invokes SC phase 1 process.
  ******************************************************************************/
 void smp_both_have_public_keys(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
@@ -1482,8 +1487,8 @@ void smp_both_have_public_keys(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
   /* invokes DHKey computation */
   smp_compute_dhkey(p_cb);
 
-  /* on slave side invokes sending local public key to the peer */
-  if (p_cb->role == HCI_ROLE_SLAVE) smp_send_pair_public_key(p_cb, NULL);
+  /* on peripheral side invokes sending local public key to the peer */
+  if (p_cb->role == HCI_ROLE_PERIPHERAL) smp_send_pair_public_key(p_cb, NULL);
 
   smp_sm_event(p_cb, SMP_SC_DHKEY_CMPLT_EVT, NULL);
 }
@@ -1547,20 +1552,20 @@ void smp_process_local_nonce(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
   switch (p_cb->selected_association_model) {
     case SMP_MODEL_SEC_CONN_JUSTWORKS:
     case SMP_MODEL_SEC_CONN_NUM_COMP:
-      if (p_cb->role == HCI_ROLE_SLAVE) {
-        /* slave calculates and sends local commitment */
+      if (p_cb->role == HCI_ROLE_PERIPHERAL) {
+        /* peripheral calculates and sends local commitment */
         smp_calculate_local_commitment(p_cb);
         smp_send_commitment(p_cb, NULL);
-        /* slave has to wait for peer nonce */
+        /* peripheral has to wait for peer nonce */
         smp_set_state(SMP_STATE_WAIT_NONCE);
       } else /* i.e. central */
       {
         if (p_cb->flags & SMP_PAIR_FLAG_HAVE_PEER_COMM) {
-          /* slave commitment is already received, send local nonce, wait for
-           * remote nonce*/
+          /* peripheral commitment is already received, send local nonce, wait
+           * for remote nonce*/
           SMP_TRACE_DEBUG(
               "central in assoc mode = %d "
-              "already rcvd slave commitment - race condition",
+              "already rcvd peripheral commitment - race condition",
               p_cb->selected_association_model);
           p_cb->flags &= ~SMP_PAIR_FLAG_HAVE_PEER_COMM;
           smp_send_rand(p_cb, NULL);
@@ -1574,7 +1579,7 @@ void smp_process_local_nonce(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
 
       if (p_cb->role == HCI_ROLE_CENTRAL) {
         smp_send_commitment(p_cb, NULL);
-      } else /* slave */
+      } else /* peripheral */
       {
         if (p_cb->flags & SMP_PAIR_FLAG_HAVE_PEER_COMM) {
           /* central commitment is already received */
@@ -1620,7 +1625,7 @@ void smp_process_peer_nonce(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
   // PTS Testing failure modes (for LT)
   if ((p_cb->cert_failure == SMP_NUMERIC_COMPAR_FAIL) &&
       (p_cb->selected_association_model == SMP_MODEL_SEC_CONN_JUSTWORKS) &&
-      (p_cb->role == HCI_ROLE_SLAVE)) {
+      (p_cb->role == HCI_ROLE_PERIPHERAL)) {
     SMP_TRACE_ERROR("%s failure case = %d", __func__, p_cb->cert_failure);
     tSMP_INT_DATA smp_int_data;
     smp_int_data.status = SMP_NUMERIC_COMPAR_FAIL;
@@ -1642,7 +1647,7 @@ void smp_process_peer_nonce(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
           break;
         }
       } else {
-        /* slave sends local nonce */
+        /* peripheral sends local nonce */
         smp_send_rand(p_cb, NULL);
       }
 
@@ -1676,7 +1681,7 @@ void smp_process_peer_nonce(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
         break;
       }
 
-      if (p_cb->role == HCI_ROLE_SLAVE) {
+      if (p_cb->role == HCI_ROLE_PERIPHERAL) {
         smp_send_rand(p_cb, NULL);
       }
 
@@ -1690,7 +1695,7 @@ void smp_process_peer_nonce(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
       smp_sm_event(p_cb, SMP_SC_PHASE1_CMPLT_EVT, NULL);
       break;
     case SMP_MODEL_SEC_CONN_OOB:
-      if (p_cb->role == HCI_ROLE_SLAVE) {
+      if (p_cb->role == HCI_ROLE_PERIPHERAL) {
         smp_send_rand(p_cb, NULL);
       }
 
@@ -1730,7 +1735,7 @@ void smp_match_dhkey_checks(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
   if (p_cb->peer_enc_size < p_cb->loc_enc_size)
     p_cb->loc_enc_size = p_cb->peer_enc_size;
 
-  if (p_cb->role == HCI_ROLE_SLAVE) {
+  if (p_cb->role == HCI_ROLE_PERIPHERAL) {
     smp_sm_event(p_cb, SMP_PAIR_DHKEY_CHCK_EVT, NULL);
   } else {
     /* central device always use received i/r key as keys to distribute */
@@ -1758,8 +1763,8 @@ void smp_move_to_secure_connections_phase2(tSMP_CB* p_cb,
  * Description  generates event if dhkey check from the peer is already
  *              received.
  *
- * Note         It is supposed to be used on slave to prevent race condition.
- *              It is supposed to be called after slave dhkey check is
+ * Note         It is supposed to be used on peripheral to prevent race
+ *condition. It is supposed to be called after peripheral dhkey check is
  *              calculated.
  ******************************************************************************/
 void smp_phase_2_dhkey_checks_are_present(tSMP_CB* p_cb,
@@ -1775,7 +1780,7 @@ void smp_phase_2_dhkey_checks_are_present(tSMP_CB* p_cb,
  * Description  generates SMP_BOTH_PUBL_KEYS_RCVD_EVT event when both local and
  *              central public keys are available.
  *
- * Note         on the slave it is used to prevent race condition.
+ * Note         on the peripheral it is used to prevent race condition.
  *
  ******************************************************************************/
 void smp_wait_for_both_public_keys(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
@@ -1783,7 +1788,7 @@ void smp_wait_for_both_public_keys(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
 
   if ((p_cb->flags & SMP_PAIR_FLAG_HAVE_PEER_PUBL_KEY) &&
       (p_cb->flags & SMP_PAIR_FLAG_HAVE_LOCAL_PUBL_KEY)) {
-    if ((p_cb->role == HCI_ROLE_SLAVE) &&
+    if ((p_cb->role == HCI_ROLE_PERIPHERAL) &&
         ((p_cb->req_oob_type == SMP_OOB_LOCAL) ||
          (p_cb->req_oob_type == SMP_OOB_BOTH))) {
       smp_set_state(SMP_STATE_PUBLIC_KEY_EXCH);
@@ -1920,8 +1925,8 @@ void smp_set_local_oob_random_commitment(tSMP_CB* p_cb, tSMP_INT_DATA* p_data) {
  * Function         smp_link_encrypted
  *
  * Description      This function is called when link is encrypted and notified
- *                  to the slave device. Proceed to to send LTK, DIV and ER to
- *                  central if bonding the devices.
+ *                  to the peripheral device. Proceed to to send LTK, DIV and ER
+ *to central if bonding the devices.
  *
  *
  * Returns          void
diff --git a/system/stack/smp/smp_br_main.cc b/system/stack/smp/smp_br_main.cc
index 9adc3cc12128d2ca3842e5ee6ff41e113a1960d9..faa6ae4cbaed0932e1ffddb68274b42c88d7ca2b 100644
--- a/system/stack/smp/smp_br_main.cc
+++ b/system/stack/smp/smp_br_main.cc
@@ -73,23 +73,23 @@ enum {
 };
 
 static const tSMP_ACT smp_br_sm_action[] = {
-    smp_send_pair_req,                  /* SMP_SEND_PAIR_REQ */
-    smp_br_send_pair_response,          /* SMP_BR_SEND_PAIR_RSP */
-    smp_send_pair_fail,                 /* SMP_SEND_PAIR_FAIL */
-    smp_send_id_info,                   /* SMP_SEND_ID_INFO */
-    smp_br_process_pairing_command,     /* SMP_BR_PROC_PAIR_CMD */
-    smp_proc_pair_fail,                 /* SMP_PROC_PAIR_FAIL */
-    smp_proc_id_info,                   /* SMP_PROC_ID_INFO */
-    smp_proc_id_addr,                   /* SMP_PROC_ID_ADDR */
-    smp_proc_srk_info,                  /* SMP_PROC_SRK_INFO */
-    smp_br_process_security_grant,      /* SMP_BR_PROC_SEC_GRANT */
-    smp_br_process_slave_keys_response, /* SMP_BR_PROC_SL_KEYS_RSP */
-    smp_br_select_next_key,             /* SMP_BR_KEY_DISTRIBUTION */
-    smp_br_pairing_complete,            /* SMP_BR_PAIRING_COMPLETE */
-    smp_send_app_cback,                 /* SMP_SEND_APP_CBACK */
-    smp_br_check_authorization_request, /* SMP_BR_CHECK_AUTH_REQ */
-    smp_pair_terminate,                 /* SMP_PAIR_TERMINATE */
-    smp_idle_terminate                  /* SMP_IDLE_TERMINATE */
+    smp_send_pair_req,                       /* SMP_SEND_PAIR_REQ */
+    smp_br_send_pair_response,               /* SMP_BR_SEND_PAIR_RSP */
+    smp_send_pair_fail,                      /* SMP_SEND_PAIR_FAIL */
+    smp_send_id_info,                        /* SMP_SEND_ID_INFO */
+    smp_br_process_pairing_command,          /* SMP_BR_PROC_PAIR_CMD */
+    smp_proc_pair_fail,                      /* SMP_PROC_PAIR_FAIL */
+    smp_proc_id_info,                        /* SMP_PROC_ID_INFO */
+    smp_proc_id_addr,                        /* SMP_PROC_ID_ADDR */
+    smp_proc_srk_info,                       /* SMP_PROC_SRK_INFO */
+    smp_br_process_security_grant,           /* SMP_BR_PROC_SEC_GRANT */
+    smp_br_process_peripheral_keys_response, /* SMP_BR_PROC_SL_KEYS_RSP */
+    smp_br_select_next_key,                  /* SMP_BR_KEY_DISTRIBUTION */
+    smp_br_pairing_complete,                 /* SMP_BR_PAIRING_COMPLETE */
+    smp_send_app_cback,                      /* SMP_SEND_APP_CBACK */
+    smp_br_check_authorization_request,      /* SMP_BR_CHECK_AUTH_REQ */
+    smp_pair_terminate,                      /* SMP_PAIR_TERMINATE */
+    smp_idle_terminate                       /* SMP_IDLE_TERMINATE */
 };
 
 static const uint8_t smp_br_all_table[][SMP_BR_SM_NUM_COLS] = {
@@ -162,7 +162,7 @@ static const uint8_t smp_br_central_bond_pending_table[][SMP_BR_SM_NUM_COLS] = {
     /* BR_SIGN_INFO */
     {SMP_PROC_SRK_INFO, SMP_BR_SM_NO_ACTION, SMP_BR_STATE_BOND_PENDING}};
 
-static const uint8_t smp_br_slave_entry_map[][SMP_BR_STATE_MAX] = {
+static const uint8_t smp_br_peripheral_entry_map[][SMP_BR_STATE_MAX] = {
     /* br_state name:               Idle      WaitApp  Pair    Bond
                                               Rsp      ReqRsp  Pend      */
     /* BR_PAIRING_REQ           */ {1, 0, 0, 0},
@@ -191,13 +191,13 @@ static const uint8_t smp_br_slave_entry_map[][SMP_BR_STATE_MAX] = {
     /* BR_BOND_REQ              */ {0, 3, 0, 0},
     /* BR_DISCARD_SEC_REQ       */ {0, 0, 0, 0}};
 
-static const uint8_t smp_br_slave_idle_table[][SMP_BR_SM_NUM_COLS] = {
+static const uint8_t smp_br_peripheral_idle_table[][SMP_BR_SM_NUM_COLS] = {
     /* Event                Action              Next State */
     /* BR_PAIRING_REQ */
     {SMP_BR_PROC_PAIR_CMD, SMP_SEND_APP_CBACK, SMP_BR_STATE_WAIT_APP_RSP}};
 
 static const uint8_t
-    smp_br_slave_wait_appln_response_table[][SMP_BR_SM_NUM_COLS] = {
+    smp_br_peripheral_wait_appln_response_table[][SMP_BR_SM_NUM_COLS] = {
         /* Event                 Action             Next State */
         /* BR_API_SEC_GRANT */
         {SMP_BR_PROC_SEC_GRANT, SMP_SEND_APP_CBACK, SMP_BR_STATE_WAIT_APP_RSP},
@@ -208,34 +208,35 @@ static const uint8_t
         {SMP_BR_KEY_DISTRIBUTION, SMP_BR_SM_NO_ACTION,
          SMP_BR_STATE_BOND_PENDING}};
 
-static const uint8_t smp_br_slave_bond_pending_table[][SMP_BR_SM_NUM_COLS] = {
-    /* Event               Action               Next State */
-    /* BR_ID_INFO */
-    {SMP_PROC_ID_INFO, SMP_BR_SM_NO_ACTION, SMP_BR_STATE_BOND_PENDING},
-    /* BR_ID_ADDR */
-    {SMP_PROC_ID_ADDR, SMP_BR_SM_NO_ACTION, SMP_BR_STATE_BOND_PENDING},
-    /* BR_SIGN_INFO */
-    {SMP_PROC_SRK_INFO, SMP_BR_SM_NO_ACTION, SMP_BR_STATE_BOND_PENDING}};
+static const uint8_t
+    smp_br_peripheral_bond_pending_table[][SMP_BR_SM_NUM_COLS] = {
+        /* Event               Action               Next State */
+        /* BR_ID_INFO */
+        {SMP_PROC_ID_INFO, SMP_BR_SM_NO_ACTION, SMP_BR_STATE_BOND_PENDING},
+        /* BR_ID_ADDR */
+        {SMP_PROC_ID_ADDR, SMP_BR_SM_NO_ACTION, SMP_BR_STATE_BOND_PENDING},
+        /* BR_SIGN_INFO */
+        {SMP_PROC_SRK_INFO, SMP_BR_SM_NO_ACTION, SMP_BR_STATE_BOND_PENDING}};
 
 static const tSMP_BR_SM_TBL smp_br_state_table[][2] = {
     /* SMP_BR_STATE_IDLE */
-    {smp_br_central_idle_table, smp_br_slave_idle_table},
+    {smp_br_central_idle_table, smp_br_peripheral_idle_table},
 
     /* SMP_BR_STATE_WAIT_APP_RSP */
     {smp_br_central_wait_appln_response_table,
-     smp_br_slave_wait_appln_response_table},
+     smp_br_peripheral_wait_appln_response_table},
 
     /* SMP_BR_STATE_PAIR_REQ_RSP */
     {smp_br_central_pair_request_response_table, NULL},
 
     /* SMP_BR_STATE_BOND_PENDING */
-    {smp_br_central_bond_pending_table, smp_br_slave_bond_pending_table},
+    {smp_br_central_bond_pending_table, smp_br_peripheral_bond_pending_table},
 };
 
 typedef const uint8_t (*tSMP_BR_ENTRY_TBL)[SMP_BR_STATE_MAX];
 
-static const tSMP_BR_ENTRY_TBL smp_br_entry_table[] = {smp_br_central_entry_map,
-                                                       smp_br_slave_entry_map};
+static const tSMP_BR_ENTRY_TBL smp_br_entry_table[] = {
+    smp_br_central_entry_map, smp_br_peripheral_entry_map};
 
 #define SMP_BR_ALL_TABLE_MASK 0x80
 
@@ -311,16 +312,17 @@ void smp_br_state_machine_event(tSMP_CB* p_cb, tSMP_BR_EVENT event,
     return;
   }
 
-  if (p_cb->role > HCI_ROLE_SLAVE) {
+  if (p_cb->role > HCI_ROLE_PERIPHERAL) {
     SMP_TRACE_ERROR("%s: invalid role %d", __func__, p_cb->role);
     android_errorWriteLog(0x534e4554, "80145946");
     return;
   }
 
-  SMP_TRACE_DEBUG("SMP Role: %s State: [%s (%d)], Event: [%s (%d)]",
-                  (p_cb->role == HCI_ROLE_SLAVE) ? "Slave" : "Central",
-                  smp_get_br_state_name(p_cb->br_state), p_cb->br_state,
-                  smp_get_br_event_name(event), event);
+  SMP_TRACE_DEBUG(
+      "SMP Role: %s State: [%s (%d)], Event: [%s (%d)]",
+      (p_cb->role == HCI_ROLE_PERIPHERAL) ? "Peripheral" : "Central",
+      smp_get_br_state_name(p_cb->br_state), p_cb->br_state,
+      smp_get_br_event_name(event), event);
 
   /* look up the state table for the current state */
   /* lookup entry / w event & curr_state */
diff --git a/system/stack/smp/smp_int.h b/system/stack/smp/smp_int.h
index b4397076599ff4fb8b3214140a5803a2020045e1..6a96fb51b430c92c9c8fef42b66a98dda8ebbf00 100644
--- a/system/stack/smp/smp_int.h
+++ b/system/stack/smp/smp_int.h
@@ -117,8 +117,8 @@ typedef uint8_t tSMP_ASSO_MODEL;
 /* user confirms 'OK' numeric comparison request */
 #define SMP_SC_NC_OK_EVT (SMP_SELF_DEF_EVT + 19)
 
-/* both local and peer DHKey Checks are already present - it is used on slave to
- * prevent a race condition */
+/* both local and peer DHKey Checks are already present - it is used on
+ * peripheral to prevent a race condition */
 #define SMP_SC_2_DHCK_CHKS_PRES_EVT (SMP_SELF_DEF_EVT + 20)
 
 /* same meaning as SMP_KEY_READY_EVT to separate between SC and legacy actions
@@ -234,13 +234,13 @@ typedef union {
 #define SMP_PAIR_FLAGS_CMD_CONFIRM (1 << SMP_OPCODE_CONFIRM) /* 1 << 3 */
 #define SMP_PAIR_FLAG_ENC_AFTER_PAIR (1 << 4)
 #define SMP_PAIR_FLAG_HAVE_PEER_DHK_CHK \
-  (1 << 5) /* used on slave to resolve race condition */
+  (1 << 5) /* used on peripheral to resolve race condition */
 #define SMP_PAIR_FLAG_HAVE_PEER_PUBL_KEY \
-  (1 << 6) /* used on slave to resolve race condition */
+  (1 << 6) /* used on peripheral to resolve race condition */
 #define SMP_PAIR_FLAG_HAVE_PEER_COMM \
   (1 << 7) /* used to resolve race condition */
 #define SMP_PAIR_FLAG_HAVE_LOCAL_PUBL_KEY \
-  (1 << 8) /* used on slave to resolve race condition */
+  (1 << 8) /* used on peripheral to resolve race condition */
 
 /* check if authentication requirement need MITM protection */
 #define SMP_NO_MITM_REQUIRED(x) (((x)&SMP_AUTH_YN_BIT) == 0)
@@ -424,8 +424,8 @@ extern void smp_derive_link_key_from_long_term_key(tSMP_CB* p_cb,
 extern void smp_br_process_pairing_command(tSMP_CB* p_cb,
                                            tSMP_INT_DATA* p_data);
 extern void smp_br_process_security_grant(tSMP_CB* p_cb, tSMP_INT_DATA* p_data);
-extern void smp_br_process_slave_keys_response(tSMP_CB* p_cb,
-                                               tSMP_INT_DATA* p_data);
+extern void smp_br_process_peripheral_keys_response(tSMP_CB* p_cb,
+                                                    tSMP_INT_DATA* p_data);
 extern void smp_br_send_pair_response(tSMP_CB* p_cb, tSMP_INT_DATA* p_data);
 extern void smp_br_check_authorization_request(tSMP_CB* p_cb,
                                                tSMP_INT_DATA* p_data);
diff --git a/system/stack/smp/smp_keys.cc b/system/stack/smp/smp_keys.cc
index 15562fe72626a75c02a0dd6666db1a4f05076a83..353e023b268ed28bb7771852bf44186dc7b7387c 100644
--- a/system/stack/smp/smp_keys.cc
+++ b/system/stack/smp/smp_keys.cc
@@ -794,9 +794,9 @@ Octet16 smp_calculate_peer_commitment(tSMP_CB* p_cb) {
   switch (p_cb->selected_association_model) {
     case SMP_MODEL_SEC_CONN_JUSTWORKS:
     case SMP_MODEL_SEC_CONN_NUM_COMP:
-      if (p_cb->role == HCI_ROLE_SLAVE)
+      if (p_cb->role == HCI_ROLE_PERIPHERAL)
         SMP_TRACE_WARNING(
-            "peer commitment calc on slave is not expected "
+            "peer commitment calc on peripheral is not expected "
             "for Just Works/Numeric Comparison models");
       output = crypto_toolbox::f4(p_cb->peer_publ_key.x, p_cb->loc_publ_key.x,
                                   p_cb->rrand, 0);
diff --git a/system/stack/smp/smp_l2c.cc b/system/stack/smp/smp_l2c.cc
index d1a3dceb1de09a72e2341466f8d9ed4e2e575bc7..e297d8f2d92390e21bff7fcf82c99f4e7fc313ee 100644
--- a/system/stack/smp/smp_l2c.cc
+++ b/system/stack/smp/smp_l2c.cc
@@ -281,7 +281,7 @@ static void smp_br_data_received(uint16_t channel, const RawAddress& bd_addr,
   if (SMP_OPCODE_PAIRING_REQ == cmd) {
     if ((p_cb->state == SMP_STATE_IDLE) &&
         (p_cb->br_state == SMP_BR_STATE_IDLE)) {
-      p_cb->role = HCI_ROLE_SLAVE;
+      p_cb->role = HCI_ROLE_PERIPHERAL;
       p_cb->smp_over_br = true;
       p_cb->pairing_bda = bd_addr;
     } else if (bd_addr != p_cb->pairing_bda) {
diff --git a/system/stack/smp/smp_main.cc b/system/stack/smp/smp_main.cc
index 2474001c0d5e7e83000ca89b8b05fd5c641d31ae..c3b90e469002f3eecafc7532494d834698a25462 100644
--- a/system/stack/smp/smp_main.cc
+++ b/system/stack/smp/smp_main.cc
@@ -530,8 +530,8 @@ static const uint8_t
         /* HAVE_LOC_NONCE */
         {SMP_SET_LOCAL_OOB_RAND_COMMITMENT, SMP_SM_NO_ACTION, SMP_STATE_IDLE}};
 
-/************ SMP Slave FSM State/Event Indirection Table **************/
-static const uint8_t smp_slave_entry_map[][SMP_STATE_MAX] = {
+/************ SMP Peripheral FSM State/Event Indirection Table **************/
+static const uint8_t smp_peripheral_entry_map[][SMP_STATE_MAX] = {
     /* state name: */
     /* Idle, WaitApp Rsp, SecReq Pend, Pair ReqRsp, Wait Cfm, Confirm, Rand,
        PublKey Exch, SCPhs1 Strt, Wait Cmtm, Wait Nonce, SCPhs2 Strt, Wait
@@ -621,7 +621,7 @@ static const uint8_t smp_slave_entry_map[][SMP_STATE_MAX] = {
     {3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
 };
 
-static const uint8_t smp_slave_idle_table[][SMP_SM_NUM_COLS] = {
+static const uint8_t smp_peripheral_idle_table[][SMP_SM_NUM_COLS] = {
     /* Event                 Action                Next State */
     /* L2C_CONN */
     {SMP_SEND_APP_CBACK, SMP_SM_NO_ACTION, SMP_STATE_WAIT_APP_RSP},
@@ -631,8 +631,8 @@ static const uint8_t smp_slave_idle_table[][SMP_SM_NUM_COLS] = {
     {SMP_CREATE_PRIVATE_KEY, SMP_SM_NO_ACTION,
      SMP_STATE_CREATE_LOCAL_SEC_CONN_OOB_DATA}};
 
-static const uint8_t smp_slave_wait_for_app_response_table[][SMP_SM_NUM_COLS] =
-    {
+static const uint8_t
+    smp_peripheral_wait_for_app_response_table[][SMP_SM_NUM_COLS] = {
         /* Event                   Action                 Next State */
         /* IO_RSP */
         {SMP_PROC_IO_RSP, SMP_SM_NO_ACTION, SMP_STATE_PAIR_REQ_RSP},
@@ -669,7 +669,7 @@ static const uint8_t smp_slave_wait_for_app_response_table[][SMP_SM_NUM_COLS] =
         {SMP_SEND_PAIR_RSP, SMP_SM_NO_ACTION, SMP_STATE_PAIR_REQ_RSP},
 };
 
-static const uint8_t smp_slave_sec_request_table[][SMP_SM_NUM_COLS] = {
+static const uint8_t smp_peripheral_sec_request_table[][SMP_SM_NUM_COLS] = {
     /* Event                  Action                 Next State */
     /* PAIR_REQ */
     {SMP_PROC_PAIR_CMD, SMP_SM_NO_ACTION, SMP_STATE_PAIR_REQ_RSP},
@@ -677,8 +677,8 @@ static const uint8_t smp_slave_sec_request_table[][SMP_SM_NUM_COLS] = {
     {SMP_ENC_CMPL, SMP_SM_NO_ACTION, SMP_STATE_PAIR_REQ_RSP},
 };
 
-static const uint8_t smp_slave_pair_request_response_table[][SMP_SM_NUM_COLS] =
-    {
+static const uint8_t
+    smp_peripheral_pair_request_response_table[][SMP_SM_NUM_COLS] = {
         /* Event                  Action                 Next State */
         /* CONFIRM */
         {SMP_PROC_CONFIRM, SMP_SM_NO_ACTION, SMP_STATE_CONFIRM},
@@ -694,14 +694,14 @@ static const uint8_t smp_slave_pair_request_response_table[][SMP_SM_NUM_COLS] =
         {SMP_PROCESS_PAIR_PUBLIC_KEY, SMP_SM_NO_ACTION, SMP_STATE_PAIR_REQ_RSP},
 };
 
-static const uint8_t smp_slave_wait_confirm_table[][SMP_SM_NUM_COLS] = {
+static const uint8_t smp_peripheral_wait_confirm_table[][SMP_SM_NUM_COLS] = {
     /* Event                  Action                 Next State */
     /* CONFIRM */
     {SMP_PROC_CONFIRM, SMP_SEND_CONFIRM, SMP_STATE_CONFIRM},
     /* KEY_READY*/
     {SMP_PROC_SL_KEY, SMP_SM_NO_ACTION, SMP_STATE_WAIT_CONFIRM}};
 
-static const uint8_t smp_slave_confirm_table[][SMP_SM_NUM_COLS] = {
+static const uint8_t smp_peripheral_confirm_table[][SMP_SM_NUM_COLS] = {
     /* Event                  Action                 Next State */
     /* RAND */
     {SMP_PROC_RAND, SMP_GENERATE_COMPARE, SMP_STATE_RAND},
@@ -710,14 +710,14 @@ static const uint8_t smp_slave_confirm_table[][SMP_SM_NUM_COLS] = {
     /* KEY_READY*/
     {SMP_PROC_SL_KEY, SMP_SM_NO_ACTION, SMP_STATE_CONFIRM}};
 
-static const uint8_t smp_slave_rand_table[][SMP_SM_NUM_COLS] = {
+static const uint8_t smp_peripheral_rand_table[][SMP_SM_NUM_COLS] = {
     /* Event                  Action                 Next State */
     /* KEY_READY */
     {SMP_PROC_COMPARE, SMP_SM_NO_ACTION, SMP_STATE_RAND}, /* compare match */
     /* RAND */
     {SMP_SEND_RAND, SMP_SM_NO_ACTION, SMP_STATE_ENCRYPTION_PENDING}};
 
-static const uint8_t smp_slave_public_key_exch_table[][SMP_SM_NUM_COLS] = {
+static const uint8_t smp_peripheral_public_key_exch_table[][SMP_SM_NUM_COLS] = {
     /* Event                  Action                 Next State */
     /* LOC_PUBL_KEY_CRTD */
     {SMP_WAIT_FOR_BOTH_PUBLIC_KEYS, SMP_SM_NO_ACTION,
@@ -729,31 +729,32 @@ static const uint8_t smp_slave_public_key_exch_table[][SMP_SM_NUM_COLS] = {
      SMP_STATE_SEC_CONN_PHS1_START},
 };
 
-static const uint8_t smp_slave_sec_conn_phs1_start_table[][SMP_SM_NUM_COLS] = {
-    /* Event                  Action                 Next State */
-    /* SC_DHKEY_CMPLT */
-    {SMP_START_SEC_CONN_PHASE1, SMP_SM_NO_ACTION,
-     SMP_STATE_SEC_CONN_PHS1_START},
-    /* HAVE_LOC_NONCE */
-    {SMP_PROCESS_LOCAL_NONCE, SMP_SM_NO_ACTION, SMP_STATE_WAIT_COMMITMENT},
-    /* TK_REQ */
-    {SMP_SEND_APP_CBACK, SMP_SM_NO_ACTION, SMP_STATE_WAIT_APP_RSP},
-    /* SMP_MODEL_SEC_CONN_PASSKEY_DISP model, passkey is sent up to display,
-     * it's
-     * time to start */
-    /* commitment calculation */
-    /* KEY_READY */
-    {SMP_START_PASSKEY_VERIFICATION, SMP_SM_NO_ACTION,
-     SMP_STATE_SEC_CONN_PHS1_START},
-    /* PAIR_KEYPR_NOTIF */
-    {SMP_PROCESS_KEYPRESS_NOTIFICATION, SMP_SEND_APP_CBACK,
-     SMP_STATE_SEC_CONN_PHS1_START},
-    /*COMMIT*/
-    {SMP_PROCESS_PAIRING_COMMITMENT, SMP_SM_NO_ACTION,
-     SMP_STATE_SEC_CONN_PHS1_START},
+static const uint8_t
+    smp_peripheral_sec_conn_phs1_start_table[][SMP_SM_NUM_COLS] = {
+        /* Event                  Action                 Next State */
+        /* SC_DHKEY_CMPLT */
+        {SMP_START_SEC_CONN_PHASE1, SMP_SM_NO_ACTION,
+         SMP_STATE_SEC_CONN_PHS1_START},
+        /* HAVE_LOC_NONCE */
+        {SMP_PROCESS_LOCAL_NONCE, SMP_SM_NO_ACTION, SMP_STATE_WAIT_COMMITMENT},
+        /* TK_REQ */
+        {SMP_SEND_APP_CBACK, SMP_SM_NO_ACTION, SMP_STATE_WAIT_APP_RSP},
+        /* SMP_MODEL_SEC_CONN_PASSKEY_DISP model, passkey is sent up to display,
+         * it's
+         * time to start */
+        /* commitment calculation */
+        /* KEY_READY */
+        {SMP_START_PASSKEY_VERIFICATION, SMP_SM_NO_ACTION,
+         SMP_STATE_SEC_CONN_PHS1_START},
+        /* PAIR_KEYPR_NOTIF */
+        {SMP_PROCESS_KEYPRESS_NOTIFICATION, SMP_SEND_APP_CBACK,
+         SMP_STATE_SEC_CONN_PHS1_START},
+        /*COMMIT*/
+        {SMP_PROCESS_PAIRING_COMMITMENT, SMP_SM_NO_ACTION,
+         SMP_STATE_SEC_CONN_PHS1_START},
 };
 
-static const uint8_t smp_slave_wait_commitment_table[][SMP_SM_NUM_COLS] = {
+static const uint8_t smp_peripheral_wait_commitment_table[][SMP_SM_NUM_COLS] = {
     /* Event                  Action                 Next State */
     /* PAIR_COMMITM */
     {SMP_PROCESS_PAIRING_COMMITMENT, SMP_SEND_COMMITMENT, SMP_STATE_WAIT_NONCE},
@@ -762,7 +763,7 @@ static const uint8_t smp_slave_wait_commitment_table[][SMP_SM_NUM_COLS] = {
      SMP_STATE_WAIT_COMMITMENT},
 };
 
-static const uint8_t smp_slave_wait_nonce_table[][SMP_SM_NUM_COLS] = {
+static const uint8_t smp_peripheral_wait_nonce_table[][SMP_SM_NUM_COLS] = {
     /* Event                  Action                 Next State */
     /* peer nonce is received */
     /* RAND */
@@ -776,28 +777,31 @@ static const uint8_t smp_slave_wait_nonce_table[][SMP_SM_NUM_COLS] = {
     {SMP_SEND_APP_CBACK, SMP_SM_NO_ACTION, SMP_STATE_WAIT_APP_RSP},
 };
 
-static const uint8_t smp_slave_sec_conn_phs2_start_table[][SMP_SM_NUM_COLS] = {
-    /* Event                  Action                 Next State */
-    /* SC_PHASE1_CMPLT */
-    {SMP_CALCULATE_LOCAL_DHKEY_CHECK, SMP_PH2_DHKEY_CHECKS_ARE_PRESENT,
-     SMP_STATE_WAIT_DHK_CHECK},
-    /* DHKey Check from central is received before slave DHKey calculation is
-     * completed - race */
-    /* PAIR_DHKEY_CHCK */
-    {SMP_PROCESS_DHKEY_CHECK, SMP_SM_NO_ACTION, SMP_STATE_SEC_CONN_PHS2_START},
+static const uint8_t
+    smp_peripheral_sec_conn_phs2_start_table[][SMP_SM_NUM_COLS] = {
+        /* Event                  Action                 Next State */
+        /* SC_PHASE1_CMPLT */
+        {SMP_CALCULATE_LOCAL_DHKEY_CHECK, SMP_PH2_DHKEY_CHECKS_ARE_PRESENT,
+         SMP_STATE_WAIT_DHK_CHECK},
+        /* DHKey Check from central is received before peripheral DHKey
+         * calculation is completed - race */
+        /* PAIR_DHKEY_CHCK */
+        {SMP_PROCESS_DHKEY_CHECK, SMP_SM_NO_ACTION,
+         SMP_STATE_SEC_CONN_PHS2_START},
 };
 
-static const uint8_t smp_slave_wait_dhk_check_table[][SMP_SM_NUM_COLS] = {
+static const uint8_t smp_peripheral_wait_dhk_check_table[][SMP_SM_NUM_COLS] = {
     /* Event                  Action                 Next State */
     /* PAIR_DHKEY_CHCK */
     {SMP_PROCESS_DHKEY_CHECK, SMP_CALCULATE_PEER_DHKEY_CHECK,
      SMP_STATE_DHK_CHECK},
-    /* DHKey Check from central was received before slave came to this state */
+    /* DHKey Check from central was received before peripheral came to this
+       state */
     /* SC_2_DHCK_CHKS_PRES */
     {SMP_CALCULATE_PEER_DHKEY_CHECK, SMP_SM_NO_ACTION, SMP_STATE_DHK_CHECK},
 };
 
-static const uint8_t smp_slave_dhk_check_table[][SMP_SM_NUM_COLS] = {
+static const uint8_t smp_peripheral_dhk_check_table[][SMP_SM_NUM_COLS] = {
     /* Event                  Action                 Next State */
 
     /* locally calculated peer dhkey check is ready -> compare it withs DHKey
@@ -815,7 +819,7 @@ static const uint8_t smp_slave_dhk_check_table[][SMP_SM_NUM_COLS] = {
     {SMP_SEND_DHKEY_CHECK, SMP_SM_NO_ACTION, SMP_STATE_ENCRYPTION_PENDING},
 };
 
-static const uint8_t smp_slave_enc_pending_table[][SMP_SM_NUM_COLS] = {
+static const uint8_t smp_peripheral_enc_pending_table[][SMP_SM_NUM_COLS] = {
     /* Event                  Action                 Next State */
     /* ENC_REQ */
     {SMP_GENERATE_STK, SMP_SM_NO_ACTION, SMP_STATE_ENCRYPTION_PENDING},
@@ -827,7 +831,7 @@ static const uint8_t smp_slave_enc_pending_table[][SMP_SM_NUM_COLS] = {
     {SMP_CHECK_AUTH_REQ, SMP_SM_NO_ACTION, SMP_STATE_ENCRYPTION_PENDING},
     /* BOND_REQ */
     {SMP_KEY_DISTRIBUTE, SMP_SM_NO_ACTION, SMP_STATE_BOND_PENDING}};
-static const uint8_t smp_slave_bond_pending_table[][SMP_SM_NUM_COLS] = {
+static const uint8_t smp_peripheral_bond_pending_table[][SMP_SM_NUM_COLS] = {
     /* Event                  Action                 Next State */
 
     /* LTK ready */
@@ -849,7 +853,7 @@ static const uint8_t smp_slave_bond_pending_table[][SMP_SM_NUM_COLS] = {
 };
 
 static const uint8_t
-    smp_slave_create_local_sec_conn_oob_data[][SMP_SM_NUM_COLS] = {
+    smp_peripheral_create_local_sec_conn_oob_data[][SMP_SM_NUM_COLS] = {
         /* Event                  Action                 Next State */
         /* LOC_PUBL_KEY_CRTD */
         {SMP_SET_LOCAL_OOB_KEYS, SMP_SM_NO_ACTION,
@@ -859,64 +863,65 @@ static const uint8_t
 
 static const tSMP_SM_TBL smp_state_table[][2] = {
     /* SMP_STATE_IDLE */
-    {smp_central_idle_table, smp_slave_idle_table},
+    {smp_central_idle_table, smp_peripheral_idle_table},
 
     /* SMP_STATE_WAIT_APP_RSP */
     {smp_central_wait_for_app_response_table,
-     smp_slave_wait_for_app_response_table},
+     smp_peripheral_wait_for_app_response_table},
 
     /* SMP_STATE_SEC_REQ_PENDING */
-    {NULL, smp_slave_sec_request_table},
+    {NULL, smp_peripheral_sec_request_table},
 
     /* SMP_STATE_PAIR_REQ_RSP */
     {smp_central_pair_request_response_table,
-     smp_slave_pair_request_response_table},
+     smp_peripheral_pair_request_response_table},
 
     /* SMP_STATE_WAIT_CONFIRM */
-    {smp_central_wait_for_confirm_table, smp_slave_wait_confirm_table},
+    {smp_central_wait_for_confirm_table, smp_peripheral_wait_confirm_table},
 
     /* SMP_STATE_CONFIRM */
-    {smp_central_confirm_table, smp_slave_confirm_table},
+    {smp_central_confirm_table, smp_peripheral_confirm_table},
 
     /* SMP_STATE_RAND */
-    {smp_central_rand_table, smp_slave_rand_table},
+    {smp_central_rand_table, smp_peripheral_rand_table},
 
     /* SMP_STATE_PUBLIC_KEY_EXCH */
-    {smp_central_public_key_exchange_table, smp_slave_public_key_exch_table},
+    {smp_central_public_key_exchange_table,
+     smp_peripheral_public_key_exch_table},
 
     /* SMP_STATE_SEC_CONN_PHS1_START */
     {smp_central_sec_conn_phs1_start_table,
-     smp_slave_sec_conn_phs1_start_table},
+     smp_peripheral_sec_conn_phs1_start_table},
 
     /* SMP_STATE_WAIT_COMMITMENT */
-    {smp_central_wait_commitment_table, smp_slave_wait_commitment_table},
+    {smp_central_wait_commitment_table, smp_peripheral_wait_commitment_table},
 
     /* SMP_STATE_WAIT_NONCE */
-    {smp_central_wait_nonce_table, smp_slave_wait_nonce_table},
+    {smp_central_wait_nonce_table, smp_peripheral_wait_nonce_table},
 
     /* SMP_STATE_SEC_CONN_PHS2_START */
     {smp_central_sec_conn_phs2_start_table,
-     smp_slave_sec_conn_phs2_start_table},
+     smp_peripheral_sec_conn_phs2_start_table},
 
     /* SMP_STATE_WAIT_DHK_CHECK */
-    {smp_central_wait_dhk_check_table, smp_slave_wait_dhk_check_table},
+    {smp_central_wait_dhk_check_table, smp_peripheral_wait_dhk_check_table},
 
     /* SMP_STATE_DHK_CHECK */
-    {smp_central_dhk_check_table, smp_slave_dhk_check_table},
+    {smp_central_dhk_check_table, smp_peripheral_dhk_check_table},
 
     /* SMP_STATE_ENCRYPTION_PENDING */
-    {smp_central_enc_pending_table, smp_slave_enc_pending_table},
+    {smp_central_enc_pending_table, smp_peripheral_enc_pending_table},
 
     /* SMP_STATE_BOND_PENDING */
-    {smp_central_bond_pending_table, smp_slave_bond_pending_table},
+    {smp_central_bond_pending_table, smp_peripheral_bond_pending_table},
 
     /* SMP_STATE_CREATE_LOCAL_SEC_CONN_OOB_DATA */
     {smp_central_create_local_sec_conn_oob_data,
-     smp_slave_create_local_sec_conn_oob_data}};
+     smp_peripheral_create_local_sec_conn_oob_data}};
 
 typedef const uint8_t (*tSMP_ENTRY_TBL)[SMP_STATE_MAX];
 static const tSMP_ENTRY_TBL smp_entry_table[] = {smp_central_entry_map,
-                                                 smp_slave_entry_map};
+                                                 smp_peripheral_entry_map};
 
 tSMP_CB smp_cb;
 
@@ -978,7 +983,7 @@ void smp_sm_event(tSMP_CB* p_cb, tSMP_EVENT event, tSMP_INT_DATA* p_data) {
   }
 
   SMP_TRACE_DEBUG("SMP Role: %s State: [%s (%d)], Event: [%s (%d)]",
-                  (p_cb->role == 0x01) ? "Slave" : "Central",
+                  (p_cb->role == 0x01) ? "Peripheral" : "Central",
                   smp_get_state_name(p_cb->state), p_cb->state,
                   smp_get_event_name(event), event);
 
diff --git a/system/tools/scripts/dump_hearingaid_audio.py b/system/tools/scripts/dump_hearingaid_audio.py
index 7cd539f24798e1a9ca86ce30f4372ef28fb37d9b..4304a48e1a30508f7e5fbe34d2374b9e21481028 100755
--- a/system/tools/scripts/dump_hearingaid_audio.py
+++ b/system/tools/scripts/dump_hearingaid_audio.py
@@ -54,7 +54,7 @@ DEBUG_DATA = "DEBUG_DATA"
 AUDIO_DATA_B = "AUDIO_DATA_B"
 
 # Debug packet header struct
-header_list_str = ["Event Processed", "Number Packet Nacked By Slave", "Number Packet Nacked By Central"]
+header_list_str = ["Event Processed", "Number Packet Nacked By Peripheral", "Number Packet Nacked By Central"]
 # Debug frame information structs
 data_list_str = [
     "Event Number", "Overrun", "Underrun", "Skips", "Rendered Audio Frame", "First PDU Option", "Second PDU Option",
diff --git a/system/vendor_libs/test_vendor_lib/model/controller/dual_mode_controller.cc b/system/vendor_libs/test_vendor_lib/model/controller/dual_mode_controller.cc
index c1d5647a1e73cb2d8c3df705b4312d5e53a552cd..559ec8066b86a9e6c2767a7b0efbceb8357c7c45 100644
--- a/system/vendor_libs/test_vendor_lib/model/controller/dual_mode_controller.cc
+++ b/system/vendor_libs/test_vendor_lib/model/controller/dual_mode_controller.cc
@@ -1906,9 +1906,9 @@ void DualModeController::LeSetCigParameters(CommandPacketView command) {
   ASSERT(command_view.IsValid());
   link_layer_controller_.LeSetCigParameters(
       command_view.GetCigId(), command_view.GetSduIntervalMToS(),
-      command_view.GetSduIntervalSToM(), command_view.GetSlavesClockAccuracy(),
-      command_view.GetPacking(), command_view.GetFraming(),
-      command_view.GetMaxTransportLatencyMToS(),
+      command_view.GetSduIntervalSToM(),
+      command_view.GetPeripheralsClockAccuracy(), command_view.GetPacking(),
+      command_view.GetFraming(), command_view.GetMaxTransportLatencyMToS(),
       command_view.GetMaxTransportLatencySToM(), command_view.GetCisConfig());
 }
 
diff --git a/system/vendor_libs/test_vendor_lib/model/controller/link_layer_controller.cc b/system/vendor_libs/test_vendor_lib/model/controller/link_layer_controller.cc
index ec51d5bb49d29b4f4239be0e83c337fee6087f69..97ace73423e7411902e0879268786fae97355196 100644
--- a/system/vendor_libs/test_vendor_lib/model/controller/link_layer_controller.cc
+++ b/system/vendor_libs/test_vendor_lib/model/controller/link_layer_controller.cc
@@ -1111,7 +1111,7 @@ void LinkLayerController::IncomingLeConnectPacket(
       AddressWithType(
           incoming.GetSourceAddress(),
           static_cast<bluetooth::hci::AddressType>(connect.GetAddressType())),
-      my_address, static_cast<uint8_t>(bluetooth::hci::Role::SLAVE),
+      my_address, static_cast<uint8_t>(bluetooth::hci::Role::PERIPHERAL),
       connection_interval, connect.GetLeConnectionLatency(),
       connect.GetLeConnectionSupervisionTimeout());
 
@@ -1683,14 +1683,14 @@ ErrorCode LinkLayerController::AcceptConnectionRequest(const Address& addr,
   LOG_INFO("Accept in 200ms");
   ScheduleTask(milliseconds(200), [this, addr, try_role_switch]() {
     LOG_INFO("Accepted");
-    MakeSlaveConnection(addr, try_role_switch);
+    MakePeripheralConnection(addr, try_role_switch);
   });
 
   return ErrorCode::SUCCESS;
 }
 
-void LinkLayerController::MakeSlaveConnection(const Address& addr,
-                                              bool try_role_switch) {
+void LinkLayerController::MakePeripheralConnection(const Address& addr,
+                                                   bool try_role_switch) {
   LOG_INFO("Sending page response to %s", addr.ToString().c_str());
   auto to_send = model::packets::PageResponseBuilder::Create(
       properties_.GetAddress(), addr, try_role_switch);
@@ -1716,14 +1716,15 @@ ErrorCode LinkLayerController::RejectConnectionRequest(const Address& addr,
     return ErrorCode::UNKNOWN_CONNECTION;
   }
 
-  ScheduleTask(milliseconds(200),
-               [this, addr, reason]() { RejectSlaveConnection(addr, reason); });
+  ScheduleTask(milliseconds(200), [this, addr, reason]() {
+    RejectPeripheralConnection(addr, reason);
+  });
 
   return ErrorCode::SUCCESS;
 }
 
-void LinkLayerController::RejectSlaveConnection(const Address& addr,
-                                                uint8_t reason) {
+void LinkLayerController::RejectPeripheralConnection(const Address& addr,
+                                                     uint8_t reason) {
   auto to_send = model::packets::PageRejectBuilder::Create(
       properties_.GetAddress(), addr, reason);
   LOG_INFO("Sending page reject to %s (reason 0x%02hhx)",
diff --git a/system/vendor_libs/test_vendor_lib/model/controller/link_layer_controller.h b/system/vendor_libs/test_vendor_lib/model/controller/link_layer_controller.h
index d7b2bafd703f6d4d9e068afd948df6078169d094..458067b5ecda87e2b4167d80eef7598168b68512 100644
--- a/system/vendor_libs/test_vendor_lib/model/controller/link_layer_controller.h
+++ b/system/vendor_libs/test_vendor_lib/model/controller/link_layer_controller.h
@@ -73,9 +73,9 @@ class LinkLayerController {
   ErrorCode AuthenticationRequested(uint16_t handle);
 
   ErrorCode AcceptConnectionRequest(const Address& addr, bool try_role_switch);
-  void MakeSlaveConnection(const Address& addr, bool try_role_switch);
+  void MakePeripheralConnection(const Address& addr, bool try_role_switch);
   ErrorCode RejectConnectionRequest(const Address& addr, uint8_t reason);
-  void RejectSlaveConnection(const Address& addr, uint8_t reason);
+  void RejectPeripheralConnection(const Address& addr, uint8_t reason);
   ErrorCode CreateConnection(const Address& addr, uint16_t packet_type,
                              uint8_t page_scan_mode, uint16_t clock_offset,
                              uint8_t allow_role_switch);