bccmd - add ability to read ADC

System Internals / BlueZ - Simon Wood [mungewell.org] - 17 June 2015 13:59 EDT

Some BlueCore devices are equipped with an 'Analogue In' pin which is internally connected to a MUX and ADC. This patch adds the ability to control the MUX and read the ADC.

The ADC is also connected internal to a temp sensor, which can also be read via this method.

The (only) MUX values expected to be used are: 1 Internal 1V25 reference 16 BlueCore01b pin Test_A; BlueCore2-External pin AIO0 17 BlueCore01b pin Test_B; BlueCore2-External pin AIO1 36 Chip’s internal temperature (change) sensor. BlueCore2-ROM and later only.

The MUX can also select other (undocumented) test points.

Example usage--$ ./bccmd -t HCI -d hci1 adc 17 ADC value from Mux 0x11 : 0x0054 (valid) $ ./bccmd -t HCI -d hci1 adc 1 ADC value from Mux 0x01 : 0x00b2 (valid)

471d55e bccmd - add ability to read ADC
tools/bccmd.c | 43 +++++++++++++++++++++++++++++++++++++++++++
tools/csr.h | 2 ++
2 files changed, 45 insertions(+)

Upstream: git.kernel.org

  • Share