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

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

Merge changes I7de88369,I154d2ad8,If1b0dd21,I898a1ee7,I8f75f0d0 into msm-4.14

* changes:
  ARM: dts: msm: Add CommandDB device bindings for SDM640
  ARM: dts: msm: add system PM device binding for SDM640
  ARM: dts: msm: Add RSC mailbox controller device nodes for sdm640
  ARM: dts: msm: Add PDC interrupt controller for SDM640
  pinctrl: qcom: Add direct connect configuration for sdm640
parents 5fba58d7 d5f56e3d
Loading
Loading
Loading
Loading
+46 −1
Original line number Diff line number Diff line
@@ -20,12 +20,13 @@
#include <dt-bindings/clock/qcom,dispcc-sdm640.h>
#include <dt-bindings/clock/qcom,gpucc-sdm640.h>
#include <dt-bindings/clock/qcom,videocc-sdm640.h>
#include <dt-bindings/soc/qcom,tcs-mbox.h>

/ {
	model = "Qualcomm Technologies, Inc. SDM640";
	compatible = "qcom,sdm640";
	qcom,msm-id = <355 0x0>;
	interrupt-parent = <&intc>;
	interrupt-parent = <&pdc>;

	aliases {
		serial0 = &qupv3_se0_2uart;
@@ -481,6 +482,14 @@
		interrupt-parent = <&intc>;
	};

	pdc: interrupt-controller@b220000{
		compatible = "qcom,pdc-sdm640";
		reg = <0xb220000 0x400>;
		#interrupt-cells = <3>;
		interrupt-parent = <&intc>;
		interrupt-controller;
	};

	timer {
		compatible = "arm,armv8-timer";
		interrupts = <1 1 0xf08>,
@@ -811,6 +820,42 @@
			qcom,dump-id = <0x27>;
		};
	};

	apps_rsc: mailbox@18220000 {
		compatible = "qcom,tcs-drv";
		label = "apps_rsc";
		reg = <0x18220000 0x100>, <0x18220d00 0x3000>;
		interrupts = <0 5 0>;
		#mbox-cells = <1>;
		qcom,drv-id = <2>;
		qcom,tcs-config = <ACTIVE_TCS  2>,
				  <SLEEP_TCS   3>,
				  <WAKE_TCS    3>,
				  <CONTROL_TCS 1>;
	};

	disp_rsc: mailbox@af20000 {
		compatible = "qcom,tcs-drv";
		label = "display_rsc";
		reg = <0xaf20000 0x100>, <0xaf21c00 0x3000>;
		interrupts = <0 129 0>;
		#mbox-cells = <1>;
		qcom,drv-id = <0>;
		qcom,tcs-config = <ACTIVE_TCS  2>,
				  <SLEEP_TCS   1>,
				  <WAKE_TCS    1>,
				  <CONTROL_TCS 0>;
	};

	system_pm {
		compatible = "qcom,system-pm";
		mboxes = <&apps_rsc 0>;
	};

	cmd_db: qcom,cmd-db@c3f000c {
		compatible = "qcom,cmd-db";
		reg = <0xc3f000c 8>;
	};
};

#include "sdm640-pinctrl.dtsi"
+76 −0
Original line number Diff line number Diff line
@@ -53,6 +53,8 @@
		.intr_cfg_reg = base + 0x8 + REG_SIZE * id,	\
		.intr_status_reg = base + 0xc + REG_SIZE * id,	\
		.intr_target_reg = base + 0x8 + REG_SIZE * id,	\
		.dir_conn_reg = (base == EAST) ? base + 0x9f000 : \
			((base == WEST) ? base + 0xa6000 : base + 0xa2000), \
		.mux_bit = 2,			\
		.pull_bit = 0,			\
		.drv_bit = 6,			\
@@ -67,6 +69,7 @@
		.intr_polarity_bit = 1,		\
		.intr_detection_bit = 2,	\
		.intr_detection_width = 2,	\
		.dir_conn_en_bit = 8,		\
	}

#define SDC_QDSD_PINGROUP(pg_name, ctl, pull, drv)	\
@@ -1555,6 +1558,76 @@ static const struct msm_pingroup sdm640_groups[] = {
	[130] = UFS_RESET(ufs_reset, 0x9f000),
};

static struct msm_dir_conn sdm640_dir_conn[] = {
	{1, 525},
	{3, 511},
	{7, 535},
	{9, 625},
	{11, 514},
	{13, 513},
	{14, 515},
	{17, 526},
	{19, 528},
	{21, 563},
	{22, 516},
	{35, 517},
	{39, 633},
	{26, 518},
	{41, 527},
	{47, 529},
	{48, 531},
	{50, 532},
	{51, 631},
	{55, 536},
	{56, 537},
	{57, 538},
	{60, 540},
	{71, 534},
	{80, 553},
	{81, 544},
	{82, 530},
	{83, 545},
	{84, 572},
	{85, 614},
	{86, 547},
	{87, 564},
	{88, 632},
	{89, 630},
	{90, 549},
	{92, 568},
	{93, 555},
	{94, 571},
	{95, 552},
	{96, 562},
	{97, 554},
	{98, 609},
	{99, 610},
	{100, 615},
	{101, 520},
	{102, 573},
	{103, 557},
	{104, 558},
	{105, 611},
	{107, 612},
	{108, 626},
	{112, 627},
	{113, 628},
	{117, 565},
	{118, 617},
	{119, 567},
	{120, 629},
	{121, 569},
	{122, 570},
	{0, 216},
	{0, 215},
	{0, 214},
	{0, 213},
	{0, 212},
	{0, 211},
	{0, 210},
	{0, 209},
};

static const struct msm_pinctrl_soc_data sdm640_pinctrl = {
	.pins = sdm640_pins,
	.npins = ARRAY_SIZE(sdm640_pins),
@@ -1563,6 +1636,9 @@ static const struct msm_pinctrl_soc_data sdm640_pinctrl = {
	.groups = sdm640_groups,
	.ngroups = ARRAY_SIZE(sdm640_groups),
	.ngpios = 123,
	.dir_conn = sdm640_dir_conn,
	.n_dir_conns = ARRAY_SIZE(sdm640_dir_conn),
	.dir_conn_irq_base = 216,
};

static int sdm640_pinctrl_probe(struct platform_device *pdev)