The patch series adds the support for adc102s021 and family.
The family of devices are easier to
support since they all (no matter the resolution) seem to respond in
12-bits with the LSBs set to 0 for the reduced resolution devices.
Series is based on next-20231020
Changes in v2:
Patch 1:
- No changes in dt-bindings
Patch 2:
- Arranged of_device_id and spi_device_id in numeric order.
- Used enum to index into adc128_config.
- Reorder adc128_config in alphabetical.
- Include channel resolution information.
- Shift is calculated per resolution and used in scaling and
raw data read.
- Link to v1: https://lore.kernel.org/all/[email protected]/
Sukrut Bellary (2):
dt-bindings: iio: adc: ti,adc128s052: Add adc08c and adc10c family
iio: adc: ti-adc128s052: Add lower resolution devices support
.../bindings/iio/adc/ti,adc128s052.yaml | 6 +
drivers/iio/adc/ti-adc128s052.c | 131 +++++++++++++-----
2 files changed, 102 insertions(+), 35 deletions(-)
--
2.34.1
The adcxx4s communicates with a host processor via an SPI/Microwire Bus
interface. The device family responds with 12-bit data, of which the LSB
bits are 0 for the lower resolution devices.
The unavailable bits are 0 in LSB.
Shift is calculated per resolution and used in scaling and
raw data read.
I have been able to test adc102s051,
hence adding just the missing ones in that family.
Lets reuse the binding to support the family of devices with name
ADC<bb><c>S<sss>, where
* bb is the resolution in number of bits (8, 10, 12)
* c is the number of channels (1, 2, 4, 8)
* sss is the maximum conversion speed (021 for 200 kSPS, 051 for 500 kSPS
and 101 for 1 MSPS)
Complete datasheets are available at TI's website here:
https://www.ti.com/lit/gpn/adc<bb><c>s<sss>.pdf
Co-developed-by: Nishanth Menon <[email protected]>
Signed-off-by: Nishanth Menon <[email protected]>
Signed-off-by: Sukrut Bellary <[email protected]>
Acked-by: Krzysztof Kozlowski <[email protected]>
---
Changes in v2:
- No changes in dt-bindings
- Link to v1: https://lore.kernel.org/all/[email protected]/
---
.../devicetree/bindings/iio/adc/ti,adc128s052.yaml | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/Documentation/devicetree/bindings/iio/adc/ti,adc128s052.yaml b/Documentation/devicetree/bindings/iio/adc/ti,adc128s052.yaml
index 775eee972b12..392b4a3e867c 100644
--- a/Documentation/devicetree/bindings/iio/adc/ti,adc128s052.yaml
+++ b/Documentation/devicetree/bindings/iio/adc/ti,adc128s052.yaml
@@ -16,6 +16,12 @@ description: |
properties:
compatible:
enum:
+ - ti,adc082s021
+ - ti,adc082s051
+ - ti,adc082s101
+ - ti,adc102s021
+ - ti,adc102s051
+ - ti,adc102s101
- ti,adc122s021
- ti,adc122s051
- ti,adc122s101
--
2.34.1