arch/arm64/boot/dts/qcom/msm8998-clamshell.dtsi

Source file repositories/reference/linux-study-clean/arch/arm64/boot/dts/qcom/msm8998-clamshell.dtsi

File Facts

System
Linux kernel
Corpus path
arch/arm64/boot/dts/qcom/msm8998-clamshell.dtsi
Extension
.dtsi
Size
8515 bytes
Lines
406
Domain
Architecture Layer
Bucket
arch/arm64
Inferred role
Architecture Layer: configuration, schema, or hardware description
Status
atlas-only

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

// SPDX-License-Identifier: GPL-2.0
/* Copyright (c) 2019, Jeffrey Hugo. All rights reserved. */

/*
 * Common include for MSM8998 clamshell devices, ie the Lenovo Miix 630,
 * Asus NovaGo TP370QL, and HP Envy x2.  All three devices are basically the
 * same, with differences in peripherals.
 */

#include "msm8998.dtsi"
#include "pm8005.dtsi"
#include "pm8998.dtsi"

/ {
	vph_pwr: vph-pwr-regulator {
		compatible = "regulator-fixed";
		regulator-name = "vph_pwr";
		regulator-always-on;
		regulator-boot-on;
	};
};

&blsp1_uart3 {
	status = "okay";

	bluetooth {
		compatible = "qcom,wcn3990-bt";

		vddio-supply = <&vreg_s4a_1p8>;
		vddxo-supply = <&vreg_l7a_1p8>;
		vddrf-supply = <&vreg_l17a_1p3>;
		vddch0-supply = <&vreg_l25a_3p3>;
		max-speed = <3200000>;
	};
};

&blsp1_uart3_on {
	rx-pins {
		/delete-property/ bias-disable;
		/*
		 * Configure a pull-up on 45 (RX). This is needed to
		 * avoid garbage data when the TX pin of the Bluetooth
		 * module is in tri-state (module powered off or not
		 * driving the signal yet).
		 */
		bias-pull-up;
	};

	cts-pins {
		/delete-property/ bias-disable;
		/*
		 * Configure a pull-down on 47 (CTS) to match the pull
		 * of the Bluetooth module.
		 */
		bias-pull-down;
	};
};

/*
 * The laptop FW does not appear to support the retention state as it is
 * not advertised as enabled in ACPI, and enabling it in DT can cause boot
 * hangs.
 */
&cpu0 {
	cpu-idle-states = <&little_cpu_sleep_1>;
};

&cpu1 {
	cpu-idle-states = <&little_cpu_sleep_1>;
};

Annotation

Implementation Notes