Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 21a96fc5 authored by mehdi chemsi's avatar mehdi chemsi
Browse files

Pushing V6.6.2 driver that supports TFA9878 project

parent 344e6e7a
Loading
Loading
Loading
Loading
+55 −50
Original line number Diff line number Diff line
#Copyright (C) 2014 NXP Semiconductors, All Rights Reserved.
#This program is free software; you can redistribute it and/or modify
#it under the terms of the GNU General Public License version 2 as
#published by the Free Software Foundation.

# make sure that the environment variables ARCH and CROSS_COMPILE
# are set for your architecture and cross compiler.
# And that KDIR points to the kernel to build against.
+973 −0

File added.

Preview size limit exceeded, changes collapsed.

+127 −124
Original line number Diff line number Diff line
@@ -65,7 +65,10 @@ struct tfa98xx_baseprofile {
	int sr_rate_sup[TFA98XX_NUM_RATES]; /* sample rates supported by this profile */
	struct list_head list;              /* list of all profiles */
};

enum tfa_reset_polarity{
	LOW=0,
	HIGH=1
};
struct tfa98xx {
	struct regmap *regmap;
	struct i2c_client *i2c;
@@ -103,7 +106,7 @@ struct tfa98xx {
	int reset_gpio;
	int power_gpio;
	int irq_gpio;

	enum tfa_reset_polarity reset_polarity; 
	struct list_head list;
	struct tfa_device *tfa;
	int vstep;
+142 −141
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ typedef struct TfaIrqName {
#include "tfa9912_tfafieldnames.h"
#include "tfa9896_tfafieldnames.h"
#include "tfa9874_tfafieldnames.h"
#include "tfa9878_tfafieldnames.h"
#include "tfa9894_tfafieldnames.h"
#include "tfa9894_tfafieldnames_N2.h"

+290 −288
Original line number Diff line number Diff line
@@ -70,6 +70,7 @@ struct tfa_device_ops {
	enum Tfa98xx_Error (*set_mute)(struct tfa_device *tfa, int mute); /**< set mute */
	enum Tfa98xx_Error (*faim_protect)(struct tfa_device *tfa, int state); /**< Protect FAIM from being corrupted  */
	enum Tfa98xx_Error(*set_osc_powerdown)(struct tfa_device *tfa, int state); /**< Allow to change internal osc. gating settings */
	enum Tfa98xx_Error(*update_lpm)(struct tfa_device *tfa, int state); /**< Allow to change lowpowermode settings */
};

/**
@@ -138,6 +139,7 @@ struct tfa_device {
	int is_probus_device; /**< probus device: device without internal DSP */
	int needs_reset; /**< add the reset trigger for SetAlgoParams and SetMBDrc commands */
	struct kmem_cache *cachep;	/**< Memory allocator handle */
	char fw_itf_ver[4];          /* Firmware ITF version */
};

/**
Loading