From 2263ade52be22b86022ca17cd7843551124a1c0c Mon Sep 17 00:00:00 2001
From: Martin Brabham <optedoblivion@google.com>
Date: Tue, 13 Oct 2020 16:42:07 -0700
Subject: [PATCH] Inclusive Language Updates

slave -> peripheral
SLAVE -> PERIPHERAL
Slave -> Peripheral

BYPASS_INCLUSIVE_LANGUAGE_REASON=required_to_explain_the_update

Bug: 170342881
Tag: #refactor
Test: cert/run --host
Test: atest --host bluetooth_test_common
Test: atest --host bluetooth_test_gd
Test: atest net_test_btif
Change-Id: I4a3cccc0c1d182f172a21a6c70d569e5a89a5916
Merged-In: I4a3cccc0c1d182f172a21a6c70d569e5a89a5916
---
 .../android/bluetooth/IBluetoothGatt.aidl     |   2 +-
 system/bta/av/bta_av_aact.cc                  |   4 +-
 system/bta/av/bta_av_main.cc                  |   4 +-
 system/bta/dm/bta_dm_act.cc                   |  12 +-
 system/bta/dm/bta_dm_api.cc                   |  11 +-
 system/bta/dm/bta_dm_cfg.cc                   |   2 +-
 system/bta/gatt/bta_gattc_utils.cc            |   4 +-
 system/bta/include/bta_api.h                  |  14 +-
 system/btif/src/btif_bqr.cc                   |   3 +-
 system/device/include/controller.h            |   4 +-
 system/device/src/controller.cc               |  14 +-
 system/doc/supported_features.md              |   4 +-
 .../embdrv/sbc/decoder/include/oi_bt_spec.h   |   4 +-
 system/gd/cert/py_hci.py                      |   2 +-
 system/gd/hci/acl_builder_test.cc             |   2 +-
 system/gd/hci/acl_manager/classic_impl.h      |   2 +-
 system/gd/hci/acl_manager_test.cc             |  28 ++-
 system/gd/hci/cert/direct_hci_test.py         |   4 +-
 system/gd/hci/controller.cc                   |   2 +-
 system/gd/hci/controller.h                    |   2 +-
 system/gd/hci/facade/acl_manager_facade.proto |   2 +-
 system/gd/hci/facade/facade.cc                |  11 +-
 system/gd/hci/hci_packets.pdl                 |   8 +-
 system/gd/l2cap/l2cap_packets.pdl             |   2 +-
 system/gd/l2cap/le/cert/le_l2cap_test.py      |   6 +-
 system/gd/l2cap/le/internal/link.cc           |   4 +-
 system/gd/l2cap/le/internal/link.h            |   2 +-
 .../l2cap/le/internal/signalling_manager.cc   |  35 ++--
 .../gd/l2cap/le/internal/signalling_manager.h |  26 ++-
 system/gd/security/cert/le_security_test.py   |  14 +-
 .../internal/security_manager_impl.cc         |   2 +-
 system/gd/security/pairing_handler_le.cc      |   6 +-
 .../gd/security/pairing_handler_le_legacy.cc  |   8 +-
 .../pairing_handler_le_secure_connections.cc  |  14 +-
 .../security/pairing_handler_le_unittest.cc   |  16 +-
 .../test/pairing_handler_le_pair_test.cc      | 196 +++++++++---------
 system/main/shim/btm_api.cc                   |   2 +-
 system/main/shim/btm_api.h                    |   7 +-
 system/main/shim/controller.cc                |  10 +-
 system/stack/acl/acl.h                        |   2 +-
 system/stack/acl/ble_acl.cc                   |   4 +-
 system/stack/acl/btm_acl.cc                   |  29 +--
 system/stack/btm/btm_ble.cc                   |  30 +--
 system/stack/btm/btm_ble_bgconn.cc            |  24 +--
 system/stack/btm/btm_ble_gap.cc               | 100 ++++-----
 system/stack/btm/btm_ble_int_types.h          |  10 +-
 system/stack/btm/btm_dev.cc                   |   2 +-
 system/stack/btm/btm_sec.cc                   |  18 +-
 system/stack/btm/security_device_record.h     |   8 +-
 system/stack/btu/btu_hcif.cc                  |   2 +-
 system/stack/include/acl_api.h                |   2 +-
 system/stack/include/btm_api_types.h          |   8 +-
 system/stack/include/btm_ble_api.h            |   4 +-
 system/stack/include/btm_ble_api_types.h      |   6 +-
 system/stack/include/hci_evt_length.h         |   9 +-
 system/stack/include/hcidefs.h                |  44 ++--
 system/stack/include/smp_api.h                |   2 +-
 system/stack/include/smp_api_types.h          |   2 +-
 system/stack/l2cap/l2c_ble.cc                 |  35 ++--
 system/stack/l2cap/l2c_int.h                  |   8 +-
 system/stack/l2cap/l2c_link.cc                |  11 +-
 system/stack/l2cap/l2c_utils.cc               |   7 +-
 system/stack/smp/smp_act.cc                   | 101 ++++-----
 system/stack/smp/smp_br_main.cc               |  78 +++----
 system/stack/smp/smp_int.h                    |  14 +-
 system/stack/smp/smp_keys.cc                  |   4 +-
 system/stack/smp/smp_l2c.cc                   |   2 +-
 system/stack/smp/smp_main.cc                  | 145 ++++++-------
 system/tools/scripts/dump_hearingaid_audio.py |   2 +-
 .../model/controller/dual_mode_controller.cc  |   6 +-
 .../model/controller/link_layer_controller.cc |  17 +-
 .../model/controller/link_layer_controller.h  |   4 +-
 72 files changed, 646 insertions(+), 589 deletions(-)

