linux/include/linux/mfd/madera/pdata.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-only */
   2/*
   3 * Platform data for Cirrus Logic Madera codecs
   4 *
   5 * Copyright (C) 2015-2018 Cirrus Logic
   6 */
   7
   8#ifndef MADERA_PDATA_H
   9#define MADERA_PDATA_H
  10
  11#include <linux/kernel.h>
  12#include <linux/regulator/arizona-ldo1.h>
  13#include <linux/regulator/arizona-micsupp.h>
  14#include <linux/regulator/machine.h>
  15#include <sound/madera-pdata.h>
  16
  17#define MADERA_MAX_MICBIAS              4
  18#define MADERA_MAX_CHILD_MICBIAS        4
  19
  20#define MADERA_MAX_GPSW                 2
  21
  22struct gpio_desc;
  23struct pinctrl_map;
  24struct madera_codec_pdata;
  25
  26/**
  27 * struct madera_pdata - Configuration data for Madera devices
  28 *
  29 * @reset:          GPIO controlling /RESET (NULL = none)
  30 * @ldo1:           Substruct of pdata for the LDO1 regulator
  31 * @micvdd:         Substruct of pdata for the MICVDD regulator
  32 * @irq_flags:      Mode for primary IRQ (defaults to active low)
  33 * @gpio_base:      Base GPIO number
  34 * @gpio_configs:   Array of GPIO configurations (See
  35 *                  Documentation/driver-api/pinctl.rst)
  36 * @n_gpio_configs: Number of entries in gpio_configs
  37 * @gpsw:           General purpose switch mode setting. Depends on the external
  38 *                  hardware connected to the switch. (See the SW1_MODE field
  39 *                  in the datasheet for the available values for your codec)
  40 * @codec:          Substruct of pdata for the ASoC codec driver
  41 */
  42struct madera_pdata {
  43        struct gpio_desc *reset;
  44
  45        struct arizona_ldo1_pdata ldo1;
  46        struct arizona_micsupp_pdata micvdd;
  47
  48        unsigned int irq_flags;
  49        int gpio_base;
  50
  51        const struct pinctrl_map *gpio_configs;
  52        int n_gpio_configs;
  53
  54        u32 gpsw[MADERA_MAX_GPSW];
  55
  56        struct madera_codec_pdata codec;
  57};
  58
  59#endif
  60