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
 
  15 from adafruit_blinka.agnostic import detector
 
  17 # pylint: disable=ungrouped-imports,wrong-import-position,unused-import
 
  19 if detector.board.microchip_mcp2221:
 
  20     from adafruit_blinka.microcontroller.mcp2221.analogio import AnalogIn
 
  21     from adafruit_blinka.microcontroller.mcp2221.analogio import AnalogOut
 
  22 elif detector.board.greatfet_one:
 
  23     from adafruit_blinka.microcontroller.nxp_lpc4330.analogio import AnalogIn
 
  24     from adafruit_blinka.microcontroller.nxp_lpc4330.analogio import AnalogOut
 
  25 elif detector.board.any_odroid_40_pin:
 
  26     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
 
  27 elif detector.board.any_siemens_simatic_iot2000:
 
  28     from adafruit_blinka.microcontroller.am65xx.analogio import AnalogIn
 
  29     from adafruit_blinka.microcontroller.am65xx.analogio import AnalogOut
 
  30 elif detector.chip.RK3308:
 
  31     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
 
  32 elif detector.chip.RK3399:
 
  33     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
 
  34 elif detector.chip.RK3588:
 
  35     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
 
  36 elif detector.chip.RK3568:
 
  37     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
 
  38 elif detector.chip.RK3566:
 
  39     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
 
  40 elif detector.chip.IMX6ULL:
 
  41     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
 
  42 elif detector.chip.STM32MP157:
 
  43     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
 
  44 elif detector.chip.A10:
 
  45     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
 
  46 elif detector.chip.A20:
 
  47     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
 
  48 elif "sphinx" in sys.modules:
 
  50 elif detector.board.pico_u2if:
 
  51     from adafruit_blinka.microcontroller.rp2040_u2if.analogio import (
 
  52         AnalogIn_Pico as AnalogIn,
 
  54 elif detector.board.feather_u2if:
 
  55     from adafruit_blinka.microcontroller.rp2040_u2if.analogio import (
 
  56         AnalogIn_Feather as AnalogIn,
 
  58 elif detector.board.qtpy_u2if:
 
  59     from adafruit_blinka.microcontroller.rp2040_u2if.analogio import (
 
  60         AnalogIn_QTPY as AnalogIn,
 
  62 elif detector.board.itsybitsy_u2if:
 
  63     from adafruit_blinka.microcontroller.rp2040_u2if.analogio import (
 
  64         AnalogIn_ItsyBitsy as AnalogIn,
 
  67     raise NotImplementedError("analogio not supported for this board.")