diff --git a/system/binder/android/bluetooth/IBluetoothGatt.aidl b/system/binder/android/bluetooth/IBluetoothGatt.aidl
index 78d02610f35..e6e334b0cbe 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 7186f040374..94d87274169 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 4c0b5807c08..aa85851d218 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 fcd76a2cf72..c4054f151a2 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 d0a58393021..775cb3c626a 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 df6638a0e81..887db5a5183 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 cee26cd8a47..fd42494f654 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 615b657d676..172657f9c89 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 0726a2f0aef..7071d49cf73 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 276dba9b6b3..9687a908c80 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 80c29cdcd1c..0cc86676d46 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 c5a486b6d9d..50ca84d0270 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 67d5217cdbd..939308f589a 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 5c7e5e028d5..187c23f11ee 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 7fc59c69b71..4c242b32b30 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 8143815638c..2882c350b98 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 cc19f859689..58d8bc74607 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 5166ceb658f..d858e2b24f3 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 23e93496093..78daf2c9570 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 f14f1729cc7..e2cb9a36a43 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 10882073512..7c4f4e1ca47 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 15248bf699d..9127258d39f 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 7be8e7fdd99..270d84ebad6 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 943f068dc4d..005467b8d7d 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 af17c74d9ae..623ca3d1c26 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 71cc949c6a3..6aa9066a00e 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 fab826f2775..eba0dc1d227 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 26b4d8da697..b6cfe1e2b0d 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 ff99fb5f8e3..cee31303820 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 a1ebcd4fb4c..36ea8bd9b95 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 71ca210fbb9..57250547a90 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 a2fe56ab2fe..c2673c7523c 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 c1ee9f5d320..5d4a05b9f29 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 c33d33e91bc..1109a1fdd84 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 48089951779..8cc31937455 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 381027caac0..f6386da7ad5 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 7a75460c18b..077724b475f 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 da6863fed3b..77a11e93c7e 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 ac16f2a71da..a9030034a89 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 e9ba90d0251..b397e5c0098 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 0ed840edb26..1a295379dc6 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 32972ed4382..77daa5c6112 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 b5b5d805d9c..39188291c99 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 246ea90b422..2bdeecbbddb 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 ed5f8314cb6..f81e288d529 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 81e9fd7f238..7eb22ea89b1 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 92af7e3e18c..89ec1b620ae 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 807179cb483..e78ceff8774 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 e033ace5890..457f2348dd2 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 5feb3f05700..dcc14b82ace 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 cabbf9794fa..a7f3a4eec31 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 868be9b18b1..57662aeabfb 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 b991a0f2a85..1a9bea21fe5 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 e45ede84400..08f0580b65f 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 be93f8e9ff1..046816b014e 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 d9ce273493f..3f93c8aaa21 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 efd47832c00..9f4e2f5eacf 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 f09e60192da..335a6d8545a 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 962e3df286e..ceb0ddc2644 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 c5d76b68f05..e1c06817fc7 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 42b6301356a..7a69c0a9c08 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 26987c4cb0f..34c7a59a91a 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 924502567e7..5dd6aad0dc3 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 9adc3cc1212..faa6ae4cbae 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 b4397076599..6a96fb51b43 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 15562fe7262..353e023b268 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 d1a3dceb1de..e297d8f2d92 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 2474001c0d5..c3b90e46900 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 7cd539f2479..4304a48e1a3 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 c1d5647a1e7..559ec8066b8 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 ec51d5bb49d..97ace73423e 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 d7b2bafd703..458067b5ecd 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);
-- 
GitLab