From nobody Mon Dec 15 21:46:53 2025 Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2881921764B for ; Tue, 25 Feb 2025 22:30:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740522643; cv=none; b=drBVKbZZ2OTv393KKSAO3QhyRxVFARWBy68W7rE0EdAvO0YDBUn887Ohs2/cVzzrU2GHZWJiom6Mg37D6qY7km/RmNpkxDXAQbR0v0stFTqIGXSI+XCcjiG94UZwWbZ2lu4AurU1GlgADvMEP9eiXr0BMAntI/CdZ3K0K889sUU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740522643; c=relaxed/simple; bh=LsqVGCjtMo5lMpVB8FHpQNoTpKeLzijmuixmRj5EbJI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=QEJIZZ0xiO+R9fGKCZe+zmKWJe357mzzYG9gcTBK1c5poHX07mvrJMknDcS+T5wVrINIi/tGA+WXQOC9z3K+DOLND0RKIVYnnZDpb3Oj+/er8aL5q3iaCjP2ug7mtQ3lAQDO3gnScv1Vu+XtCM8dX66poSnGRJ3U+jCpn1a7F7s= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=QUSOCo5T; arc=none smtp.client-ip=209.85.214.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="QUSOCo5T" Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-220e989edb6so169989275ad.1 for ; Tue, 25 Feb 2025 14:30:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1740522641; x=1741127441; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ApYHs/n7IfGYX7B4lQQ+p4O3G1a7OCsUKtghlEJmtj4=; b=QUSOCo5TMPV7m/c4IaFjN5LLiPUH9ZpqLA9nAIx7iqaZpDPHcWtF1mGO5Te2vGdI0t Tnmz96DYETSS8HRiR7nTsFAfFREL5jXY0gus8pJSFvzZKuYTxdV/YtxFbA9GVAJTsoxX 7sLOMp17vxRU6A5BLb8BwaM6OFD0rVQvAqZ8I= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740522641; x=1741127441; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ApYHs/n7IfGYX7B4lQQ+p4O3G1a7OCsUKtghlEJmtj4=; b=vUgCDRMpPto9PKnEBEcUhv5yYunFh2YqHo/30DUsi02yK6UMFcqd3nDHY+l99VeeJs l1svohHobLpCE+SzBuz1nWw/xhbxueJ0IxBU80qW/fSGfeltyeBlWfPRwIkS4jFnoXaf tnctr13GvvNj16jhAjeoTSCYIw8iPq1VAQEQvJ9fJae67A7bKjASBl7/ObBBckMPzYQM R8c/wntPbIPqRzdb+HJDBXcUjI5iowon1GcLLTENF9go6hozhI1kcuZuX6nqHhA9W28v EIugpPOIKNk7wvAhNPyJ0Lrk3O9DRtm4gh5tJWQDNH/TZ0v7ufsi22BozdF5ZfUozoe4 pHBA== X-Gm-Message-State: AOJu0Yxhebr+rLwbEnRIcdluZyankl3VZjkNbb5c3kUjRZ7qaMcuiNPg MJ5RBR1f1fObv74lamz7UkfaNH8Mip73MtPp52fhJITtXbtlKoGhXkz0EA05PA== X-Gm-Gg: ASbGnctr3rViXHLcEHKgmikbtqj4na4Qq9kxv9dhaNi6aC4Puc7MJC9Li0ijDm1OC4O 8GosnOdhvjsDKErLAKcVlTwOd/KWBk2xS20p6Y1uRkcPIfETGBTmy+1QuIg6aqD+OVUQ4AvbNoy dIoULznughr9Gq9tyhNuqERbMfvIQJbkdMdUY8jl7XvyfQuVTx+zP6fb8do3BlbY3MsRGR8Ojoh u2D2H2zqDHsp5iA8eakHTZ2wpCcBcYZIwnLFHA5OsfMMepdAxc5OtnJdyeoP18tgtDqFZgv2EOF kUNzkXaCfr+jz/cLVMlDHEKnqSWdmS+v9YfczIemIh7x4MNWguz+eB+qQZ5NCQmBcQ== X-Google-Smtp-Source: AGHT+IHW1xqPTBE6DlhH45+k6SdX/yDbLaHBxXJlSInk+OwmjcdfQ4C/YpQmsbuuwHQxPH6RrUiRJg== X-Received: by 2002:a17:902:cf10:b0:215:853d:38 with SMTP id d9443c01a7336-22307b59639mr75965445ad.25.1740522641460; Tue, 25 Feb 2025 14:30:41 -0800 (PST) Received: from localhost (222.246.125.34.bc.googleusercontent.com. [34.125.246.222]) by smtp.gmail.com with UTF8SMTPSA id 98e67ed59e1d1-2fe825baa7fsm78653a91.11.2025.02.25.14.30.40 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 25 Feb 2025 14:30:41 -0800 (PST) From: Stephen Boyd To: Konrad Dybcio , Bjorn Andersson Cc: linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, patches@lists.linux.dev, Rob Herring , Krzysztof Kozlowski , Conor Dooley , Benson Leung , devicetree@vger.kernel.org, chrome-platform@lists.linux.dev, Pin-yen Lin Subject: [PATCH v5 1/2] dt-bindings: usb: Add binding for ChromeOS Pogo pin keyboard connector Date: Tue, 25 Feb 2025 14:30:36 -0800 Message-ID: <20250225223038.879614-2-swboyd@chromium.org> X-Mailer: git-send-email 2.48.1.658.g4767266eb4-goog In-Reply-To: <20250225223038.879614-1-swboyd@chromium.org> References: <20250225223038.879614-1-swboyd@chromium.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Describe the set of pins used to connect the detachable keyboard on detachable ChromeOS devices. The set of pins is called the "pogo pins". It's basically USB 2.0 with an extra pin for base detection. We expect to find a keyboard on the other side of this connector with a specific vid/pid, so describe that as a child device at the port of the usb device connected upstream. Cc: Rob Herring Cc: Krzysztof Kozlowski Cc: Conor Dooley Cc: Benson Leung Cc: Cc: Cc: Pin-yen Lin Signed-off-by: Stephen Boyd Reviewed-by: Bjorn Andersson Reviewed-by: Rob Herring (Arm) --- .../usb/google,usb-pogo-keyboard.yaml | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 Documentation/devicetree/bindings/usb/google,usb-pogo-k= eyboard.yaml diff --git a/Documentation/devicetree/bindings/usb/google,usb-pogo-keyboard= .yaml b/Documentation/devicetree/bindings/usb/google,usb-pogo-keyboard.yaml new file mode 100644 index 000000000000..053c1cfed6d4 --- /dev/null +++ b/Documentation/devicetree/bindings/usb/google,usb-pogo-keyboard.yaml @@ -0,0 +1,68 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/usb/google,usb-pogo-keyboard.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Google USB Pogo Pin Keyboard + +maintainers: + - Stephen Boyd + +description: + ChromeOS devices with a detachable keyboard have a set of five pogo pins= that + are the typical four pins for USB (D+/D-, VBUS, GND) and an extra pin for + base detection. The detachable keyboard is a USB device that connects to= the + four USB pogo pins. + +properties: + compatible: + const: google,usb-pogo-keyboard + + '#address-cells': + const: 1 + + '#size-cells': + const: 0 + + port: + $ref: /schemas/graph.yaml#/properties/port + description: Connection to USB2 port providing USB HS signals + required: + - endpoint + +patternProperties: + '^keyboard@[0-9a-f]{1,2}$': + description: The detachable keyboard + type: object + $ref: /schemas/usb/usb-device.yaml + unevaluatedProperties: false + +required: + - compatible + - '#address-cells' + - '#size-cells' + - port + +additionalProperties: false + +examples: + - | + connector { + compatible =3D "google,usb-pogo-keyboard"; + #address-cells =3D <1>; + #size-cells =3D <0>; + + keyboard@2 { + compatible =3D "usb18d1,504c"; + reg =3D <2>; + }; + + port { + pogo_connector_in: endpoint { + remote-endpoint =3D <&usb_hub_dsp3_hs>; + }; + }; + }; + +... --=20 https://chromeos.dev From nobody Mon Dec 15 21:46:53 2025 Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AEE102192F0 for ; Tue, 25 Feb 2025 22:30:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740522647; cv=none; b=AH97Sr1YUQkI+PLaE1YXP+Vzrnf+OQZrBPJsDMVOE8Xk/1bsBeZfTMrynwa/oKEJi+g0MQu04++WuW8OzfWzCcz4UoXOUtFXwsnAN3V1YfytFvVUL9vZsCUmxEmD8dMqwCcvFIROPy+tjiDz7PZ47J6sMG33HHG2c6WsEoCk4Y0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740522647; c=relaxed/simple; bh=U8Tmllu36eRt1IvyE+drV86ujyrekgVtGiQRy2deoC0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=kT7pgjQEr/5DhMQjH03T6anMyUdCbFyawdjsQw1ZDL8QBml/hthIIKfKdAg0Kq1KjlFiK5JW6QX3P1zzHv/RrIN+6i43OI5xqSpf3cGWOQo4b417S8Fj1LDm5f0swBp6SaOe5EUpsNomqF/kvFxbNBfDUqyqoXHXMoJCiH6A290= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=Wp9XkMmJ; arc=none smtp.client-ip=209.85.214.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="Wp9XkMmJ" Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-22328dca22fso137995ad.1 for ; Tue, 25 Feb 2025 14:30:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1740522643; x=1741127443; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=fFOFDJTlvBOkHKCK42HjTvHHM9LFtDeP2UVxz+Mu6EE=; b=Wp9XkMmJZR9StSZoKT5qYjk8b7r6yVO0NJLEU7ofxC0945GB0K3zal5u47ENVEgobS bcQj7RxcWls/+r6Z2la9kbiUzL2gvMeYjNsMJLsynDwDa4/6n+9szwTe3LFCpkYr3yxL tcn90Y/+UGH3o3LPmABA6fUAgz4r9IoYlW6eY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740522643; x=1741127443; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fFOFDJTlvBOkHKCK42HjTvHHM9LFtDeP2UVxz+Mu6EE=; b=I9kcrBPsBL5/eo6WKUKhdI3+bNbLIoOgIrSf4kUIhAu35ftRBzPL/pMQGUBzcYFUXP A730WSXzvvjPYwulT7Y3xZIODypjQeXcaeWp76ZSi6j6Hg0m2qHoUhbaA+Gkwy/Dpgo4 /CF7m91mtSIPIsAmiav2BWjdFAGG0uga02lxtC6S8sgARRUGx1XpFXqCUxxqmSxaonPF f1gGEM3TmcyX0j+MU9T9VdpREjB3EQ0mbW5nCOrpGKwyAUQ2XSqYca06LjbB54U9ZIFA 3A1mkANE2DMaYpstU9LzQ3mSHN00cwKkrzaphqTzlvKSJuE9mLj5aRiK0XK80wb0bf1f 3bng== X-Gm-Message-State: AOJu0YzXMPz3afJvlLe4x5aFXIlHQauW5qR9id/RSPBm2RNxlnNMn1GD pITmf2TilDAfrzFcfKIYwEIcs915cLXLe1bGcrDG1f3vvQDl1egT/69L0iFFYw== X-Gm-Gg: ASbGncvGuoCYPbDjTfPw5pZ/e7H5sgaHhmyN2ZCZOUMfGki0UHbhGqNYiIhaEn5YyW/ CUdhHUhOeSmDcl/pSVejPfAg0WC0jLUH3rpYDJpS4B6iULhJahmWRKyK1mQS3lBAp1XKlM9Boqx vCiGGOwIispvXYSaykchzity+3+caGQUQBp+tfXHnpxVzRbrmzkGPvK/htzrabwx7PKrhPLjQbk vIzJne65FOvVTem1HJoD38d5CBKZC9YqCS5+ejIWrX6TbaPtRXUapODm325XAZHhiF6sjwRpsqP mwXjn5R9jw2tnF696MvTNX7acUbLDDLmuOMrJYwMp3mKKDn7C3eiPDmkFVgTLt+F7g== X-Google-Smtp-Source: AGHT+IG5ubq9eET1ZC4GhM61uEK4jdNNkzhNZAdlklWE3e1rQelT1NMzbLfuXTScqK53VKJ8CfOM2Q== X-Received: by 2002:a17:902:e5c9:b0:220:cd61:c03b with SMTP id d9443c01a7336-22307b4cc22mr79637205ad.21.1740522643010; Tue, 25 Feb 2025 14:30:43 -0800 (PST) Received: from localhost (222.246.125.34.bc.googleusercontent.com. [34.125.246.222]) by smtp.gmail.com with UTF8SMTPSA id d9443c01a7336-2230a092d61sm19521635ad.116.2025.02.25.14.30.42 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 25 Feb 2025 14:30:42 -0800 (PST) From: Stephen Boyd To: Konrad Dybcio , Bjorn Andersson Cc: linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, patches@lists.linux.dev, cros-qcom-dts-watchers@chromium.org, Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , devicetree@vger.kernel.org, Pin-yen Lin Subject: [PATCH v5 2/2] arm64: dts: qcom: sc7180-trogdor: Wire up USB to usb-c-connectors Date: Tue, 25 Feb 2025 14:30:37 -0800 Message-ID: <20250225223038.879614-3-swboyd@chromium.org> X-Mailer: git-send-email 2.48.1.658.g4767266eb4-goog In-Reply-To: <20250225223038.879614-1-swboyd@chromium.org> References: <20250225223038.879614-1-swboyd@chromium.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Fully describe the USB type-c on sc7180 Trogdor devices. Most Trogdor devices have two USB type-c ports (i.e. usb-c-connector nodes), but Quackingstick only has one. Also, clamshell devices such as Lazor have a USB webcam connected to the USB hub, while detachable devices such as Wormdingler don't have a webcam, or a USB type-a connector. Instead they have the pogo pins for the detachable keyboard. Fully describing the topology like this will let us expose information about what devices are connected to which physical USB connector (type-A or type-C). Cc: Cc: Bjorn Andersson Acked-by: Konrad Dybcio Cc: Rob Herring Cc: Krzysztof Kozlowski Cc: Conor Dooley Cc: Cc: Cc: Pin-yen Lin Signed-off-by: Stephen Boyd Reviewed-by: Dmitry Baryshkov --- .../dts/qcom/sc7180-trogdor-clamshell.dtsi | 21 +++ .../boot/dts/qcom/sc7180-trogdor-coachz.dtsi | 47 +++++++ .../dts/qcom/sc7180-trogdor-detachable.dtsi | 16 +++ .../dts/qcom/sc7180-trogdor-homestar.dtsi | 47 +++++++ .../dts/qcom/sc7180-trogdor-kingoftown.dts | 55 ++++++++ .../boot/dts/qcom/sc7180-trogdor-lazor.dtsi | 55 ++++++++ .../boot/dts/qcom/sc7180-trogdor-pazquel.dtsi | 55 ++++++++ .../boot/dts/qcom/sc7180-trogdor-pompom.dtsi | 44 +++++++ .../qcom/sc7180-trogdor-quackingstick.dtsi | 31 +++++ .../arm64/boot/dts/qcom/sc7180-trogdor-r1.dts | 57 ++++++++- .../dts/qcom/sc7180-trogdor-wormdingler.dtsi | 47 +++++++ arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 121 ++++++++++++++++++ 12 files changed, 594 insertions(+), 2 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-clamshell.dtsi b/arch/= arm64/boot/dts/qcom/sc7180-trogdor-clamshell.dtsi index d91533b80e76..4e4f0b239f3c 100644 --- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-clamshell.dtsi +++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-clamshell.dtsi @@ -7,3 +7,24 @@ =20 /* This file must be included after sc7180-trogdor.dtsi to modify cros_ec = */ #include + +/ { + usb-a-connector { + compatible =3D "usb-a-connector"; + + port { + #address-cells =3D <1>; + #size-cells =3D <0>; + + usb_a0_hs: endpoint@0 { + reg =3D <0>; + /* Endpoint filled in by board */ + }; + + usb_a0_ss: endpoint@1 { + reg =3D <1>; + /* Endpoint filled in by board */ + }; + }; + }; +}; diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi b/arch/arm= 64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi index 25b17b0425f2..548d6c1ee050 100644 --- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi +++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi @@ -134,6 +134,17 @@ skin-temp-thermistor@1 { }; }; =20 +&pogo_pins { + keyboard@4 { + compatible =3D "usb18d1,504c"; + reg =3D <4>; + }; +}; + +&pogo_pins_in { + remote-endpoint =3D <&usb_hub_dfp4_hs>; +}; + &pp1800_uf_cam { status =3D "okay"; }; @@ -175,6 +186,42 @@ &sound_multimedia0_codec { sound-dai =3D <&adau7002>; }; =20 +&usb_c0_hs { + remote-endpoint =3D <&usb_hub_dfp1_hs>; +}; + +&usb_c0_ss { + remote-endpoint =3D <&usb_hub_dfp1_ss>; +}; + +&usb_c1_hs { + remote-endpoint =3D <&usb_hub_dfp2_hs>; +}; + +&usb_c1_ss { + remote-endpoint =3D <&usb_hub_dfp2_ss>; +}; + +&usb_hub_dfp1_hs { + remote-endpoint =3D <&usb_c0_hs>; +}; + +&usb_hub_dfp1_ss { + remote-endpoint =3D <&usb_c0_ss>; +}; + +&usb_hub_dfp2_hs { + remote-endpoint =3D <&usb_c1_hs>; +}; + +&usb_hub_dfp2_ss { + remote-endpoint =3D <&usb_c1_ss>; +}; + +&usb_hub_dfp4_hs { + remote-endpoint =3D <&pogo_pins_in>; +}; + /* PINCTRL - modifications to sc7180-trogdor.dtsi */ =20 &en_pp3300_dx_edp { diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-detachable.dtsi b/arch= /arm64/boot/dts/qcom/sc7180-trogdor-detachable.dtsi index 7c5d8a57ef7f..3847c10c64c9 100644 --- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-detachable.dtsi +++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-detachable.dtsi @@ -6,6 +6,22 @@ */ =20 /* This file must be included after sc7180-trogdor.dtsi to modify cros_ec = */ + +/ { + pogo_pins: keyboard-connector { + compatible =3D "google,usb-pogo-keyboard"; + #address-cells =3D <1>; + #size-cells =3D <0>; + + /* Detachable keyboard filled in by board */ + port { + pogo_pins_in: endpoint { + /* Endpoint filled in by board */ + }; + }; + }; +}; + &cros_ec { keyboard-controller { compatible =3D "google,cros-ec-keyb-switches"; diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-homestar.dtsi b/arch/a= rm64/boot/dts/qcom/sc7180-trogdor-homestar.dtsi index f57976906d63..09c4a30d96ef 100644 --- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-homestar.dtsi +++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-homestar.dtsi @@ -159,6 +159,17 @@ skin-temp-thermistor@1 { }; }; =20 +&pogo_pins { + keyboard@3 { + compatible =3D "usb18d1,5052"; + reg =3D <3>; + }; +}; + +&pogo_pins_in { + remote-endpoint =3D <&usb_hub_dfp3_hs>; +}; + &pp1800_uf_cam { status =3D "okay"; }; @@ -187,6 +198,42 @@ &sound_multimedia1_codec { sound-dai =3D <&max98360a>, <&max98360a_1>, <&max98360a_2>, <&max98360a_3= > ; }; =20 +&usb_c0_hs { + remote-endpoint =3D <&usb_hub_dfp2_hs>; +}; + +&usb_c0_ss { + remote-endpoint =3D <&usb_hub_dfp2_ss>; +}; + +&usb_c1_hs { + remote-endpoint =3D <&usb_hub_dfp4_hs>; +}; + +&usb_c1_ss { + remote-endpoint =3D <&usb_hub_dfp4_ss>; +}; + +&usb_hub_dfp2_hs { + remote-endpoint =3D <&usb_c0_hs>; +}; + +&usb_hub_dfp2_ss { + remote-endpoint =3D <&usb_c0_ss>; +}; + +&usb_hub_dfp3_hs { + remote-endpoint =3D <&pogo_pins_in>; +}; + +&usb_hub_dfp4_hs { + remote-endpoint =3D <&usb_c1_hs>; +}; + +&usb_hub_dfp4_ss { + remote-endpoint =3D <&usb_c1_ss>; +}; + &wifi { qcom,ath10k-calibration-variant =3D "GO_HOMESTAR"; }; diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-kingoftown.dts b/arch/= arm64/boot/dts/qcom/sc7180-trogdor-kingoftown.dts index 655bea928e52..d4ff26fba3be 100644 --- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-kingoftown.dts +++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-kingoftown.dts @@ -78,6 +78,61 @@ &pp3300_dx_edp { gpio =3D <&tlmm 67 GPIO_ACTIVE_HIGH>; }; =20 +&usb_a0_hs { + remote-endpoint =3D <&usb_hub_dfp3_hs>; +}; + +&usb_a0_ss { + remote-endpoint =3D <&usb_hub_dfp3_ss>; +}; + +&usb_c0_hs { + remote-endpoint =3D <&usb_hub_dfp1_hs>; +}; + +&usb_c0_ss { + remote-endpoint =3D <&usb_hub_dfp1_ss>; +}; + +&usb_c1_hs { + remote-endpoint =3D <&usb_hub_dfp2_hs>; +}; + +&usb_c1_ss { + remote-endpoint =3D <&usb_hub_dfp2_ss>; +}; + +&usb_hub_2_x { + camera@4 { + compatible =3D "usb4f2,b75a"; + reg =3D <4>; + }; +}; + +&usb_hub_dfp1_hs { + remote-endpoint =3D <&usb_c0_hs>; +}; + +&usb_hub_dfp1_ss { + remote-endpoint =3D <&usb_c0_ss>; +}; + +&usb_hub_dfp2_hs { + remote-endpoint =3D <&usb_c1_hs>; +}; + +&usb_hub_dfp2_ss { + remote-endpoint =3D <&usb_c1_ss>; +}; + +&usb_hub_dfp3_hs { + remote-endpoint =3D <&usb_a0_hs>; +}; + +&usb_hub_dfp3_ss { + remote-endpoint =3D <&usb_a0_ss>; +}; + &wifi { qcom,ath10k-calibration-variant =3D "GO_KINGOFTOWN"; }; diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor.dtsi b/arch/arm6= 4/boot/dts/qcom/sc7180-trogdor-lazor.dtsi index c3fd6760de7a..7b545ae5791b 100644 --- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor.dtsi +++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor.dtsi @@ -68,6 +68,61 @@ &trackpad { interrupts =3D <58 IRQ_TYPE_EDGE_FALLING>; }; =20 +&usb_a0_hs { + remote-endpoint =3D <&usb_hub_dfp3_hs>; +}; + +&usb_a0_ss { + remote-endpoint =3D <&usb_hub_dfp3_ss>; +}; + +&usb_c0_hs { + remote-endpoint =3D <&usb_hub_dfp2_hs>; +}; + +&usb_c0_ss { + remote-endpoint =3D <&usb_hub_dfp2_ss>; +}; + +&usb_c1_hs { + remote-endpoint =3D <&usb_hub_dfp4_hs>; +}; + +&usb_c1_ss { + remote-endpoint =3D <&usb_hub_dfp4_ss>; +}; + +&usb_hub_2_x { + camera@1 { + compatible =3D "usb408,a092"; + reg =3D <1>; + }; +}; + +&usb_hub_dfp2_hs { + remote-endpoint =3D <&usb_c0_hs>; +}; + +&usb_hub_dfp2_ss { + remote-endpoint =3D <&usb_c0_ss>; +}; + +&usb_hub_dfp3_hs { + remote-endpoint =3D <&usb_a0_hs>; +}; + +&usb_hub_dfp3_ss { + remote-endpoint =3D <&usb_a0_ss>; +}; + +&usb_hub_dfp4_hs { + remote-endpoint =3D <&usb_c1_hs>; +}; + +&usb_hub_dfp4_ss { + remote-endpoint =3D <&usb_c1_ss>; +}; + &wifi { qcom,ath10k-calibration-variant =3D "GO_LAZOR"; }; diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-pazquel.dtsi b/arch/ar= m64/boot/dts/qcom/sc7180-trogdor-pazquel.dtsi index cc2c5610a279..9523843f06ab 100644 --- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-pazquel.dtsi +++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-pazquel.dtsi @@ -82,6 +82,61 @@ &pp3300_dx_edp { gpio =3D <&tlmm 67 GPIO_ACTIVE_HIGH>; }; =20 +&usb_a0_hs { + remote-endpoint =3D <&usb_hub_dfp3_hs>; +}; + +&usb_a0_ss { + remote-endpoint =3D <&usb_hub_dfp3_ss>; +}; + +&usb_c0_hs { + remote-endpoint =3D <&usb_hub_dfp1_hs>; +}; + +&usb_c0_ss { + remote-endpoint =3D <&usb_hub_dfp1_ss>; +}; + +&usb_c1_hs { + remote-endpoint =3D <&usb_hub_dfp2_hs>; +}; + +&usb_c1_ss { + remote-endpoint =3D <&usb_hub_dfp2_ss>; +}; + +&usb_hub_2_x { + camera@4 { + compatible =3D "usb5c8,b03"; + reg =3D <4>; + }; +}; + +&usb_hub_dfp1_hs { + remote-endpoint =3D <&usb_c0_hs>; +}; + +&usb_hub_dfp1_ss { + remote-endpoint =3D <&usb_c0_ss>; +}; + +&usb_hub_dfp2_hs { + remote-endpoint =3D <&usb_c1_hs>; +}; + +&usb_hub_dfp2_ss { + remote-endpoint =3D <&usb_c1_ss>; +}; + +&usb_hub_dfp3_hs { + remote-endpoint =3D <&usb_a0_hs>; +}; + +&usb_hub_dfp3_ss { + remote-endpoint =3D <&usb_a0_ss>; +}; + /* PINCTRL - modifications to sc7180-trogdor.dtsi */ =20 &en_pp3300_dx_edp { diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-pompom.dtsi b/arch/arm= 64/boot/dts/qcom/sc7180-trogdor-pompom.dtsi index f7300ffbb451..4cc1a155d999 100644 --- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-pompom.dtsi +++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-pompom.dtsi @@ -176,10 +176,54 @@ &sound { dmic-gpios =3D <&tlmm 86 GPIO_ACTIVE_HIGH>; }; =20 +&usb_a0_hs { + remote-endpoint =3D <&usb_hub_dfp4_hs>; +}; + +&usb_a0_ss { + remote-endpoint =3D <&usb_hub_dfp4_ss>; +}; + +&usb_c0_hs { + remote-endpoint =3D <&usb_hub_dfp3_hs>; +}; + +&usb_c0_ss { + remote-endpoint =3D <&usb_hub_dfp3_ss>; +}; + &usb_c1 { status =3D "disabled"; }; =20 +&usb_hub_2_x { + camera@1 { + compatible =3D "usb4f2,b718"; + reg =3D <1>; + }; + + camera@2 { + compatible =3D "usb13d3,56e9"; + reg =3D <2>; + }; +}; + +&usb_hub_dfp3_hs { + remote-endpoint =3D <&usb_c0_hs>; +}; + +&usb_hub_dfp3_ss { + remote-endpoint =3D <&usb_c0_ss>; +}; + +&usb_hub_dfp4_hs { + remote-endpoint =3D <&usb_a0_hs>; +}; + +&usb_hub_dfp4_ss { + remote-endpoint =3D <&usb_a0_ss>; +}; + &wifi { qcom,ath10k-calibration-variant =3D "GO_POMPOM"; }; diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-quackingstick.dtsi b/a= rch/arm64/boot/dts/qcom/sc7180-trogdor-quackingstick.dtsi index ff8996b4de4e..174efd3abfa5 100644 --- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-quackingstick.dtsi +++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-quackingstick.dtsi @@ -105,6 +105,17 @@ &sdhc_2 { status =3D "okay"; }; =20 +&pogo_pins { + keyboard@1 { + compatible =3D "usb18d1,505b"; + reg =3D <1>; + }; +}; + +&pogo_pins_in { + remote-endpoint =3D <&usb_hub_dfp1_hs>; +}; + &pp1800_uf_cam { status =3D "okay"; }; @@ -129,11 +140,31 @@ pp3300_disp_on: &pp3300_dx_edp { gpio =3D <&tlmm 67 GPIO_ACTIVE_HIGH>; }; =20 +&usb_c0_hs { + remote-endpoint =3D <&usb_hub_dfp2_hs>; +}; + +&usb_c0_ss { + remote-endpoint =3D <&usb_hub_dfp2_ss>; +}; + /* This board only has 1 USB Type-C port. */ &usb_c1 { status =3D "disabled"; }; =20 +&usb_hub_dfp2_hs { + remote-endpoint =3D <&usb_c0_hs>; +}; + +&usb_hub_dfp2_ss { + remote-endpoint =3D <&usb_c0_ss>; +}; + +&usb_hub_dfp1_hs { + remote-endpoint =3D <&pogo_pins_in>; +}; + /* PINCTRL - modifications to sc7180-trogdor.dtsi */ =20 /* diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-r1.dts b/arch/arm64/bo= ot/dts/qcom/sc7180-trogdor-r1.dts index d393a2712ce6..5b1544108bca 100644 --- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-r1.dts +++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-r1.dts @@ -52,12 +52,65 @@ &trackpad { interrupts =3D <58 IRQ_TYPE_EDGE_FALLING>; }; =20 +&usb_a0_hs { + remote-endpoint =3D <&usb_hub_dfp3_hs>; +}; + +&usb_a0_ss { + remote-endpoint =3D <&usb_hub_dfp3_ss>; +}; + +&usb_c0_hs { + remote-endpoint =3D <&usb_hub_dfp2_hs>; +}; + +&usb_c0_ss { + remote-endpoint =3D <&usb_hub_dfp2_ss>; +}; + +&usb_c1_hs { + remote-endpoint =3D <&usb_hub_dfp4_hs>; +}; + +&usb_c1_ss { + remote-endpoint =3D <&usb_hub_dfp4_ss>; +}; + &usb_hub_2_x { - vdd-supply =3D <&pp3300_l7c>; + vdd-supply =3D <&pp3300_l7c>; + + camera@1 { + compatible =3D "usb4f2,b567"; + reg =3D <1>; + }; }; =20 &usb_hub_3_x { - vdd-supply =3D <&pp3300_l7c>; + vdd-supply =3D <&pp3300_l7c>; +}; + +&usb_hub_dfp2_hs { + remote-endpoint =3D <&usb_c0_hs>; +}; + +&usb_hub_dfp2_ss { + remote-endpoint =3D <&usb_c0_ss>; +}; + +&usb_hub_dfp3_hs { + remote-endpoint =3D <&usb_a0_hs>; +}; + +&usb_hub_dfp3_ss { + remote-endpoint =3D <&usb_a0_ss>; +}; + +&usb_hub_dfp4_hs { + remote-endpoint =3D <&usb_c1_hs>; +}; + +&usb_hub_dfp4_ss { + remote-endpoint =3D <&usb_c1_ss>; }; =20 /* PINCTRL - modifications to sc7180-trogdor.dtsi */ diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-wormdingler.dtsi b/arc= h/arm64/boot/dts/qcom/sc7180-trogdor-wormdingler.dtsi index d4925be3b1fc..59cdf8eea647 100644 --- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-wormdingler.dtsi +++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-wormdingler.dtsi @@ -179,6 +179,17 @@ skin-temp-thermistor@1 { }; }; =20 +&pogo_pins { + keyboard@3 { + compatible =3D "usb18d1,5057"; + reg =3D <3>; + }; +}; + +&pogo_pins_in { + remote-endpoint =3D <&usb_hub_dfp3_hs>; +}; + &pp1800_uf_cam { status =3D "okay"; }; @@ -195,6 +206,42 @@ &pp2800_wf_cam { status =3D "okay"; }; =20 +&usb_c0_hs { + remote-endpoint =3D <&usb_hub_dfp2_hs>; +}; + +&usb_c0_ss { + remote-endpoint =3D <&usb_hub_dfp2_ss>; +}; + +&usb_c1_hs { + remote-endpoint =3D <&usb_hub_dfp4_hs>; +}; + +&usb_c1_ss { + remote-endpoint =3D <&usb_hub_dfp3_ss>; +}; + +&usb_hub_dfp2_hs { + remote-endpoint =3D <&usb_c0_hs>; +}; + +&usb_hub_dfp2_ss { + remote-endpoint =3D <&usb_c0_ss>; +}; + +&usb_hub_dfp4_hs { + remote-endpoint =3D <&usb_c1_hs>; +}; + +&usb_hub_dfp3_ss { + remote-endpoint =3D <&usb_c1_ss>; +}; + +&usb_hub_dfp3_hs { + remote-endpoint =3D <&pogo_pins_in>; +}; + &wifi { qcom,ath10k-calibration-variant =3D "GO_WORMDINGLER"; }; diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi b/arch/arm64/boot= /dts/qcom/sc7180-trogdor.dtsi index 74ab321d3333..f096ab402e84 100644 --- a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi +++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi @@ -673,6 +673,27 @@ usb_c0: connector@0 { power-role =3D "dual"; data-role =3D "host"; try-power-role =3D "source"; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + usb_c0_hs: endpoint { + /* Endpoint filled in by board */ + }; + }; + + port@1 { + reg =3D <1>; + + usb_c0_ss: endpoint { + /* Endpoint filled in by board */ + }; + }; + }; }; =20 usb_c1: connector@1 { @@ -682,6 +703,27 @@ usb_c1: connector@1 { power-role =3D "dual"; data-role =3D "host"; try-power-role =3D "source"; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + usb_c1_hs: endpoint { + /* Endpoint filled in by board */ + }; + }; + + port@1 { + reg =3D <1>; + + usb_c1_ss: endpoint { + /* Endpoint filled in by board */ + }; + }; + }; }; }; }; @@ -966,6 +1008,45 @@ usb_hub_2_x: hub@1 { reg =3D <1>; vdd-supply =3D <&pp3300_hub>; peer-hub =3D <&usb_hub_3_x>; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@1 { + reg =3D <1>; + + usb_hub_dfp1_hs: endpoint { + /* Endpoint filled in by board */ + }; + }; + port@2 { + reg =3D <2>; + + usb_hub_dfp2_hs: endpoint { + /* Endpoint filled in by board */ + }; + }; + + port@3 { + reg =3D <3>; + + usb_hub_dfp3_hs: endpoint { + /* Endpoint filled in by board */ + }; + }; + + port@4 { + reg =3D <4>; + + usb_hub_dfp4_hs: endpoint { + /* Endpoint filled in by board */ + }; + }; + }; }; =20 /* 3.x hub on port 2 */ @@ -974,6 +1055,46 @@ usb_hub_3_x: hub@2 { reg =3D <2>; vdd-supply =3D <&pp3300_hub>; peer-hub =3D <&usb_hub_2_x>; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@1 { + reg =3D <1>; + + usb_hub_dfp1_ss: endpoint { + /* Endpoint filled in by board */ + }; + }; + + port@2 { + reg =3D <2>; + + usb_hub_dfp2_ss: endpoint { + /* Endpoint filled in by board */ + }; + }; + + port@3 { + reg =3D <3>; + + usb_hub_dfp3_ss: endpoint { + /* Endpoint filled in by board */ + }; + }; + + port@4 { + reg =3D <4>; + + usb_hub_dfp4_ss: endpoint { + /* Endpoint filled in by board */ + }; + }; + }; }; }; =20 --=20 https://chromeos.dev