summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/dt-bindings/clock/msm-clocks-cobalt.h14
-rw-r--r--include/dt-bindings/clock/msm-clocks-hwio-cobalt.h3
-rw-r--r--include/linux/power_supply.h31
-rw-r--r--include/linux/qpnp/qpnp-adc.h20
-rw-r--r--include/linux/rndis_ipa.h8
-rwxr-xr-xinclude/linux/soundwire/soundwire.h5
-rw-r--r--include/soc/qcom/clock-local2.h18
-rw-r--r--include/sound/apr_audio-v2.h14
-rw-r--r--include/sound/msm-audio-effects-q6-v2.h4
-rw-r--r--include/sound/q6afe-v2.h7
10 files changed, 113 insertions, 11 deletions
diff --git a/include/dt-bindings/clock/msm-clocks-cobalt.h b/include/dt-bindings/clock/msm-clocks-cobalt.h
index 829599aaf4de..99df0d53c312 100644
--- a/include/dt-bindings/clock/msm-clocks-cobalt.h
+++ b/include/dt-bindings/clock/msm-clocks-cobalt.h
@@ -153,6 +153,7 @@
#define clk_ufs_unipro_core_clk_src 0x179e80a9
#define clk_usb30_mock_utmi_clk_src 0xa024a976
#define clk_usb3_phy_aux_clk_src 0x15eec63c
+#define clk_qspi_ref_clk_src 0xfe6b8e11
#define clk_gcc_pcie_phy_0_reset 0x6bb4df33
#define clk_gcc_usb3_phy_reset 0x03d559f1
#define clk_gcc_usb3phy_phy_reset 0xb1a4f885
@@ -227,14 +228,18 @@
#define clk_gcc_tsif_ref_clk 0x8f1ed2c2
#define clk_gcc_ufs_ahb_clk 0x1914bb84
#define clk_gcc_ufs_axi_clk 0x47c743a7
+#define clk_gcc_ufs_axi_hw_ctl_clk 0x69385b45
#define clk_gcc_ufs_ice_core_clk 0x310b0710
+#define clk_gcc_ufs_ice_core_hw_ctl_clk 0x84e15a5b
#define clk_gcc_ufs_phy_aux_clk 0x17acc8fb
+#define clk_gcc_ufs_phy_aux_hw_ctl_clk 0x7dbdb2e2
#define clk_gcc_ufs_rx_symbol_0_clk 0x7f43251c
#define clk_gcc_ufs_rx_symbol_1_clk 0x03182fde
#define clk_gcc_ufs_tx_symbol_0_clk 0x6a9f747a
#define clk_ufs_tx_symbol_0_clk 0xb3fcd0f7
#define clk_ufs_rx_symbol_0_clk 0x17a0f1cd
#define clk_gcc_ufs_unipro_core_clk 0x2daf7fd2
+#define clk_gcc_ufs_unipro_core_hw_ctl_clk 0x4a4e0f3d
#define clk_gcc_usb30_master_clk 0xb3b4e2cb
#define clk_gcc_usb30_mock_utmi_clk 0xa800b65a
#define clk_gcc_usb30_sleep_clk 0xd0b65c92
@@ -267,6 +272,8 @@
#define clk_gcc_mss_mnoc_bimc_axi_clk 0xf665d03f
#define clk_gpll0_out_msscc 0x7d794829
#define clk_gcc_mss_snoc_axi_clk 0x0e71de85
+#define clk_gcc_qspi_ref_clk 0x766a0f7c
+#define clk_gcc_qspi_ahb_clk 0x96969dc8
#define clk_gcc_debug_mux 0x8121ac15
/* clock_mmss controlled clocks */
@@ -448,6 +455,13 @@
#define clk_dsi1pll_bitclk_src 0x13ab045b
#define clk_dsi1pll_vco_clk 0x99797b50
+#define clk_dp_vco_clk 0xfcaaeec7
+#define clk_hsclk_divsel_clk_src 0x0a325543
+#define clk_dp_link_2x_clk_divsel_five 0xcfe3f5dd
+#define clk_dp_link_2x_clk_divsel_ten 0xfeb9924d
+#define clk_dp_link_2x_clk_mux 0xce4c4fc6
+#define clk_vco_divided_clk_src 0x3da6cb51
+
/* clock_gpu controlled clocks*/
#define clk_gpucc_xo 0xc4e1a890
#define clk_gpucc_gpll0 0x0db0e37f
diff --git a/include/dt-bindings/clock/msm-clocks-hwio-cobalt.h b/include/dt-bindings/clock/msm-clocks-hwio-cobalt.h
index d637d123e714..a39433fa150f 100644
--- a/include/dt-bindings/clock/msm-clocks-hwio-cobalt.h
+++ b/include/dt-bindings/clock/msm-clocks-hwio-cobalt.h
@@ -113,6 +113,7 @@
#define GCC_UFS_UNIPRO_CORE_CMD_RCGR 0x76028
#define GCC_USB30_MOCK_UTMI_CMD_RCGR 0x0F028
#define GCC_USB3_PHY_AUX_CMD_RCGR 0x5000C
+#define GCC_QSPI_REF_CMD_RCGR 0x9000C
#define GCC_PCIE_0_PHY_BCR 0x6C01C
#define GCC_HDMI_CLKREF_EN 0x88000
#define GCC_UFS_CLKREF_EN 0x88004
@@ -230,6 +231,8 @@
#define GCC_DCC_AHB_CBCR 0x84004
#define GCC_HLOS1_VOTE_LPASS_CORE_SMMU_CBCR 0x7D010
#define GCC_HLOS1_VOTE_LPASS_ADSP_SMMU_CBCR 0x7D014
+#define GCC_QSPI_AHB_CBCR 0x90004
+#define GCC_QSPI_REF_CBCR 0x90008
#define GPUCC_GPU_PLL0_PLL_MODE 0x00000
#define GPUCC_GPU_PLL0_USER_CTL_MODE 0x0000C
diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h
index 376645983d3e..b081a56e250f 100644
--- a/include/linux/power_supply.h
+++ b/include/linux/power_supply.h
@@ -177,6 +177,7 @@ enum power_supply_property {
POWER_SUPPLY_PROP_CHARGE_ENABLED,
POWER_SUPPLY_PROP_BATTERY_CHARGING_ENABLED,
POWER_SUPPLY_PROP_CHARGING_ENABLED,
+ POWER_SUPPLY_PROP_INPUT_SUSPEND,
POWER_SUPPLY_PROP_INPUT_VOLTAGE_REGULATION,
POWER_SUPPLY_PROP_INPUT_CURRENT_MAX,
POWER_SUPPLY_PROP_INPUT_CURRENT_TRIM,
@@ -209,6 +210,10 @@ enum power_supply_property {
POWER_SUPPLY_PROP_RESTRICTED_CHARGING,
POWER_SUPPLY_PROP_CURRENT_CAPABILITY,
POWER_SUPPLY_PROP_TYPEC_MODE,
+ POWER_SUPPLY_PROP_TYPEC_CC_ORIENTATION, /* 0: N/C, 1: CC1, 2: CC2 */
+ POWER_SUPPLY_PROP_TYPEC_POWER_ROLE,
+ POWER_SUPPLY_PROP_PD_ALLOWED,
+ POWER_SUPPLY_PROP_PD_ACTIVE,
/* Local extensions of type int64_t */
POWER_SUPPLY_PROP_CHARGE_COUNTER_EXT,
/* Properties of type `const char *' */
@@ -229,6 +234,7 @@ enum power_supply_type {
POWER_SUPPLY_TYPE_USB_ACA, /* Accessory Charger Adapters */
POWER_SUPPLY_TYPE_USB_HVDCP, /* High Voltage DCP */
POWER_SUPPLY_TYPE_USB_HVDCP_3, /* Efficient High Voltage DCP */
+ POWER_SUPPLY_TYPE_USB_PD, /* Power Delivery */
POWER_SUPPLY_TYPE_WIRELESS, /* Accessory Charger Adapters */
POWER_SUPPLY_TYPE_BMS, /* Battery Monitor System */
POWER_SUPPLY_TYPE_USB_PARALLEL, /* USB Parallel Path */
@@ -238,6 +244,31 @@ enum power_supply_type {
POWER_SUPPLY_TYPE_DFP, /* TYpe-C DFP */
};
+/* Indicates USB Type-C CC connection status */
+enum power_supply_typec_mode {
+ POWER_SUPPLY_TYPEC_NONE,
+
+ /* Acting as source */
+ POWER_SUPPLY_TYPEC_SINK, /* Rd only */
+ POWER_SUPPLY_TYPEC_SINK_POWERED_CABLE, /* Rd/Ra */
+ POWER_SUPPLY_TYPEC_SINK_DEBUG_ACCESSORY, /* Rd/Rd */
+ POWER_SUPPLY_TYPEC_SINK_AUDIO_ADAPTER, /* Ra/Ra */
+ POWER_SUPPLY_TYPEC_POWERED_CABLE_ONLY, /* Ra only */
+
+ /* Acting as sink */
+ POWER_SUPPLY_TYPEC_SOURCE_DEFAULT, /* Rp default */
+ POWER_SUPPLY_TYPEC_SOURCE_MEDIUM, /* Rp 1.5A */
+ POWER_SUPPLY_TYPEC_SOURCE_HIGH, /* Rp 3A */
+ POWER_SUPPLY_TYPEC_NON_COMPLIANT,
+};
+
+enum power_supply_typec_power_role {
+ POWER_SUPPLY_TYPEC_PR_NONE, /* CC lines in high-Z */
+ POWER_SUPPLY_TYPEC_PR_DUAL,
+ POWER_SUPPLY_TYPEC_PR_SINK,
+ POWER_SUPPLY_TYPEC_PR_SOURCE,
+};
+
enum power_supply_notifier_events {
PSY_EVENT_PROP_CHANGED,
};
diff --git a/include/linux/qpnp/qpnp-adc.h b/include/linux/qpnp/qpnp-adc.h
index e143b93ce020..8d51ddcd4246 100644
--- a/include/linux/qpnp/qpnp-adc.h
+++ b/include/linux/qpnp/qpnp-adc.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012-2015, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2016, The Linux Foundation. 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 and
@@ -1062,7 +1062,7 @@ struct qpnp_vadc_chan_properties {
enum qpnp_adc_tm_channel_select tm_channel_select;
enum qpnp_state_request state_request;
enum qpnp_adc_calib_type calib_type;
- struct qpnp_vadc_linear_graph adc_graph[2];
+ struct qpnp_vadc_linear_graph adc_graph[ADC_HC_CAL_SEL_NONE];
};
/**
@@ -1243,6 +1243,10 @@ struct qpnp_adc_drv {
* @fast_avg_setup - Ability to provide single result from the ADC
* that is an average of multiple measurements.
* @trigger_channel - HW trigger channel for conversion sequencer.
+ * @calib_type - Used to store the calibration type for the channel
+ * absolute/ratiometric.
+ * @cal_val - Used to determine if fresh calibration value or timer
+ * updated calibration value is to be used.
* @chan_prop - Represent the channel properties of the ADC.
*/
struct qpnp_adc_amux_properties {
@@ -1252,6 +1256,8 @@ struct qpnp_adc_amux_properties {
uint32_t hw_settle_time;
uint32_t fast_avg_setup;
enum qpnp_vadc_trigger trigger_channel;
+ enum qpnp_adc_calib_type calib_type;
+ enum qpnp_adc_cal_val cal_val;
struct qpnp_vadc_chan_properties chan_prop[0];
};
@@ -1683,19 +1689,25 @@ int32_t qpnp_adc_qrd_skut1_btm_scaler(struct qpnp_vadc_chip *dev,
* and convert given temperature to voltage on supported
* thermistor channels using 100k pull-up.
* @dev: Structure device for qpnp vadc
+ * @adc_prop: adc properties of the qpnp adc such as bit resolution,
+ * reference voltage.
* @param: The input temperature values.
*/
int32_t qpnp_adc_tm_scale_therm_voltage_pu2(struct qpnp_vadc_chip *dev,
+ const struct qpnp_adc_properties *adc_properties,
struct qpnp_adc_tm_config *param);
/**
* qpnp_adc_tm_scale_therm_voltage_pu2() - Performs reverse calibration
* and converts the given ADC code to temperature for
* thermistor channels using 100k pull-up.
* @dev: Structure device for qpnp vadc
+ * @adc_prop: adc properties of the qpnp adc such as bit resolution,
+ * reference voltage.
* @reg: The input ADC code.
* @result: The physical measurement temperature on the thermistor.
*/
int32_t qpnp_adc_tm_scale_voltage_therm_pu2(struct qpnp_vadc_chip *dev,
+ const struct qpnp_adc_properties *adc_prop,
uint32_t reg, int64_t *result);
/**
* qpnp_adc_usb_scaler() - Performs reverse calibration on the low/high
@@ -2017,11 +2029,13 @@ static inline int32_t qpnp_adc_scale_millidegc_pmic_voltage_thr(
{ return -ENXIO; }
static inline int32_t qpnp_adc_tm_scale_therm_voltage_pu2(
struct qpnp_vadc_chip *dev,
+ const struct qpnp_adc_properties *adc_properties,
struct qpnp_adc_tm_config *param)
{ return -ENXIO; }
static inline int32_t qpnp_adc_tm_scale_voltage_therm_pu2(
struct qpnp_vadc_chip *dev,
- uint32_t reg, int64_t *result)
+ const struct qpnp_adc_properties *adc_prop,
+ uint32_t reg, int64_t *result)
{ return -ENXIO; }
static inline int32_t qpnp_adc_smb_btm_rscaler(struct qpnp_vadc_chip *dev,
struct qpnp_adc_tm_btm_param *param,
diff --git a/include/linux/rndis_ipa.h b/include/linux/rndis_ipa.h
index c9e389ddbf2b..9dcb8c30901b 100644
--- a/include/linux/rndis_ipa.h
+++ b/include/linux/rndis_ipa.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 2013-2014, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2013-2016, The Linux Foundation. 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 and
@@ -75,7 +75,7 @@ void rndis_ipa_cleanup(void *private);
static inline int rndis_ipa_init(struct ipa_usb_init_params *params)
{
- return 0;
+ return -ENOMEM;
}
static inline int rndis_ipa_pipe_connect_notify(u32 usb_to_ipa_hdl,
@@ -85,12 +85,12 @@ static inline int rndis_ipa_pipe_connect_notify(u32 usb_to_ipa_hdl,
u32 max_xfer_size_bytes_to_host,
void *private)
{
- return 0;
+ return -ENOMEM;
}
static inline int rndis_ipa_pipe_disconnect_notify(void *private)
{
- return 0;
+ return -ENOMEM;
}
static inline void rndis_ipa_cleanup(void *private)
diff --git a/include/linux/soundwire/soundwire.h b/include/linux/soundwire/soundwire.h
index f19e871d6ac2..4b957245209e 100755
--- a/include/linux/soundwire/soundwire.h
+++ b/include/linux/soundwire/soundwire.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 2015, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2015-2016, The Linux Foundation. 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 and
@@ -151,6 +151,7 @@ struct swr_master {
const void *buf, size_t len);
int (*get_logical_dev_num)(struct swr_master *mstr, u64 dev_id,
u8 *dev_num);
+ void (*slvdev_datapath_control)(struct swr_master *mstr, bool enable);
};
static inline struct swr_master *to_swr_master(struct device *dev)
@@ -304,4 +305,6 @@ extern int swr_device_down(struct swr_device *swr_dev);
extern int swr_reset_device(struct swr_device *swr_dev);
+extern int swr_slvdev_datapath_control(struct swr_device *swr_dev, u8 dev_num,
+ bool enable);
#endif /* _LINUX_SOUNDWIRE_H */
diff --git a/include/soc/qcom/clock-local2.h b/include/soc/qcom/clock-local2.h
index 81da257fbbbe..7f785cf4d3a2 100644
--- a/include/soc/qcom/clock-local2.h
+++ b/include/soc/qcom/clock-local2.h
@@ -129,6 +129,23 @@ static inline struct branch_clk *to_branch_clk(struct clk *clk)
}
/**
+ * struct hw_ctl_clk - Clock structure to enable/disable dynamic clock gating
+ * @c: clk
+ * @cbcr_reg: branch control register
+ * @base: pointer to base address of ioremapped registers.
+ */
+struct hw_ctl_clk {
+ struct clk c;
+ u32 cbcr_reg;
+ void __iomem *const *base;
+};
+
+static inline struct hw_ctl_clk *to_hw_ctl_clk(struct clk *clk)
+{
+ return container_of(clk, struct hw_ctl_clk, c);
+}
+
+/**
* struct local_vote_clk - Voteable branch clock
* @c: clk
* @cbcr_reg: branch control register
@@ -234,6 +251,7 @@ extern struct clk_ops clk_ops_empty;
extern struct clk_ops clk_ops_rcg;
extern struct clk_ops clk_ops_rcg_mnd;
extern struct clk_ops clk_ops_branch;
+extern struct clk_ops clk_ops_branch_hw_ctl;
extern struct clk_ops clk_ops_vote;
extern struct clk_ops clk_ops_rcg_hdmi;
extern struct clk_ops clk_ops_rcg_edp;
diff --git a/include/sound/apr_audio-v2.h b/include/sound/apr_audio-v2.h
index 8fe68b8b8f92..db66cd71aaae 100644
--- a/include/sound/apr_audio-v2.h
+++ b/include/sound/apr_audio-v2.h
@@ -792,7 +792,11 @@ struct adm_cmd_connect_afe_port_v5 {
#define SLIMBUS_5_TX 0x400b
#define SLIMBUS_6_RX 0x400c
#define SLIMBUS_6_TX 0x400d
-#define SLIMBUS_PORT_LAST SLIMBUS_6_TX
+#define SLIMBUS_7_RX 0x400e
+#define SLIMBUS_7_TX 0x400f
+#define SLIMBUS_8_RX 0x4010
+#define SLIMBUS_8_TX 0x4011
+#define SLIMBUS_PORT_LAST SLIMBUS_8_TX
#define INT_BT_SCO_RX 0x3000
#define INT_BT_SCO_TX 0x3001
#define INT_BT_A2DP_RX 0x3002
@@ -941,6 +945,14 @@ struct adm_cmd_connect_afe_port_v5 {
#define AFE_PORT_ID_SLIMBUS_MULTI_CHAN_6_RX 0x400c
/* SLIMbus Tx port on channel 6. */
#define AFE_PORT_ID_SLIMBUS_MULTI_CHAN_6_TX 0x400d
+/* SLIMbus Rx port on channel 7. */
+#define AFE_PORT_ID_SLIMBUS_MULTI_CHAN_7_RX 0x400e
+/* SLIMbus Tx port on channel 7. */
+#define AFE_PORT_ID_SLIMBUS_MULTI_CHAN_7_TX 0x400f
+/* SLIMbus Rx port on channel 8. */
+#define AFE_PORT_ID_SLIMBUS_MULTI_CHAN_8_RX 0x4010
+/* SLIMbus Tx port on channel 8. */
+#define AFE_PORT_ID_SLIMBUS_MULTI_CHAN_8_TX 0x4011
/* Generic pseudoport 1. */
#define AFE_PORT_ID_PSEUDOPORT_01 0x8001
diff --git a/include/sound/msm-audio-effects-q6-v2.h b/include/sound/msm-audio-effects-q6-v2.h
index cbdea328d46c..6bc2338bcf55 100644
--- a/include/sound/msm-audio-effects-q6-v2.h
+++ b/include/sound/msm-audio-effects-q6-v2.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013-2015, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2016, The Linux Foundation. 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 and
@@ -16,6 +16,8 @@
#include <sound/audio_effects.h>
+#define MAX_PP_PARAMS_SZ 128
+
bool msm_audio_effects_is_effmodule_supp_in_top(int effect_module,
int topology);
diff --git a/include/sound/q6afe-v2.h b/include/sound/q6afe-v2.h
index 55918afa0ea3..d30be944dc8c 100644
--- a/include/sound/q6afe-v2.h
+++ b/include/sound/q6afe-v2.h
@@ -108,7 +108,7 @@ enum {
IDX_AFE_PORT_ID_QUINARY_MI2S_RX,
IDX_AFE_PORT_ID_QUINARY_MI2S_TX,
IDX_AFE_PORT_ID_SENARY_MI2S_TX,
- /* IDX 54-> 118 */
+ /* IDX 54->117 */
IDX_AFE_PORT_ID_PRIMARY_TDM_RX_0,
IDX_AFE_PORT_ID_PRIMARY_TDM_TX_0,
IDX_AFE_PORT_ID_PRIMARY_TDM_RX_1,
@@ -173,6 +173,11 @@ enum {
IDX_AFE_PORT_ID_QUATERNARY_TDM_TX_6,
IDX_AFE_PORT_ID_QUATERNARY_TDM_RX_7,
IDX_AFE_PORT_ID_QUATERNARY_TDM_TX_7,
+ /* IDX 118->122 */
+ IDX_SLIMBUS_7_RX,
+ IDX_SLIMBUS_7_TX,
+ IDX_SLIMBUS_8_RX,
+ IDX_SLIMBUS_8_TX,
AFE_MAX_PORTS
};