forked from nikkuss/x1e-nixos
init
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Surface Laptop 7 (Romulus) Surface Aggregator Module overlay.
|
||||
* Connects the SAM EC to UART2 with hardware flow control.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
#define IRQ_TYPE_EDGE_RISING 1
|
||||
|
||||
/ {
|
||||
compatible = "microsoft,romulus13", "microsoft,romulus15", "qcom,x1e80100";
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
qup_uart2_default: qup-uart2-default-state {
|
||||
pins = "gpio11", "gpio10", "gpio8", "gpio9";
|
||||
function = "qup0_se2";
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
sam_irq: sam-irq-state {
|
||||
pins = "gpio91";
|
||||
function = "gpio";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
input-enable;
|
||||
};
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&qup_uart2_default>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
embedded-controller {
|
||||
compatible = "microsoft,surface-sam";
|
||||
interrupts-extended = <&tlmm 91 IRQ_TYPE_EDGE_RISING>;
|
||||
current-speed = <4000000>;
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,244 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Surface Laptop 7 CPU thermal throttling overlay. Adds #cooling-cells
|
||||
* to CPU nodes and passive trip points at 85 °C (5 °C hysteresis) so
|
||||
* cpufreq cooling is registered and step_wise throttling kicks in.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
#define THERMAL_NO_LIMIT 0xffffffff
|
||||
|
||||
/ {
|
||||
compatible = "microsoft,romulus13", "microsoft,romulus15", "qcom,x1e80100";
|
||||
};
|
||||
|
||||
&cpu0 { #cooling-cells = <2>; };
|
||||
&cpu1 { #cooling-cells = <2>; };
|
||||
&cpu2 { #cooling-cells = <2>; };
|
||||
&cpu3 { #cooling-cells = <2>; };
|
||||
&cpu4 { #cooling-cells = <2>; };
|
||||
&cpu5 { #cooling-cells = <2>; };
|
||||
&cpu6 { #cooling-cells = <2>; };
|
||||
&cpu7 { #cooling-cells = <2>; };
|
||||
&cpu8 { #cooling-cells = <2>; };
|
||||
&cpu9 { #cooling-cells = <2>; };
|
||||
&cpu10 { #cooling-cells = <2>; };
|
||||
&cpu11 { #cooling-cells = <2>; };
|
||||
|
||||
&{/thermal-zones/cpu0-0-top-thermal} {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
trips {
|
||||
cpu0_0_passive: trip-passive {
|
||||
temperature = <85000>;
|
||||
hysteresis = <5000>;
|
||||
type = "passive";
|
||||
};
|
||||
};
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu0_0_passive>;
|
||||
cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&{/thermal-zones/cpu0-1-top-thermal} {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
trips {
|
||||
cpu0_1_passive: trip-passive {
|
||||
temperature = <85000>;
|
||||
hysteresis = <5000>;
|
||||
type = "passive";
|
||||
};
|
||||
};
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu0_1_passive>;
|
||||
cooling-device = <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&{/thermal-zones/cpu0-2-top-thermal} {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
trips {
|
||||
cpu0_2_passive: trip-passive {
|
||||
temperature = <85000>;
|
||||
hysteresis = <5000>;
|
||||
type = "passive";
|
||||
};
|
||||
};
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu0_2_passive>;
|
||||
cooling-device = <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&{/thermal-zones/cpu0-3-top-thermal} {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
trips {
|
||||
cpu0_3_passive: trip-passive {
|
||||
temperature = <85000>;
|
||||
hysteresis = <5000>;
|
||||
type = "passive";
|
||||
};
|
||||
};
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu0_3_passive>;
|
||||
cooling-device = <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&{/thermal-zones/cpu1-0-top-thermal} {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
trips {
|
||||
cpu1_0_passive: trip-passive {
|
||||
temperature = <85000>;
|
||||
hysteresis = <5000>;
|
||||
type = "passive";
|
||||
};
|
||||
};
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu1_0_passive>;
|
||||
cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&{/thermal-zones/cpu1-1-top-thermal} {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
trips {
|
||||
cpu1_1_passive: trip-passive {
|
||||
temperature = <85000>;
|
||||
hysteresis = <5000>;
|
||||
type = "passive";
|
||||
};
|
||||
};
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu1_1_passive>;
|
||||
cooling-device = <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&{/thermal-zones/cpu1-2-top-thermal} {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
trips {
|
||||
cpu1_2_passive: trip-passive {
|
||||
temperature = <85000>;
|
||||
hysteresis = <5000>;
|
||||
type = "passive";
|
||||
};
|
||||
};
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu1_2_passive>;
|
||||
cooling-device = <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&{/thermal-zones/cpu1-3-top-thermal} {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
trips {
|
||||
cpu1_3_passive: trip-passive {
|
||||
temperature = <85000>;
|
||||
hysteresis = <5000>;
|
||||
type = "passive";
|
||||
};
|
||||
};
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu1_3_passive>;
|
||||
cooling-device = <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&{/thermal-zones/cpu2-0-top-thermal} {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
trips {
|
||||
cpu2_0_passive: trip-passive {
|
||||
temperature = <85000>;
|
||||
hysteresis = <5000>;
|
||||
type = "passive";
|
||||
};
|
||||
};
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu2_0_passive>;
|
||||
cooling-device = <&cpu8 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&{/thermal-zones/cpu2-1-top-thermal} {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
trips {
|
||||
cpu2_1_passive: trip-passive {
|
||||
temperature = <85000>;
|
||||
hysteresis = <5000>;
|
||||
type = "passive";
|
||||
};
|
||||
};
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu2_1_passive>;
|
||||
cooling-device = <&cpu9 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&{/thermal-zones/cpu2-2-top-thermal} {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
trips {
|
||||
cpu2_2_passive: trip-passive {
|
||||
temperature = <85000>;
|
||||
hysteresis = <5000>;
|
||||
type = "passive";
|
||||
};
|
||||
};
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu2_2_passive>;
|
||||
cooling-device = <&cpu10 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&{/thermal-zones/cpu2-3-top-thermal} {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
trips {
|
||||
cpu2_3_passive: trip-passive {
|
||||
temperature = <85000>;
|
||||
hysteresis = <5000>;
|
||||
type = "passive";
|
||||
};
|
||||
};
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu2_3_passive>;
|
||||
cooling-device = <&cpu11 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,109 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Surface Laptop 7 (Romulus) MSHW0238 QSPI touchpad overlay.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
#define IRQ_TYPE_LEVEL_LOW 8
|
||||
#define QCOM_GPI_QSPI 4
|
||||
|
||||
/ {
|
||||
compatible = "microsoft,romulus13", "microsoft,romulus15", "qcom,x1e80100";
|
||||
};
|
||||
|
||||
&gpi_dma2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&{/} {
|
||||
vreg_ts_5p0: ts-5p0-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vreg_ts_5p0";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpio = <&tlmm 65 0>;
|
||||
enable-active-high;
|
||||
startup-delay-us = <100000>;
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
qup_qspi19_data_clk: qup-qspi19-data-clk-state {
|
||||
pins = "gpio76", "gpio77", "gpio78";
|
||||
function = "qup2_se3";
|
||||
drive-strength = <6>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
qup_qspi19_cs: qup-qspi19-cs-state {
|
||||
pins = "gpio79";
|
||||
function = "qup2_se3";
|
||||
drive-strength = <6>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
qup_qspi19_data23: qup-qspi19-data23-state {
|
||||
pins = "gpio66", "gpio67";
|
||||
function = "qup2_se3";
|
||||
drive-strength = <6>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
spi19_hid0_reset_deassert: spi19-hid0-reset-deassert-state {
|
||||
pins = "gpio65", "gpio120";
|
||||
function = "gpio";
|
||||
drive-strength = <16>;
|
||||
bias-disable;
|
||||
output-high;
|
||||
};
|
||||
|
||||
spi19_hid0_reset_assert: spi19-hid0-reset-assert-state {
|
||||
pins = "gpio65", "gpio120";
|
||||
function = "gpio";
|
||||
drive-strength = <16>;
|
||||
bias-disable;
|
||||
output-low;
|
||||
};
|
||||
|
||||
spi19_hid0_int_bias: spi19-hid0-int-bias-state {
|
||||
pins = "gpio3";
|
||||
function = "gpio";
|
||||
input-enable;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
&spi19 {
|
||||
status = "okay";
|
||||
compatible = "qcom,geni-spi-qspi";
|
||||
spi-max-frequency = <20000000>;
|
||||
qcom,qspi-read-opcode = <0xEB>;
|
||||
qcom,qspi-read-dummy-clocks = <8>;
|
||||
qcom,qspi-read-cmd-bytes = <4>;
|
||||
|
||||
pinctrl-0 = <&qup_qspi19_data_clk>, <&qup_qspi19_cs>,
|
||||
<&qup_qspi19_data23>,
|
||||
<&spi19_hid0_int_bias>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
dmas = <&gpi_dma2 0 3 QCOM_GPI_QSPI>,
|
||||
<&gpi_dma2 1 3 QCOM_GPI_QSPI>;
|
||||
dma-names = "tx", "rx";
|
||||
|
||||
touchpad: touchpad@0 {
|
||||
compatible = "hid-over-spi";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <20000000>;
|
||||
|
||||
interrupt-parent = <&tlmm>;
|
||||
interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
|
||||
|
||||
vdd-supply = <&vreg_ts_5p0>;
|
||||
|
||||
pinctrl-0 = <&spi19_hid0_reset_deassert>;
|
||||
pinctrl-1 = <&spi19_hid0_reset_assert>;
|
||||
pinctrl-names = "active", "reset";
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user