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

Commit 12a45c77 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "icnss: Update ICNSS platform driver" into msm-4.9

parents d6b62667 68939767
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -12,13 +12,22 @@ Required properties:
  - reg-names: Names of the memory regions defined in reg entry
  - interrupts: Copy engine interrupt table
  - qcom,wlan-msa-memory: MSA memory size
  - clocks: List of clock phandles
  - clock-names: List of clock names corresponding to the "clocks" property
  - iommus: SMMUs and corresponding Stream IDs needed by WLAN
  - qcom,wlan-smmu-iova-address: I/O virtual address range as <start length>
    format to be used for allocations associated between WLAN and SMMU

Optional properties:
  - <supply-name>-supply: phandle to the regulator device tree node
			   optional "supply-name" is "vdd-0.8-cx-mx".
  - qcom,<supply>-config: Specifies voltage levels for supply. Should be
			   specified in pairs (min, max), units uV.  There can
			   be optional load in uA and Regulator settle delay in
			   uS.
  - qcom,icnss-vadc: VADC handle for vph_pwr read APIs.
  - qcom,icnss-adc_tm: VADC handle for vph_pwr notification APIs.
  - qcom,smmu-s1-bypass: Boolean context flag to set SMMU to S1 bypass

Example:

@@ -26,6 +35,8 @@ Example:
        compatible = "qcom,icnss";
        reg = <0x0a000000 0x1000000>;
        reg-names = "membase";
        clocks = <&clock_gcc clk_aggre2_noc_clk>;
        clock-names = "smmu_aggre2_noc_clk";
        iommus = <&anoc2_smmu 0x1900>,
                 <&anoc2_smmu 0x1901>;
        qcom,wlan-smmu-iova-address = <0 0x10000000>;
@@ -43,4 +54,7 @@ Example:
		   <0 140 0 /* CE10 */ >,
		   <0 141 0 /* CE11 */ >;
        qcom,wlan-msa-memory = <0x200000>;
	qcom,smmu-s1-bypass;
	vdd-0.8-cx-mx-supply = <&pm8998_l5>;
	qcom,vdd-0.8-cx-mx-config = <800000 800000 2400 1000>;
    };
+604 −155

File changed.

Preview size limit exceeded, changes collapsed.

+16 −0
Original line number Diff line number Diff line
@@ -17,6 +17,21 @@
#define ICNSS_MAX_IRQ_REGISTRATIONS    12
#define ICNSS_MAX_TIMESTAMP_LEN        32

enum icnss_uevent {
	ICNSS_UEVENT_FW_READY,
	ICNSS_UEVENT_FW_CRASHED,
	ICNSS_UEVENT_FW_DOWN,
};

struct icnss_uevent_fw_down_data {
	bool crashed;
};

struct icnss_uevent_data {
	enum icnss_uevent uevent;
	void *data;
};

struct icnss_driver_ops {
	char *name;
	int (*probe)(struct device *dev);
@@ -28,6 +43,7 @@ struct icnss_driver_ops {
	int (*pm_resume)(struct device *dev);
	int (*suspend_noirq)(struct device *dev);
	int (*resume_noirq)(struct device *dev);
	int (*uevent)(struct device *dev, struct icnss_uevent_data *uevent);
};