+Cc Dmitry On Tue, Dec 03, 2024 at 02:03:05PM +0200, Abel Vesa wrote: > On 24-12-03 12:30:37, Stephan Gerhold wrote: > > On Tue, Dec 03, 2024 at 11:20:48AM +0100, Johan Hovold wrote: > > > [ +CC: Krishna, Thinh and the USB list ] > > > > > > On Mon, Nov 18, 2024 at 11:34:29AM +0100, Stephan Gerhold wrote: > > > > The X1E80100 CRD has a Goodix fingerprint reader connected to the USB > > > > multiport controller on eUSB6. All other ports (including USB super-speed > > > > pins) are unused. > > > > > > > > Set it up in the device tree together with the NXP PTN3222 repeater. > > > > > > > > Signed-off-by: Stephan Gerhold <stephan.gerhold@xxxxxxxxxx> > > > > --- > > > > arch/arm64/boot/dts/qcom/x1e80100-crd.dts | 48 +++++++++++++++++++++++++++++++ > > > > 1 file changed, 48 insertions(+) > > > > > > > > diff --git a/arch/arm64/boot/dts/qcom/x1e80100-crd.dts b/arch/arm64/boot/dts/qcom/x1e80100-crd.dts > > > > index 39f9d9cdc10d..44942931c18f 100644 > > > > --- a/arch/arm64/boot/dts/qcom/x1e80100-crd.dts > > > > +++ b/arch/arm64/boot/dts/qcom/x1e80100-crd.dts > > > > @@ -735,6 +735,26 @@ keyboard@3a { > > > > }; > > > > }; > > > > > > > > +&i2c5 { > > > > + clock-frequency = <400000>; > > > > + > > > > + status = "okay"; > > > > + > > > > + eusb6_repeater: redriver@4f { > > > > + compatible = "nxp,ptn3222"; > > > > + reg = <0x4f>; > > > > > > The driver does not currently check that there's actually anything at > > > this address. Did you verify that this is the correct address? > > > > > > (Abel is adding a check to the driver as we speak to catch any such > > > mistakes going forward). > > > > > > > Yes, I verified this using > > https://git.codelinaro.org/stephan.gerhold/linux/-/commit/45d5add498612387f88270ca944ee16e2236fddd > > > > (I sent this to Abel back then, so I'm surprised he didn't run that :-)) > > I don't remember seeing this commit back then. Maybe I didn't look > careful enough. Sorry. > > Since you already did the work, can you send that on the list? > Sure, no problem. What exactly do we want for upstream? My patch above isn't ideal, because it checks the CHIP_ID on every PHY power up. But briefly powering up the PHY during probe() just for reading the CHIP_ID is also a bit weird. Not sure what the best approach here is. Thanks, Stephan