1*248da168SKshitiz Godara// SPDX-License-Identifier: BSD-3-Clause
2*248da168SKshitiz Godara/*
3*248da168SKshitiz Godara * sc7280 EC/H1 over SPI (common between IDP2 and CRD)
4*248da168SKshitiz Godara *
5*248da168SKshitiz Godara * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
6*248da168SKshitiz Godara */
7*248da168SKshitiz Godara
8*248da168SKshitiz Godaraap_ec_spi: &spi10 {
9*248da168SKshitiz Godara	status = "okay";
10*248da168SKshitiz Godara
11*248da168SKshitiz Godara	pinctrl-0 = <&qup_spi10_data_clk>, <&qup_spi10_cs_gpio_init_high>, <&qup_spi10_cs_gpio>;
12*248da168SKshitiz Godara	cs-gpios = <&tlmm 43 GPIO_ACTIVE_LOW>;
13*248da168SKshitiz Godara
14*248da168SKshitiz Godara	cros_ec: ec@0 {
15*248da168SKshitiz Godara		compatible = "google,cros-ec-spi";
16*248da168SKshitiz Godara		reg = <0>;
17*248da168SKshitiz Godara		interrupt-parent = <&tlmm>;
18*248da168SKshitiz Godara		interrupts = <18 IRQ_TYPE_LEVEL_LOW>;
19*248da168SKshitiz Godara		pinctrl-names = "default";
20*248da168SKshitiz Godara		pinctrl-0 = <&ap_ec_int_l>;
21*248da168SKshitiz Godara		spi-max-frequency = <3000000>;
22*248da168SKshitiz Godara
23*248da168SKshitiz Godara		cros_ec_pwm: ec-pwm {
24*248da168SKshitiz Godara			compatible = "google,cros-ec-pwm";
25*248da168SKshitiz Godara			#pwm-cells = <1>;
26*248da168SKshitiz Godara		};
27*248da168SKshitiz Godara
28*248da168SKshitiz Godara		i2c_tunnel: i2c-tunnel {
29*248da168SKshitiz Godara			compatible = "google,cros-ec-i2c-tunnel";
30*248da168SKshitiz Godara			google,remote-bus = <0>;
31*248da168SKshitiz Godara			#address-cells = <1>;
32*248da168SKshitiz Godara			#size-cells = <0>;
33*248da168SKshitiz Godara		};
34*248da168SKshitiz Godara
35*248da168SKshitiz Godara		typec {
36*248da168SKshitiz Godara			compatible = "google,cros-ec-typec";
37*248da168SKshitiz Godara			#address-cells = <1>;
38*248da168SKshitiz Godara			#size-cells = <0>;
39*248da168SKshitiz Godara
40*248da168SKshitiz Godara			usb_c0: connector@0 {
41*248da168SKshitiz Godara				compatible = "usb-c-connector";
42*248da168SKshitiz Godara				reg = <0>;
43*248da168SKshitiz Godara				label = "left";
44*248da168SKshitiz Godara				power-role = "dual";
45*248da168SKshitiz Godara				data-role = "host";
46*248da168SKshitiz Godara				try-power-role = "source";
47*248da168SKshitiz Godara			};
48*248da168SKshitiz Godara
49*248da168SKshitiz Godara			usb_c1: connector@1 {
50*248da168SKshitiz Godara				compatible = "usb-c-connector";
51*248da168SKshitiz Godara				reg = <1>;
52*248da168SKshitiz Godara				label = "right";
53*248da168SKshitiz Godara				power-role = "dual";
54*248da168SKshitiz Godara				data-role = "host";
55*248da168SKshitiz Godara				try-power-role = "source";
56*248da168SKshitiz Godara			};
57*248da168SKshitiz Godara		};
58*248da168SKshitiz Godara	};
59*248da168SKshitiz Godara};
60*248da168SKshitiz Godara
61*248da168SKshitiz Godara#include <arm/cros-ec-keyboard.dtsi>
62*248da168SKshitiz Godara#include <arm/cros-ec-sbs.dtsi>
63*248da168SKshitiz Godara
64*248da168SKshitiz Godaraap_h1_spi: &spi14 {
65*248da168SKshitiz Godara	status = "okay";
66*248da168SKshitiz Godara
67*248da168SKshitiz Godara	pinctrl-0 = <&qup_spi14_data_clk>, <&qup_spi14_cs_gpio_init_high>, <&qup_spi14_cs_gpio>;
68*248da168SKshitiz Godara	cs-gpios = <&tlmm 59 GPIO_ACTIVE_LOW>;
69*248da168SKshitiz Godara
70*248da168SKshitiz Godara	cr50: tpm@0 {
71*248da168SKshitiz Godara		compatible = "google,cr50";
72*248da168SKshitiz Godara		reg = <0>;
73*248da168SKshitiz Godara		pinctrl-names = "default";
74*248da168SKshitiz Godara		pinctrl-0 = <&h1_ap_int_odl>;
75*248da168SKshitiz Godara		spi-max-frequency = <800000>;
76*248da168SKshitiz Godara		interrupt-parent = <&tlmm>;
77*248da168SKshitiz Godara		interrupts = <104 IRQ_TYPE_EDGE_RISING>;
78*248da168SKshitiz Godara	};
79*248da168SKshitiz Godara};
80*248da168SKshitiz Godara
81*248da168SKshitiz Godara&tlmm {
82*248da168SKshitiz Godara	ap_ec_int_l: ap-ec-int-l {
83*248da168SKshitiz Godara		pins = "gpio18";
84*248da168SKshitiz Godara		function = "gpio";
85*248da168SKshitiz Godara		input-enable;
86*248da168SKshitiz Godara		bias-pull-up;
87*248da168SKshitiz Godara	};
88*248da168SKshitiz Godara
89*248da168SKshitiz Godara	h1_ap_int_odl: h1-ap-int-odl {
90*248da168SKshitiz Godara		pins = "gpio104";
91*248da168SKshitiz Godara		function = "gpio";
92*248da168SKshitiz Godara		input-enable;
93*248da168SKshitiz Godara		bias-pull-up;
94*248da168SKshitiz Godara	};
95*248da168SKshitiz Godara
96*248da168SKshitiz Godara	qup_spi10_cs_gpio_init_high: qup-spi10-cs-gpio-init-high {
97*248da168SKshitiz Godara		pins = "gpio43";
98*248da168SKshitiz Godara		output-high;
99*248da168SKshitiz Godara	};
100*248da168SKshitiz Godara
101*248da168SKshitiz Godara	qup_spi14_cs_gpio_init_high: qup-spi14-cs-gpio-init-high {
102*248da168SKshitiz Godara		pins = "gpio59";
103*248da168SKshitiz Godara		output-high;
104*248da168SKshitiz Godara	};
105*248da168SKshitiz Godara};
106