Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp6928205ybi; Mon, 22 Jul 2019 04:10:46 -0700 (PDT) X-Google-Smtp-Source: APXvYqyPUvv6htXGtNgqANOgXlmC1XUr6/5oe1uIxO4TMg9dmoD3U20vV77enbNwGS+qThIXDyI+ X-Received: by 2002:a63:2b84:: with SMTP id r126mr26689289pgr.308.1563793846173; Mon, 22 Jul 2019 04:10:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1563793846; cv=none; d=google.com; s=arc-20160816; b=Qi0zDII01Dkc/KWbazyK3X4+bGG+bygywMoNSedLuwzIn/05t+UsuskLmLbpZ3ZW1w yuu7X1Tn4CntTQ4xhDy/ORLXYNHoSTfKR6Fo5OdKZt7mmfDbvB3gbM+XFRAcZ3yQI3OX +vQ/CAj6555CG6t5yQ46gQ3mcw+tZEG3untTe34RXyC/AhAYdzC9LweM0RxN3YSl6o/n 3VVgilzxyNyVrRnXNA6bYMsfoe8kFc8OtQqLEvWf2Stu4MY7DOA64M+Wo8RqVxC9WzFU 0efcmDK1J9TZ2l6qQQwJpWNC6MB1yD+inx9GeyMf7pIcv8l6cnvASf8rzkUdyCY+Mj4C S4zw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=4vCO8yvKBViJyKZ53fpypJoZxDgJFFFyPBMu+NNRShc=; b=Z7Hr4UZLIcJZ3rwtypNINmY1RzWbhDUxGm8z5cOuumXYo1jJT5jqFmp9SZqUF3c3XH AGmWgJn/bS/d9aiPCa2llBiLJYlX0EJLHcdm+SU4TueGgYrkXPXIMlK4Zcsb5VXC+txO TCBSA+9EcpkmaR0MvPdUtbEspLdscRFCN2vK5odAUpimHvtSygeYFqEf4vbMm+rpTjc/ mCwXdidLqXBlrIEGLtlY5OMDfsB6nFdaitUxj94nW0aKKzIWHKwSQGCtQsWYDZkvCaLq HaLgjA3Jy5vgpSIiw5C+C9Fl7YW+AiU7yaMGfODqrgPL1LNCXPFw1A+CUOjJ6/pbsbaq UXow== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gerhold.net header.s=strato-dkim-0002 header.b=bSlUbiGf; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w22si8024594pjn.55.2019.07.22.04.10.29; Mon, 22 Jul 2019 04:10:45 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@gerhold.net header.s=strato-dkim-0002 header.b=bSlUbiGf; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728953AbfGVJa4 (ORCPT + 99 others); Mon, 22 Jul 2019 05:30:56 -0400 Received: from mo4-p02-ob.smtp.rzone.de ([85.215.255.82]:18731 "EHLO mo4-p02-ob.smtp.rzone.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727594AbfGVJav (ORCPT ); Mon, 22 Jul 2019 05:30:51 -0400 X-Greylist: delayed 357 seconds by postgrey-1.27 at vger.kernel.org; Mon, 22 Jul 2019 05:30:48 EDT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1563787848; s=strato-dkim-0002; d=gerhold.net; h=References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From: X-RZG-CLASS-ID:X-RZG-AUTH:From:Subject:Sender; bh=4vCO8yvKBViJyKZ53fpypJoZxDgJFFFyPBMu+NNRShc=; b=bSlUbiGfXD3dk5VOIu5lExdy2Mh7obHjFRKmbaGAECT8zIoxZ8V+icSDYBXJTd5XR6 mCh+cRpro/V0rIUhbYJellcZtYzgDv/IGlZFEr5s8ngOWhRO7m5cWiXDb591Uf3jB4Su Uh44UX/Y6HoOpwQey8ywUZi4ALBG2JKyXy0WZ5rRbCIWXmg96Y2K7A8btCykR1gNCYF0 SgF1MF4hYmFLglwGx8l+VZHe+u+9su6Rm8R8ylnlI4NS9r99lzz4Fah/UUyQ2cuwB1eW bFTKrf+zzIe1e6TfhEBd33S6uxcQ50pynf6EnSAGwbHqIH5/49Gc3ZAUNSmmE/oK4Yq5 lQqQ== X-RZG-AUTH: ":P3gBZUipdd93FF5ZZvYFPugejmSTVR2nRPhVORvLd4SsytBXS7IYBkLahKxP4G6N/EiB" X-RZG-CLASS-ID: mo00 Received: from localhost.localdomain by smtp.strato.de (RZmta 44.24 DYNA|AUTH) with ESMTPSA id m0a13fv6M9OnObz (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (curve secp521r1 with 521 ECDH bits, eq. 15360 bits RSA)) (Client did not present a certificate); Mon, 22 Jul 2019 11:24:49 +0200 (CEST) From: Stephan Gerhold To: Andy Gross Cc: Rob Herring , Mark Rutland , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Stephan Gerhold , Nikita Travkin Subject: [RFC PATCH v2 4/4] arm64: dts: qcom: Add device tree for Longcheer L8150 Date: Mon, 22 Jul 2019 11:22:11 +0200 Message-Id: <20190722092211.100586-5-stephan@gerhold.net> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190722092211.100586-1-stephan@gerhold.net> References: <20190722092211.100586-1-stephan@gerhold.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Longcheer L8150 is a smartphone based on MSM8916 which is used in several rebrands like the Snapdragon 410 Android One devices or the Wileyfox Swift. Add a device tree for L8150 with initial support for: - SDHCI (internal and external storage) - USB Device Mode - UART - Regulators Co-developed-by: Nikita Travkin Signed-off-by: Nikita Travkin Signed-off-by: Stephan Gerhold --- arch/arm64/boot/dts/qcom/Makefile | 1 + .../boot/dts/qcom/msm8916-longcheer-l8150.dts | 228 ++++++++++++++++++ 2 files changed, 229 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile index 5d725770d9c4..cb2d4de62668 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -3,6 +3,7 @@ dtb-$(CONFIG_ARCH_QCOM) += apq8016-sbc.dtb dtb-$(CONFIG_ARCH_QCOM) += apq8096-db820c.dtb dtb-$(CONFIG_ARCH_QCOM) += ipq8074-hk01.dtb dtb-$(CONFIG_ARCH_QCOM) += msm8916-mtp.dtb +dtb-$(CONFIG_ARCH_QCOM) += msm8916-longcheer-l8150.dtb dtb-$(CONFIG_ARCH_QCOM) += msm8916-samsung-a3u-eur.dtb dtb-$(CONFIG_ARCH_QCOM) += msm8916-samsung-a5u-eur.dtb dtb-$(CONFIG_ARCH_QCOM) += msm8992-bullhead-rev-101.dtb diff --git a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts new file mode 100644 index 000000000000..2b28e383fd0b --- /dev/null +++ b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts @@ -0,0 +1,228 @@ +// SPDX-License-Identifier: GPL-2.0-only + +/dts-v1/; + +#include "msm8916.dtsi" +#include "pm8916.dtsi" +#include + +/ { + model = "Longcheer L8150"; + compatible = "longcheer,l8150", "qcom,msm8916-v1-qrd/9-v1", "qcom,msm8916"; + + aliases { + serial0 = &blsp1_uart2; + }; + + chosen { + stdout-path = "serial0"; + }; + + soc { + sdhci@7824000 { + status = "okay"; + + vmmc-supply = <&pm8916_l8>; + vqmmc-supply = <&pm8916_l5>; + + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>; + pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>; + }; + + sdhci@7864000 { + status = "okay"; + + vmmc-supply = <&pm8916_l11>; + vqmmc-supply = <&pm8916_l12>; + + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on>; + pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off>; + + non-removable; + }; + + serial@78b0000 { + status = "okay"; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&blsp1_uart2_default>; + pinctrl-1 = <&blsp1_uart2_sleep>; + }; + + usb@78d9000 { + status = "okay"; + dr_mode = "peripheral"; + extcon = <&usb_vbus>; + + hnp-disable; + srp-disable; + adp-disable; + + ulpi { + phy { + extcon = <&usb_vbus>; + v1p8-supply = <&pm8916_l7>; + v3p3-supply = <&pm8916_l13>; + }; + }; + }; + + /* + * Attempting to enable these devices causes a "synchronous + * external abort". Suspected cause is that the debug power + * domain is not enabled by default on this device. + * Disable these devices for now to avoid the crash. + * + * See: https://lore.kernel.org/linux-arm-msm/20190618202623.GA53651@gerhold.net/ + */ + tpiu@820000 { status = "disabled"; }; + funnel@821000 { status = "disabled"; }; + replicator@824000 { status = "disabled"; }; + etf@825000 { status = "disabled"; }; + etr@826000 { status = "disabled"; }; + funnel@841000 { status = "disabled"; }; + debug@850000 { status = "disabled"; }; + debug@852000 { status = "disabled"; }; + debug@854000 { status = "disabled"; }; + debug@856000 { status = "disabled"; }; + etm@85c000 { status = "disabled"; }; + etm@85d000 { status = "disabled"; }; + etm@85e000 { status = "disabled"; }; + etm@85f000 { status = "disabled"; }; + }; + + // FIXME: Use extcon device provided by charger driver when available + usb_vbus: usb-vbus { + compatible = "linux,extcon-usb-gpio"; + vbus-gpio = <&msmgpio 62 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&usb_vbus_default>; + }; +}; + +&msmgpio { + usb_vbus_default: usb-vbus-default { + pinmux { + function = "gpio"; + pins = "gpio62"; + }; + pinconf { + pins = "gpio62"; + bias-pull-up; + }; + }; +}; + +&smd_rpm_regulators { + vdd_l1_l2_l3-supply = <&pm8916_s3>; + vdd_l4_l5_l6-supply = <&pm8916_s4>; + vdd_l7-supply = <&pm8916_s4>; + + s1 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1300000>; + }; + + s3 { + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1300000>; + }; + + s4 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2100000>; + }; + + l1 { + regulator-min-microvolt = <1225000>; + regulator-max-microvolt = <1225000>; + }; + + l2 { + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + }; + + l3 { + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1287500>; + }; + + l4 { + regulator-min-microvolt = <2050000>; + regulator-max-microvolt = <2050000>; + }; + + l5 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + l6 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + l7 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + l8 { + regulator-min-microvolt = <2850000>; + regulator-max-microvolt = <2900000>; + }; + + l9 { + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; + + l10 { + regulator-min-microvolt = <2700000>; + regulator-max-microvolt = <2800000>; + }; + + l11 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2950000>; + regulator-allow-set-load; + regulator-system-load = <200000>; + }; + + l12 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2950000>; + }; + + l13 { + regulator-min-microvolt = <3075000>; + regulator-max-microvolt = <3075000>; + }; + + l14 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + }; + + l15 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + }; + + l16 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + }; + + l17 { + regulator-min-microvolt = <2850000>; + regulator-max-microvolt = <2850000>; + }; + + l18 { + regulator-min-microvolt = <2700000>; + regulator-max-microvolt = <2700000>; + }; +}; -- 2.22.0