1. 03 Oct, 2015 1 commit
    • Loic Poulain's avatar
      Bluetooth: btintel: Add iBT register access over HCI support · d06f107b
      Loic Poulain authored
      Add regmap ibt to support Intel Bluetooth silicon register access
      over HCI. Intel BT/FM combo chip allows to read/write some registers
      (e.g. FM registers) via its HCI interface.
      
      Read/Write operations are performed via a HCI transaction composed of
      a HCI command (host->controller) followed by a HCI command complete
      event (controller->host). Read/Write Command opcodes can be specified
      to the regmap init function.
      We define data formats which are intel/vendor specific.
      
      Register Read/Write HCI command payload (Host):
      Field: | REG ADDR | MODE | DATA_LEN | DATA... |
      size:  |   32b    |  8b  |    8b    |  8b*    |
      
      Register Read HCI command complete event payload (Controller):
      Field: | CMD STATUS | REG ADDR | DATA... |
      size:  |     8b     |   32b    |  8b*    |
      
      Register Write HCI command complete event payload (Controller):
      Field: | CMD_STATUS |
      size:  |     8b     |
      
      Since this payload is HCI encapsulated, Little Endian byte order is
      used.
      
      Write/Read Example:
      
      If we write 0x0000002a at address 0x00008c04, with opcode_write 0xfc5d,
      The resulting transaction is (btmon trace):
      
      < HCI Command (0x3f|0x005d) plen 10 [hci0]
              04 8c 00 00 02 04 2a 00 00 00
      > HCI Event (0x0e) plen 4
            Unknown (0x3f|0x005d) ncmd 1
              00
      
      Then, if we read the same register with opcode_read 0xfc5e:
      
      < HCI Command (0x3f|0x005e) plen 6 [hci0]
              04 8c 00 00 02 04
      > HCI Event (0x0e) plen 12 [hci0]
            Unknown (0x3f|0x005e) ncmd 1
              00 04 8c 00 00 2a 00 00 00
      Signed-off-by: default avatarLoic Poulain <loic.poulain@intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      d06f107b
  2. 02 Oct, 2015 1 commit
  3. 01 Oct, 2015 7 commits
  4. 30 Sep, 2015 11 commits
  5. 29 Sep, 2015 1 commit
  6. 28 Sep, 2015 1 commit
  7. 25 Sep, 2015 4 commits
  8. 24 Sep, 2015 8 commits
  9. 22 Sep, 2015 6 commits