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

Commit a81e713a authored by Andrei Danaila's avatar Andrei Danaila
Browse files

msm: mhi: Add MHI core driver



Enable the MHI core driver for communication
between host and device using PCIe as an interconnect
and supporting MHI as the communication protocol.

The driver exposes several kernel space APIs
for use by other kernel entities to interface to
the PCIe device over MHI.

APIs for read and write and other notifications
are supported by this MHI driver.

Support for full power management and device reset
is also included.

CRs-Fixed: 689329
Change-Id: Ibc2fd7c2d5689001485f71b1133ada2c4ca236a9
Signed-off-by: default avatarAndrei Danaila <adanaila@codeaurora.org>
parent feb544b1
Loading
Loading
Loading
Loading
+36 −0
Original line number Diff line number Diff line
MSM MHI

MSM MHI enables communication with a device over a PCIe link using the
Modem Host Interface protocol. The bindings referred to below, enable
the correct configuration of the interface and required sideband
signals.

Required properties:
  - compatible: should be "qcom,mhi"
  - Refer to "Documentation/devicetree/bindings/esoc/esoc_client.txt" for
    below properties:
	- esoc-names
	- esoc-0
  - wakeup-gpios: gpio used to wake device from low power mode.
  - Refer to "Documentation/devicetree/bindings/arm/msm/msm_bus.txt" for
    below optional properties:
	- qcom,msm-bus,name
	- qcom,msm-bus,num-cases
	- qcom,msm-bus,num-paths
	- qcom,msm-bus,vectors-KBps

Example:

	mhi: qcom,mhi {
		compatible = "qcom,mhi";
		esoc-names = "mdm";
		esoc-0 = <&mdm1>;
		mhi-device-wake-gpio =
			<&msmgpio 108 0>;
		qcom,msm-bus,name = "mhi";
		qcom,msm-bus,num-cases = <2>;
		qcom,msm-bus,num-paths = <1>;
		qcom,msm-bus,vectors-KBps =
				<100 512 0 0>,
				<100 512 1200000000 1200000000>;
	};
+1 −1
Original line number Diff line number Diff line
@@ -63,7 +63,7 @@
	qcom,msm-bus,num-paths = <1>;
	qcom,msm-bus,vectors-KBps =
			<100 512 0 0>,
			<100 512 625000000 625000000>;
			<100 512 1200000000 1200000000>;
};
&ufsphy1 {
	status = "disabled";
+1 −1
Original line number Diff line number Diff line
@@ -70,7 +70,7 @@
	qcom,msm-bus,num-paths = <1>;
	qcom,msm-bus,vectors-KBps =
			<100 512 0 0>,
			<100 512 625000000 625000000>;
			<100 512 1200000000 1200000000>;
};
&usb3 {
	vbus_dwc3-supply = <&smb1357_otg_vreg>;
+1 −1
Original line number Diff line number Diff line
@@ -72,7 +72,7 @@
	qcom,msm-bus,num-paths = <1>;
	qcom,msm-bus,vectors-KBps =
			<100 512 0 0>,
			<100 512 625000000 625000000>;
			<100 512 1200000000 1200000000>;
};

&usb3 {
+1 −1
Original line number Diff line number Diff line
@@ -72,7 +72,7 @@
	qcom,msm-bus,num-paths = <1>;
	qcom,msm-bus,vectors-KBps =
			<100 512 0 0>,
			<100 512 625000000 625000000>;
			<100 512 1200000000 1200000000>;
};
&usb3 {
	vbus_dwc3-supply = <&smb1357_otg_vreg>;
Loading