162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * tlv320aic32x4.h  --  TLV320AIC32X4 Soc Audio driver platform data
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright 2011 Vista Silicon S.L.
662306a36Sopenharmony_ci *
762306a36Sopenharmony_ci * Author: Javier Martin <javier.martin@vista-silicon.com>
862306a36Sopenharmony_ci */
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci#ifndef _AIC32X4_PDATA_H
1162306a36Sopenharmony_ci#define _AIC32X4_PDATA_H
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci#define AIC32X4_PWR_MICBIAS_2075_LDOIN		0x00000001
1462306a36Sopenharmony_ci#define AIC32X4_PWR_AVDD_DVDD_WEAK_DISABLE	0x00000002
1562306a36Sopenharmony_ci#define AIC32X4_PWR_AIC32X4_LDO_ENABLE		0x00000004
1662306a36Sopenharmony_ci#define AIC32X4_PWR_CMMODE_LDOIN_RANGE_18_36	0x00000008
1762306a36Sopenharmony_ci#define AIC32X4_PWR_CMMODE_HP_LDOIN_POWERED	0x00000010
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci#define AIC32X4_MICPGA_ROUTE_LMIC_IN2R_10K	0x00000001
2062306a36Sopenharmony_ci#define AIC32X4_MICPGA_ROUTE_RMIC_IN1L_10K	0x00000002
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci/* GPIO API */
2362306a36Sopenharmony_ci#define AIC32X4_MFPX_DEFAULT_VALUE	0xff
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci#define AIC32X4_MFP1_DIN_DISABLED	0
2662306a36Sopenharmony_ci#define AIC32X4_MFP1_DIN_ENABLED	0x2
2762306a36Sopenharmony_ci#define AIC32X4_MFP1_GPIO_IN		0x4
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci#define AIC32X4_MFP2_GPIO_OUT_LOW	0x0
3062306a36Sopenharmony_ci#define AIC32X4_MFP2_GPIO_OUT_HIGH	0x1
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci#define AIC32X4_MFP_GPIO_ENABLED	0x4
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci#define AIC32X4_MFP5_GPIO_DISABLED	0x0
3562306a36Sopenharmony_ci#define AIC32X4_MFP5_GPIO_INPUT		0x8
3662306a36Sopenharmony_ci#define AIC32X4_MFP5_GPIO_OUTPUT	0xc
3762306a36Sopenharmony_ci#define AIC32X4_MFP5_GPIO_OUT_LOW	0x0
3862306a36Sopenharmony_ci#define AIC32X4_MFP5_GPIO_OUT_HIGH	0x1
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_cistruct aic32x4_setup_data {
4162306a36Sopenharmony_ci	unsigned int gpio_func[5];
4262306a36Sopenharmony_ci};
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_cistruct aic32x4_pdata {
4562306a36Sopenharmony_ci	struct aic32x4_setup_data *setup;
4662306a36Sopenharmony_ci	u32 power_cfg;
4762306a36Sopenharmony_ci	u32 micpga_routing;
4862306a36Sopenharmony_ci	bool swapdacs;
4962306a36Sopenharmony_ci	int rstn_gpio;
5062306a36Sopenharmony_ci};
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci#endif
53