1 # SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries
 
   3 # SPDX-License-Identifier: MIT
 
   5 `analogio` - Analog input and output control
 
   6 ============================================
 
   7 See `CircuitPython:analogio` in CircuitPython for more details.
 
   8 Not supported by all boards.
 
  10 * Author(s): Carter Nelson, Melissa LeBlanc-Williams
 
  14 from adafruit_blinka.agnostic import detector
 
  16 # pylint: disable=ungrouped-imports,wrong-import-position,unused-import
 
  18 if detector.board.microchip_mcp2221:
 
  19     from adafruit_blinka.microcontroller.mcp2221.analogio import AnalogIn
 
  20     from adafruit_blinka.microcontroller.mcp2221.analogio import AnalogOut
 
  21 elif detector.board.greatfet_one:
 
  22     from adafruit_blinka.microcontroller.nxp_lpc4330.analogio import AnalogIn
 
  23     from adafruit_blinka.microcontroller.nxp_lpc4330.analogio import AnalogOut
 
  24 elif detector.board.any_odroid_40_pin:
 
  25     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
 
  26 elif detector.board.any_siemens_simatic_iot2000:
 
  27     from adafruit_blinka.microcontroller.am65xx.analogio import AnalogIn
 
  28     from adafruit_blinka.microcontroller.am65xx.analogio import AnalogOut
 
  29 elif detector.chip.RK3308:
 
  30     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
 
  31 elif detector.chip.RK3399:
 
  32     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
 
  33 elif detector.chip.RK3588:
 
  34     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
 
  35 elif detector.chip.RK3568:
 
  36     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
 
  37 elif detector.chip.RK3566:
 
  38     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
 
  39 elif detector.chip.RV1103:
 
  40     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
 
  41 elif detector.chip.RV1106:
 
  42     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
 
  43 elif detector.chip.IMX6ULL:
 
  44     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
 
  45 elif detector.chip.STM32MP157:
 
  46     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
 
  47 elif detector.chip.A10:
 
  48     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
 
  49 elif detector.chip.A20:
 
  50     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
 
  51 elif "sphinx" in sys.modules:
 
  53 elif detector.board.pico_u2if:
 
  54     from adafruit_blinka.microcontroller.rp2040_u2if.analogio import (
 
  55         AnalogIn_Pico as AnalogIn,
 
  57 elif detector.board.feather_u2if:
 
  58     from adafruit_blinka.microcontroller.rp2040_u2if.analogio import (
 
  59         AnalogIn_Feather as AnalogIn,
 
  61 elif detector.board.qtpy_u2if:
 
  62     from adafruit_blinka.microcontroller.rp2040_u2if.analogio import (
 
  63         AnalogIn_QTPY as AnalogIn,
 
  65 elif detector.board.itsybitsy_u2if:
 
  66     from adafruit_blinka.microcontroller.rp2040_u2if.analogio import (
 
  67         AnalogIn_ItsyBitsy as AnalogIn,
 
  69 elif detector.board.OS_AGNOSTIC_BOARD:
 
  70     from adafruit_blinka.microcontroller.generic_agnostic_board.analogio import AnalogIn
 
  71     from adafruit_blinka.microcontroller.generic_agnostic_board.analogio import (
 
  75     raise NotImplementedError("analogio not supported for this board.")