* [PATCH v5 0/2] arm64: dts: qcom: sc7180-trogdor: Wire up USB @ 2025-02-25 22:30 Stephen Boyd 2025-02-25 22:30 ` [PATCH v5 1/2] dt-bindings: usb: Add binding for ChromeOS Pogo pin keyboard connector Stephen Boyd 0 siblings, 1 reply; 5+ messages in thread From: Stephen Boyd @ 2025-02-25 22:30 UTC (permalink / raw) To: Konrad Dybcio, Bjorn Andersson Cc: linux-kernel, linux-arm-msm, patches, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Benson Leung, devicetree, chrome-platform, Pin-yen Lin, cros-qcom-dts-watchers Wiring up the USB hub to the connectors allows us to gain the proper 'connect_type' and 'removable' values in sysfs for the USB devices on sc7180 trogdor devices. These two patches are split off of a larger series[1] so they can land faster and because we've come to the conclusion that the DisplayPort path is going to connect to the cros-ec-typec node, not the usb-c-connector node. The first patch adds the pogo pin binding to describe the detachable keyboards found on some trogdor devices (actually strongbad). The second patch is the dts changes required to wire up all the USB stuff. This is sufficient to set the sysfs properties for USB devices so that the builtin USB webcam is considered "fixed" or hard-wired while devices plugged into the connectors or the keyboard are considered "removable" or hotpluggable. Changes from v4 https://lore.kernel.org/r/20250221233120.3596158-1-swboyd@chromium.org * Add newline after property before child node * Pick up ack from Konrad Changes from v3 https://lore.kernel.org/r/20250210225714.1073618-1-swboyd@chromium.org * Consistent quotes in binding * Drop unused labels on hub ports Changes from v2 https://lore.kernel.org/r/20250205233016.1600517-1-swboyd@chromium.org * Make binding specific to keyboard and move to usb/ * Update dts to reflect new compatible string for pogo pin keyboard Changes from v1 https://lore.kernel.org/r/20240210070934.2549994-1-swboyd@chromium.org * Split out of larger series * Added description to DT binding * Removed DP part of dts changes [1] https://lore.kernel.org/r/20240210070934.2549994-1-swboyd@chromium.org Cc: Rob Herring <robh@kernel.org> Cc: Krzysztof Kozlowski <krzk+dt@kernel.org> Cc: Conor Dooley <conor+dt@kernel.org> Cc: Benson Leung <bleung@chromium.org> Cc: <devicetree@vger.kernel.org> Cc: <chrome-platform@lists.linux.dev> Cc: Pin-yen Lin <treapking@chromium.org> Cc: <cros-qcom-dts-watchers@chromium.org> Stephen Boyd (2): dt-bindings: usb: Add binding for ChromeOS Pogo pin keyboard connector arm64: dts: qcom: sc7180-trogdor: Wire up USB to usb-c-connectors .../usb/google,usb-pogo-keyboard.yaml | 68 ++++++++++ .../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 ++++++++++++++++++ 13 files changed, 662 insertions(+), 2 deletions(-) create mode 100644 Documentation/devicetree/bindings/usb/google,usb-pogo-keyboard.yaml base-commit: 2014c95afecee3e76ca4a56956a936e23283f05b -- https://chromeos.dev ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v5 1/2] dt-bindings: usb: Add binding for ChromeOS Pogo pin keyboard connector 2025-02-25 22:30 [PATCH v5 0/2] arm64: dts: qcom: sc7180-trogdor: Wire up USB Stephen Boyd @ 2025-02-25 22:30 ` Stephen Boyd 2025-02-26 15:54 ` Rob Herring (Arm) 2025-06-10 17:34 ` Bjorn Andersson 0 siblings, 2 replies; 5+ messages in thread From: Stephen Boyd @ 2025-02-25 22:30 UTC (permalink / raw) To: Konrad Dybcio, Bjorn Andersson Cc: linux-kernel, linux-arm-msm, patches, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Benson Leung, devicetree, chrome-platform, Pin-yen Lin 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 <robh@kernel.org> Cc: Krzysztof Kozlowski <krzk+dt@kernel.org> Cc: Conor Dooley <conor+dt@kernel.org> Cc: Benson Leung <bleung@chromium.org> Cc: <devicetree@vger.kernel.org> Cc: <chrome-platform@lists.linux.dev> Cc: Pin-yen Lin <treapking@chromium.org> Signed-off-by: Stephen Boyd <swboyd@chromium.org> --- .../usb/google,usb-pogo-keyboard.yaml | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 Documentation/devicetree/bindings/usb/google,usb-pogo-keyboard.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 <swboyd@chromium.org> + +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 = "google,usb-pogo-keyboard"; + #address-cells = <1>; + #size-cells = <0>; + + keyboard@2 { + compatible = "usb18d1,504c"; + reg = <2>; + }; + + port { + pogo_connector_in: endpoint { + remote-endpoint = <&usb_hub_dsp3_hs>; + }; + }; + }; + +... -- https://chromeos.dev ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v5 1/2] dt-bindings: usb: Add binding for ChromeOS Pogo pin keyboard connector 2025-02-25 22:30 ` [PATCH v5 1/2] dt-bindings: usb: Add binding for ChromeOS Pogo pin keyboard connector Stephen Boyd @ 2025-02-26 15:54 ` Rob Herring (Arm) 2026-03-18 11:25 ` Konrad Dybcio 2025-06-10 17:34 ` Bjorn Andersson 1 sibling, 1 reply; 5+ messages in thread From: Rob Herring (Arm) @ 2025-02-26 15:54 UTC (permalink / raw) To: Stephen Boyd Cc: linux-arm-msm, patches, Benson Leung, chrome-platform, Bjorn Andersson, Krzysztof Kozlowski, linux-kernel, Pin-yen Lin, Conor Dooley, Konrad Dybcio, devicetree On Tue, 25 Feb 2025 14:30:36 -0800, Stephen Boyd wrote: > 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 <robh@kernel.org> > Cc: Krzysztof Kozlowski <krzk+dt@kernel.org> > Cc: Conor Dooley <conor+dt@kernel.org> > Cc: Benson Leung <bleung@chromium.org> > Cc: <devicetree@vger.kernel.org> > Cc: <chrome-platform@lists.linux.dev> > Cc: Pin-yen Lin <treapking@chromium.org> > Signed-off-by: Stephen Boyd <swboyd@chromium.org> > --- > .../usb/google,usb-pogo-keyboard.yaml | 68 +++++++++++++++++++ > 1 file changed, 68 insertions(+) > create mode 100644 Documentation/devicetree/bindings/usb/google,usb-pogo-keyboard.yaml > Reviewed-by: Rob Herring (Arm) <robh@kernel.org> ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v5 1/2] dt-bindings: usb: Add binding for ChromeOS Pogo pin keyboard connector 2025-02-26 15:54 ` Rob Herring (Arm) @ 2026-03-18 11:25 ` Konrad Dybcio 0 siblings, 0 replies; 5+ messages in thread From: Konrad Dybcio @ 2026-03-18 11:25 UTC (permalink / raw) To: Rob Herring (Arm), Stephen Boyd Cc: linux-arm-msm, patches, Benson Leung, chrome-platform, Bjorn Andersson, Krzysztof Kozlowski, linux-kernel, Pin-yen Lin, Conor Dooley, devicetree On 2/26/25 4:54 PM, Rob Herring (Arm) wrote: > > On Tue, 25 Feb 2025 14:30:36 -0800, Stephen Boyd wrote: >> 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 <robh@kernel.org> >> Cc: Krzysztof Kozlowski <krzk+dt@kernel.org> >> Cc: Conor Dooley <conor+dt@kernel.org> >> Cc: Benson Leung <bleung@chromium.org> >> Cc: <devicetree@vger.kernel.org> >> Cc: <chrome-platform@lists.linux.dev> >> Cc: Pin-yen Lin <treapking@chromium.org> >> Signed-off-by: Stephen Boyd <swboyd@chromium.org> >> --- >> .../usb/google,usb-pogo-keyboard.yaml | 68 +++++++++++++++++++ >> 1 file changed, 68 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/usb/google,usb-pogo-keyboard.yaml >> > > Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Rob, this has been stuck for a year. Could you please pick it up? Konrad ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v5 1/2] dt-bindings: usb: Add binding for ChromeOS Pogo pin keyboard connector 2025-02-25 22:30 ` [PATCH v5 1/2] dt-bindings: usb: Add binding for ChromeOS Pogo pin keyboard connector Stephen Boyd 2025-02-26 15:54 ` Rob Herring (Arm) @ 2025-06-10 17:34 ` Bjorn Andersson 1 sibling, 0 replies; 5+ messages in thread From: Bjorn Andersson @ 2025-06-10 17:34 UTC (permalink / raw) To: Stephen Boyd Cc: Konrad Dybcio, linux-kernel, linux-arm-msm, patches, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Benson Leung, devicetree, chrome-platform, Pin-yen Lin On Tue, Feb 25, 2025 at 02:30:36PM -0800, Stephen Boyd wrote: > 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 <robh@kernel.org> > Cc: Krzysztof Kozlowski <krzk+dt@kernel.org> > Cc: Conor Dooley <conor+dt@kernel.org> > Cc: Benson Leung <bleung@chromium.org> > Cc: <devicetree@vger.kernel.org> > Cc: <chrome-platform@lists.linux.dev> > Cc: Pin-yen Lin <treapking@chromium.org> > Signed-off-by: Stephen Boyd <swboyd@chromium.org> Still waiting for the binding (patch 1) to be picked up in the USB subsystem, or an ack...so that I can pick the dts change. Binding looks good to me. Reviewed-by: Bjorn Andersson <andersson@kernel.org> Regards, Bjorn > --- > .../usb/google,usb-pogo-keyboard.yaml | 68 +++++++++++++++++++ > 1 file changed, 68 insertions(+) > create mode 100644 Documentation/devicetree/bindings/usb/google,usb-pogo-keyboard.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 <swboyd@chromium.org> > + > +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 = "google,usb-pogo-keyboard"; > + #address-cells = <1>; > + #size-cells = <0>; > + > + keyboard@2 { > + compatible = "usb18d1,504c"; > + reg = <2>; > + }; > + > + port { > + pogo_connector_in: endpoint { > + remote-endpoint = <&usb_hub_dsp3_hs>; > + }; > + }; > + }; > + > +... > -- > https://chromeos.dev > ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-03-18 11:25 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-02-25 22:30 [PATCH v5 0/2] arm64: dts: qcom: sc7180-trogdor: Wire up USB Stephen Boyd 2025-02-25 22:30 ` [PATCH v5 1/2] dt-bindings: usb: Add binding for ChromeOS Pogo pin keyboard connector Stephen Boyd 2025-02-26 15:54 ` Rob Herring (Arm) 2026-03-18 11:25 ` Konrad Dybcio 2025-06-10 17:34 ` Bjorn Andersson
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox