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

Commit d819e7a7 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'qcom-dt-for-4.4' of git://codeaurora.org/quic/kernel/agross-msm into next/dt

Pull "Qualcomm ARM Based Device Tree Updates for v4.4" from Andy Gross:

* Add DT binding document for SMEM
* Add SMD, RPM, and Regulator nodes on MSM8974
* Remove extra reg element from iadc device
* Remove redunandant i2c pinctrl properties on APQ8064
* Remove unnecessary eeprom label on IFC6410
* Remove unnecessary eeprom label from QS600
* Add PM8921 RTC support on APQ8064
* Add PM8921 pwrkey support on APQ8064
* Prefix GSBI6 uart pins on APQ8064 correctly
* Add missing GSBI7 uart pinctrl on APQ8064
* Add missing GSBI7 uart pinctrl on IFC6410
* Add missing GSBI7 pinctrl uart property on QS600
* Add pwrseq support for WLAN on IFC6410
* Add pwrseq support for WLAN on QS600
* Add notify led support on IFC6410
* Add SD card detect support onQS600
* Add #power-domain-cells property to documentation
* Add Qualcomm SMBB binding document
* Add PM8941 charge node
* Fix typo in disabled property on MSM8974

* tag 'qcom-dt-for-4.4' of git://codeaurora.org/quic/kernel/agross-msm:
  ARM: dts: msm8974: fix typo in "disabled" property
  ARM: dts: qcom-pm8941: Add charger node
  dt-binding: power: Add Qualcomm SMBB binding
  arm: dts: qcom: Add #power-domain-cells property
  ARM: dts: qs600: Add SD card detect support.
  ARM: dts: apq8064-ifc6410: add notify led support.
  ARM: dts: qs600: add pwrseq support to WLAN
  ARM: dts: ifc6410: Add pwrseq support for WLAN
  ARM: dts: qs600: Add missing pinctrl property for gsbi7 uart
  ARM: dts: ifc6410: Add missing pinctrl to gsbi7 uart
  ARM: dts: apq8064: add missing gsbi7 uart pinctrl
  ARM: dts: apq8064: Prefix the gsbi6 uart pins correctly
  ARM: dts: apq8064: add pm8921 pwrkey support
  ARM: dts: apq8064: add pm8921 rtc
  ARM: dts: qs600: remove unnecessary eeprom label
  ARM: dts: ifc6410: remove unnecessary eeprom label
  ARM: dts: apq8064: remove redundant i2c pinctrl properties
  ARM: dts: qcom: Remove extra reg element from iadc device
  ARM: dts: msm8974: Add smd, rpm and regulator nodes
  soc: qcom: Add device tree binding for SMEM
parents 5078f77e 04edde25
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -18,10 +18,14 @@ Required properties :
- #clock-cells : shall contain 1
- #reset-cells : shall contain 1

Optional properties :
- #power-domain-cells : shall contain 1

Example:
	clock-controller@900000 {
		compatible = "qcom,gcc-msm8960";
		reg = <0x900000 0x4000>;
		#clock-cells = <1>;
		#reset-cells = <1>;
		#power-domain-cells = <1>;
	};
+4 −0
Original line number Diff line number Diff line
@@ -14,10 +14,14 @@ Required properties :
- #clock-cells : shall contain 1
- #reset-cells : shall contain 1

Optional properties :
- #power-domain-cells : shall contain 1

Example:
	clock-controller@4000000 {
		compatible = "qcom,mmcc-msm8960";
		reg = <0x4000000 0x1000>;
		#clock-cells = <1>;
		#reset-cells = <1>;
		#power-domain-cells = <1>;
	};
+131 −0
Original line number Diff line number Diff line
Qualcomm Switch-Mode Battery Charger and Boost

PROPERTIES
- compatible:
  Usage: required
  Value type: <stringlist>
  Description: Must be one of:
               - "qcom,pm8941-charger"

- reg:
  Usage: required
  Value type: <prop-encoded-array>
  Description: Base address of registers for SMBB block

- interrupts:
  Usage: required
  Value type: <prop-encoded-array>
  Description: The format of the specifier is defined by the binding document
               describing the node's interrupt parent.  Must contain one
               specifier for each of the following interrupts, in order:
               - charge done
               - charge fast mode
               - charge trickle mode
               - battery temperature ok
               - battery present
               - charger disconnected
               - USB-in valid
               - DC-in valid

- interrupt-names:
  Usage: required
  Value type: <stringlist>
  Description: Must contain the following list, strictly ordered:
               "chg-done",
               "chg-fast",
               "chg-trkl",
               "bat-temp-ok",
               "bat-present",
               "chg-gone",
               "usb-valid",
               "dc-valid"

- qcom,fast-charge-current-limit:
  Usage: optional (default: 1A, or pre-configured value)
  Value type: <u32>; uA; range [100mA : 3A]
  Description: Maximum charge current; May be clamped to safety limits.

- qcom,fast-charge-low-threshold-voltage:
  Usage: optional (default: 3.2V, or pre-configured value)
  Value type: <u32>; uV; range [2.1V : 3.6V]
  Description: Battery voltage limit above which fast charging may operate;
               Below this value linear or switch-mode auto-trickle-charging
               will operate.

- qcom,fast-charge-high-threshold-voltage:
  Usage: optional (default: 4.2V, or pre-configured value)
  Value type: <u32>; uV; range [3.24V : 5V]
  Description: Battery voltage limit below which fast charging may operate;
               The fast charger will attempt to charge the battery to this
               voltage.  May be clamped to safety limits.

- qcom,fast-charge-safe-voltage:
  Usage: optional (default: 4.2V, or pre-configured value)
  Value type: <u32>; uV; range [3.24V : 5V]
  Description: Maximum safe battery voltage; May be pre-set by bootloader, in
               which case, setting this will harmlessly fail. The property
               'fast-charge-high-watermark' will be clamped by this value.

- qcom,fast-charge-safe-current:
  Usage: optional (default: 1A, or pre-configured value)
  Value type: <u32>; uA; range [100mA : 3A]
  Description: Maximum safe battery charge current; May pre-set by bootloader,
               in which case, setting this will harmlessly fail. The property
               'qcom,fast-charge-current-limit' will be clamped by this value.

- qcom,auto-recharge-threshold-voltage:
  Usage: optional (default: 4.1V, or pre-configured value)
  Value type: <u32>; uV; range [3.24V : 5V]
  Description: Battery voltage limit below which auto-recharge functionality
               will restart charging after end-of-charge;  The high cutoff
               limit for auto-recharge is 5% above this value.

- qcom,minimum-input-voltage:
  Usage: optional (default: 4.3V, or pre-configured value)
  Value type: <u32>; uV; range [4.2V : 9.6V]
  Description: Input voltage level above which charging may operate

- qcom,dc-current-limit:
  Usage: optional (default: 100mA, or pre-configured value)
  Value type: <u32>; uA; range [100mA : 2.5A]
  Description: Default DC charge current limit

- qcom,disable-dc:
  Usage: optional (default: false)
  Value type: boolean: <u32> or <empty>
  Description: Disable DC charger

- qcom,jeita-extended-temp-range:
  Usage: optional (default: false)
  Value type: boolean: <u32> or <empty>
  Description: Enable JEITA extended temperature range;  This does *not*
               adjust the maximum charge voltage or current in the extended
               temperature range.  It only allows charging when the battery
               is in the extended temperature range.  Voltage/current
               regulation must be done externally to fully comply with
               the JEITA safety guidelines if this flag is set.

EXAMPLE
charger@1000 {
       compatible = "qcom,pm8941-charger";
       reg = <0x1000 0x700>;
       interrupts = <0x0 0x10 7 IRQ_TYPE_EDGE_BOTH>,
                       <0x0 0x10 5 IRQ_TYPE_EDGE_BOTH>,
                       <0x0 0x10 4 IRQ_TYPE_EDGE_BOTH>,
                       <0x0 0x12 1 IRQ_TYPE_EDGE_BOTH>,
                       <0x0 0x12 0 IRQ_TYPE_EDGE_BOTH>,
                       <0x0 0x13 2 IRQ_TYPE_EDGE_BOTH>,
                       <0x0 0x13 1 IRQ_TYPE_EDGE_BOTH>,
                       <0x0 0x14 1 IRQ_TYPE_EDGE_BOTH>;
       interrupt-names = "chg-done",
                       "chg-fast",
                       "chg-trkl",
                       "bat-temp-ok",
                       "bat-present",
                       "chg-gone",
                       "usb-valid",
                       "dc-valid";

       qcom,fast-charge-current-limit = <1000000>;
       qcom,dc-charge-current-limit = <1000000>;
};
+57 −0
Original line number Diff line number Diff line
Qualcomm Shared Memory Manager binding

