diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/dt-bindings/clock/msm-clocks-cobalt.h | 14 | ||||
| -rw-r--r-- | include/dt-bindings/clock/msm-clocks-hwio-cobalt.h | 3 | ||||
| -rw-r--r-- | include/linux/power_supply.h | 31 | ||||
| -rw-r--r-- | include/linux/qpnp/qpnp-adc.h | 20 | ||||
| -rw-r--r-- | include/linux/rndis_ipa.h | 8 | ||||
| -rwxr-xr-x | include/linux/soundwire/soundwire.h | 5 | ||||
| -rw-r--r-- | include/soc/qcom/clock-local2.h | 18 | ||||
| -rw-r--r-- | include/sound/apr_audio-v2.h | 14 | ||||
| -rw-r--r-- | include/sound/msm-audio-effects-q6-v2.h | 4 | ||||
| -rw-r--r-- | include/sound/q6afe-v2.h | 7 |
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 }; |