This binding describes the Qualcomm Shared Memory Manager, used to share data
between various subsystems and OSes in Qualcomm platforms.

- compatible:
	Usage: required
	Value type: <stringlist>
	Definition: must be:
		    "qcom,smem"

- memory-region:
	Usage: required
	Value type: <prop-encoded-array>
	Definition: handle to memory reservation for main SMEM memory region.

- qcom,rpm-msg-ram:
	Usage: required
	Value type: <prop-encoded-array>
	Definition: handle to RPM message memory resource

- hwlocks:
	Usage: required
	Value type: <prop-encoded-array>
	Definition: reference to a hwspinlock used to protect allocations from
		    the shared memory

= EXAMPLE
The following example shows the SMEM setup for MSM8974, with a main SMEM region
at 0xfa00000 and the RPM message ram at 0xfc428000:

	reserved-memory {
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		smem_region: smem@fa00000 {
			reg = <0xfa00000 0x200000>;
			no-map;
		};
	};

	smem@fa00000 {
		compatible = "qcom,smem";

		memory-region = <&smem_region>;
		qcom,rpm-msg-ram = <&rpm_msg_ram>;

		hwlocks = <&tcsr_mutex 3>;
	};

	soc {
		rpm_msg_ram: memory@fc428000 {
			compatible = "qcom,rpm-msg-ram";
			reg = <0xfc428000 0x4000>;
		};
	};
+42 −6
Original line number Diff line number Diff line
#include "qcom-apq8064-v2.0.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>

/ {
	model = "CompuLab CM-QS600";
@@ -12,12 +14,27 @@
		stdout-path = "serial0:115200n8";
	};

	pwrseq {
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;
		compatible = "simple-bus";

		sdcc4_pwrseq: sdcc4_pwrseq {
			pinctrl-names = "default";
			pinctrl-0 = <&wlan_default_gpios>;
			compatible = "mmc-pwrseq-simple";
			reset-gpios = <&pm8921_gpio 43 GPIO_ACTIVE_LOW>;
		};
	};

	soc {
		pinctrl@800000 {
			i2c1_pins: i2c1 {
			card_detect: card_detect {
				mux {
					pins = "gpio20", "gpio21";
					function = "gsbi1";
					pins = "gpio26";
					function = "gpio";
					bias-disable;
				};
			};
		};
@@ -96,10 +113,8 @@
			i2c@12460000 {
				status = "okay";
				clock-frequency = <200000>;
				pinctrl-0 = <&i2c1_pins>;
				pinctrl-names = "default";

				eeprom: eeprom@50 {
				eeprom@50 {
					compatible = "24c02";
					reg = <0x50>;
					pagesize = <32>;
@@ -112,6 +127,8 @@
			qcom,mode = <GSBI_PROT_I2C_UART>;
			serial@16640000 {
				status = "ok";
				pinctrl-names = "default";
				pinctrl-0 = <&gsbi7_uart_2pins>;
			};
		};

@@ -163,6 +180,21 @@
			regulator-always-on;
		};

		qcom,ssbi@500000 {
			pmic@0 {
				gpio@150 {
					wlan_default_gpios: wlan-gpios {
						pios {
							pins = "gpio43";
							function = "normal";
							bias-disable;
							power-source = <PM8921_GPIO_S4>;
						};
					};
				};
			};
		};

		amba {
			/* eMMC */
			sdcc1: sdcc@12400000 {
@@ -175,12 +207,16 @@
			sdcc3: sdcc@12180000 {
				status = "okay";
				vmmc-supply = <&v3p3_fixed>;
				pinctrl-names	= "default";
				pinctrl-0	= <&card_detect>;
				cd-gpios	= <&tlmm_pinmux 26 GPIO_ACTIVE_LOW>;
			};
			/* WLAN */
			sdcc4: sdcc@121c0000 {
				status = "okay";
				vmmc-supply = <&v3p3_fixed>;
				vqmmc-supply = <&v3p3_fixed>;
				mmc-pwrseq = <&sdcc4_pwrseq>;
			};
		};
	};
Loading