From patchwork Fri Apr 25 15:18:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lukasz Czechowski X-Patchwork-Id: 884737 Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.54]) (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 EA33C26A0DD for ; Fri, 25 Apr 2025 15:18:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745594330; cv=none; b=Hq0ZtIAEADrB4BOt1Racay+/kNso6oI7L60BBckxT0yhTisZsq1fRNiSg8tMTImVmgDUWqSy0EQtbIiPjofyIF/f/bstplbLUZlQhCkO5ViROK1RihGNmtYED3A0aFKV+3pvWzA6zeSnodToHqQWI1NmHBWdfmqiTtC+Pu/YlfI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745594330; c=relaxed/simple; bh=GvHZb4LgvZavNrWnrHHNVHTVupagN/UULTDDQRYT6M0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VrzYazovcd/JieRhUBrHWFuUzfVNuOjNAKW5KUj6NFzz4wU1XdBp0jPvtICkThExT39FefqWT+HPbCZ5w/psdv+4QlM61NJ4AIbaVyvj5T8pW0ptVBfvyBKOFRHTLR8Jt9e6991GFCiTUd93acDShZ0xsMKVxIOOItpndqSSMQk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thaumatec.com; spf=pass smtp.mailfrom=thaumatec.com; dkim=pass (2048-bit key) header.d=thaumatec-com.20230601.gappssmtp.com header.i=@thaumatec-com.20230601.gappssmtp.com header.b=mND5F44k; arc=none smtp.client-ip=209.85.218.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thaumatec.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=thaumatec.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=thaumatec-com.20230601.gappssmtp.com header.i=@thaumatec-com.20230601.gappssmtp.com header.b="mND5F44k" Received: by mail-ej1-f54.google.com with SMTP id a640c23a62f3a-ac3eb3fdd2eso427118666b.0 for ; Fri, 25 Apr 2025 08:18:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thaumatec-com.20230601.gappssmtp.com; s=20230601; t=1745594326; x=1746199126; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=+M5rdkwGZu/VDL8llLe2S9tCSCM0PahPEImRhTBfwfY=; b=mND5F44k0QwjtBBmXX5EcdauDd8m0T9azY1HnqsaCbDhWTQEaaWXzMH1j9Uhdr9M9b pl2/Z2QCgDdJVPkVsBQfy4PulI8tkqnYDQQS0WCKpoF8uYx9luHpqRYpdAUAsbLFRXiw WyGsqQYAKyR2JDgWzWQK61rDJCDUKgwgMFF/giJLmVhI7gb67juI5Z6d3txSq0vAb78g L/Ddq8SkQz5NwQxIXCVnVRcSiJE67HWwda4wGtywAmqtVTEm/nSmUthbCXj/8ETT0mX+ 8vyyce3DVasTIlJrgG5SAlnh9id6rggo+LciH3MkDkRKT8+swkYtw8oFi1ALjLfmosAT xhsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745594326; x=1746199126; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+M5rdkwGZu/VDL8llLe2S9tCSCM0PahPEImRhTBfwfY=; b=fdqM6sjYhW0kd+gZzy+nh+2wFI6GqYmNLFA/h/MoyNb67WgBatkPaP8XfjuxqZHPoy HLexLpSE4Fk/y5y9Ne8taRnvWWx5M+Yyp16nMfK1NzLDRF5EozahGcI5EnDDlgqvRf3x OAt9k0BKZYEXHyUDqLxYFwMAAS2N9jEeet0Ef/wu83rdcpMd8bXOnvFI0PDgtZMqyqVa SI3Y9TyCBFcK2h3QNvzBJu79HCZTaXnF2wQitgfmWS0m4fmIo5MuuRi1pvF8hTE3SBdb EikGegDj1pHwBR3dfE4Dk5WvrptsHfDbN/Ein33rAHwhXlp7qarHN35goppaj2/HoQW2 KbXg== X-Gm-Message-State: AOJu0YyBRyDGJpIFHotulKn8JSv1L3mptcpM3W+5J9PjxMKjepoOXd7h Y2epETFde5IMTiOs0ATTvObaRF9NVpccpWz6kLEdnBuz0ohHK8oFbEUJ/9KTG3w= X-Gm-Gg: ASbGncvdPzDgDwkZ8TYCgXrFrDoLY5yyDWpu2a9AJtcwoay6wfPahsReE2+K3v3xKwd UxqcaXNNj98r3o8gYz59p5oDZoA7n6zYzsW4d5NdLQ2p//8aXZoUTfzH0qW57HWarAg+9bAg14G NDIYqJAeIDD/hhy6qEN9alCVYBT23nLpLbq2pycV6A8z9bwRoOZ6kN9QzPWn1Bip009DSUXdo5E +U1ObiTNowy9cSZIiuZyE7kgJjKTN/Q6tKQ4HF6KjU0hgY81ik7Uh/3iMIZr90tzXBIhJFFP5MK OMVTDViuSbLdtYC6tw+lQtJ5daSLyUbOEkR80xRvLRRjBsgta1LIKBVAc1b2LV5Mrcrk X-Google-Smtp-Source: AGHT+IHaoG8RjUwrvQSyvJG6aKSZajj5vFrhmm1pCthBlIn1lk/zpPP3YRLIRhFmyc6BfcY/0PDTEA== X-Received: by 2002:a17:907:1c08:b0:ac2:9ac:a062 with SMTP id a640c23a62f3a-ace73a45d0dmr248025266b.23.1745594326097; Fri, 25 Apr 2025 08:18:46 -0700 (PDT) Received: from [127.0.1.1] ([185.164.142.188]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ace6e59649fsm151099766b.85.2025.04.25.08.18.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Apr 2025 08:18:45 -0700 (PDT) From: Lukasz Czechowski Date: Fri, 25 Apr 2025 17:18:06 +0200 Subject: [PATCH v2 1/5] usb: misc: onboard_usb_dev: fix support for Cypress HX3 hubs Precedence: bulk X-Mailing-List: linux-usb@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250425-onboard_usb_dev-v2-1-4a76a474a010@thaumatec.com> References: <20250425-onboard_usb_dev-v2-0-4a76a474a010@thaumatec.com> In-Reply-To: <20250425-onboard_usb_dev-v2-0-4a76a474a010@thaumatec.com> To: Matthias Kaehlcke , Greg Kroah-Hartman , Benjamin Bara , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Klaus Goger Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, Lukasz Czechowski , stable@vger.kernel.org X-Mailer: b4 0.14.2 The Cypress HX3 USB3.0 hubs use different PID values depending on the product variant. The comment in compatibles table is misleading, as the currently used PIDs (0x6504 and 0x6506 for USB 3.0 and USB 2.0, respectively) are defaults for the CYUSB331x, while CYUSB330x and CYUSB332x variants use different values. Based on the datasheet [1], update the compatible usb devices table to handle different types of the hub. The change also includes vendor mode PIDs, which are used by the hub in I2C Master boot mode, if connected EEPROM contains invalid signature or is blank. This allows to correctly boot the hub even if the EEPROM will have broken content. Number of vcc supplies and timing requirements are the same for all HX variants, so the platform driver's match table does not have to be extended. [1] https://www.infineon.com/dgdl/Infineon-HX3_USB_3_0_Hub_Consumer_Industrial-DataSheet-v22_00-EN.pdf?fileId=8ac78c8c7d0d8da4017d0ecb53f644b8 Table 9. PID Values Fixes: b43cd82a1a40 ("usb: misc: onboard-hub: add support for Cypress HX3 USB 3.0 family") Cc: stable@vger.kernel.org Signed-off-by: Lukasz Czechowski --- drivers/usb/misc/onboard_usb_dev.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/usb/misc/onboard_usb_dev.c b/drivers/usb/misc/onboard_usb_dev.c index 75ac3c6aa92d0d925bb9488d1e6295548446bf98..f5372dfa241a9cee09fea95fd14b72727a149b2e 100644 --- a/drivers/usb/misc/onboard_usb_dev.c +++ b/drivers/usb/misc/onboard_usb_dev.c @@ -569,8 +569,14 @@ static void onboard_dev_usbdev_disconnect(struct usb_device *udev) } static const struct usb_device_id onboard_dev_id_table[] = { - { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6504) }, /* CYUSB33{0,1,2}x/CYUSB230x 3.0 HUB */ - { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6506) }, /* CYUSB33{0,1,2}x/CYUSB230x 2.0 HUB */ + { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6500) }, /* CYUSB330x 3.0 HUB */ + { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6502) }, /* CYUSB330x 2.0 HUB */ + { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6503) }, /* CYUSB33{0,1}x 2.0 HUB, Vendor Mode */ + { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6504) }, /* CYUSB331x 3.0 HUB */ + { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6506) }, /* CYUSB331x 2.0 HUB */ + { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6507) }, /* CYUSB332x 2.0 HUB, Vendor Mode */ + { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6508) }, /* CYUSB332x 3.0 HUB */ + { USB_DEVICE(VENDOR_ID_CYPRESS, 0x650a) }, /* CYUSB332x 2.0 HUB */ { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6570) }, /* CY7C6563x 2.0 HUB */ { USB_DEVICE(VENDOR_ID_GENESYS, 0x0608) }, /* Genesys Logic GL850G USB 2.0 HUB */ { USB_DEVICE(VENDOR_ID_GENESYS, 0x0610) }, /* Genesys Logic GL852G USB 2.0 HUB */ From patchwork Fri Apr 25 15:18:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Lukasz Czechowski X-Patchwork-Id: 884736 Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) (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 1DFB52820D1 for ; Fri, 25 Apr 2025 15:18:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745594332; cv=none; b=dMAHJvDMlpQz7xJeZqbvogZbJbfXR2i2EVXzBqJrsa4zXzrvoe5LnadDdkcfC8CLueZ36u8Oc7Mpyt2AwnTC40doXJtS5ay1K88xwb+C92FWGCrMxzUQsOsG1W1KJ6rMqLTnQB3ahRB7bhZSeMFldNPQVXJHmuH5hVamlii5dAQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745594332; c=relaxed/simple; bh=OraUiKfm1Dyuf5j7XdekXggByDjVCkBh3H2EGp18ffI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=h/0DZ2gbyEyOQatg01GxwmEle6Pi9vX+7VE/XGw+W23ow9WsrO7wpwgJwvEcgZa902locYAdiPmLWk4hrxtlSynLzxGy2h21t3Ip/D+sn9KbeHUVMzwi19K2KXRRjfdN8V3Bp/6iJHB5Ws6ndUIR45N2O/kyiFPdgTEFr88GtkM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thaumatec.com; spf=pass smtp.mailfrom=thaumatec.com; dkim=pass (2048-bit key) header.d=thaumatec-com.20230601.gappssmtp.com header.i=@thaumatec-com.20230601.gappssmtp.com header.b=sQWUlTDm; arc=none smtp.client-ip=209.85.208.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thaumatec.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=thaumatec.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=thaumatec-com.20230601.gappssmtp.com header.i=@thaumatec-com.20230601.gappssmtp.com header.b="sQWUlTDm" Received: by mail-ed1-f54.google.com with SMTP id 4fb4d7f45d1cf-5e5e0caa151so4593879a12.0 for ; Fri, 25 Apr 2025 08:18:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thaumatec-com.20230601.gappssmtp.com; s=20230601; t=1745594328; x=1746199128; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=3NqGpeCgEQAUcPs6hxmWuzzpxKmr/yNO0w1y1ZqO3+o=; b=sQWUlTDmlF9kKrpIOx2QFPry03qIbhgA1GzI4Mq8Vt8juEe8Pryqngtr0hc5SMEpiA QqEKmwgYjNmLWatq8Hquxw+tJ3OSrMJV8PSD2e6TlkVtXvquv4u+k3J2kT+tqsi5Pb9/ YlCJvNjxSYvZJABQYl7GYAtKQJzGOM3iQmKi+c9Gdp/JzjD0+1O+cXOfKOMWZiP529jC g/DDqh9CXMtWOxmYtdWNG99k+WjO3TdcgvfNztchA4xluN4rS1ITI55IIJPfInglxcma DZo7f9zRMohQClSlYRjpfUkqHUnnQRvOLy8F64lUsPSNRgH7JsrDlA2sVaT+KQ5qbm2S TN1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745594328; x=1746199128; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3NqGpeCgEQAUcPs6hxmWuzzpxKmr/yNO0w1y1ZqO3+o=; b=nyWl+De2f/pwA3L+QXDydk0c99odLxpaez1UuCSiP1ZtHoEVF3s/N3sbgC+oSyb8Lf aY2K8MmNIh4CiGpW3YFyYuQ/ohbqK0uRDk00KtMmELvtpsDx4XwtW1rdAHIaerWRYI+y JSIuCx9Vei2jHZbVmW8CUGt7O4U96GxU3HW3NQxnXeDCAF2zfZ2BHAnUCzoMZ80fQsk3 a05hgtn0iiqjeaZzdvoW9OH+eteo6iqKsXY+QR54vHtEByVm2yzK6a8c/gBme/v2yqzD 9xwG4KHfOxbJV0hTSucthW5eAIvxdxYckJEaMCe7Z5qWogrT7/TfhDOVq9t1DOURIoTc tqMg== X-Gm-Message-State: AOJu0YyqB3K0O6aLCjsS2A5fmhLHW6MHSk+n9I0pcB1jDDeqLeqp7B9k KNHwRl64aEhVcDvHnpp+Tx1c6l87K2Jfg1N6N0yXY1NHKpThqVZdPI0Z4g0H1ZlffZ1StnwTkwY EQCs= X-Gm-Gg: ASbGncvenREUbXbk8DOBbUpI9uRKlZWnLRlD509rTPDKOe9aQv5KZ6YK6cIb866aIwF 2lFRebJAGHPuSmObIFc0U0vSre5Sbrlt5v4nC62qhe/TJC+8Wb97Hn6josPGW1TaI8rTH5d9/Zv hgZ5Dc5Pp2PZ3zq2l9JqcStoOnYXjukKC5gcQdr1PMCgy3g95Ke7TY4JKy+UN7yLKN39Qr+IxmL wvRderKpx9MBQqYcFxC+vayfUJDt9mquC96ax9Cyk2QmVNJK3HOX34XXJzSy4YknBcW3/fhgxcv 0VVy4ns8sLv+HTcRNvyvn2E/t85jBHAjEvzy4EO3HmqP45UFzDVaqUAC+Q== X-Google-Smtp-Source: AGHT+IEUamcP+7odYOOdpoBpwq4Ga4sU/sBxRb/GHkSRX9M2Uw0bvZNoH1NBuPxH9S4vCQHnw3MNhg== X-Received: by 2002:a17:907:72cf:b0:ac7:150e:8013 with SMTP id a640c23a62f3a-ace710a20a1mr291795166b.15.1745594328214; Fri, 25 Apr 2025 08:18:48 -0700 (PDT) Received: from [127.0.1.1] ([185.164.142.188]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ace6e59649fsm151099766b.85.2025.04.25.08.18.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Apr 2025 08:18:48 -0700 (PDT) From: Lukasz Czechowski Date: Fri, 25 Apr 2025 17:18:08 +0200 Subject: [PATCH v2 3/5] arm64: dts: rockchip: fix internal USB hub instability on RK3399 Puma Precedence: bulk X-Mailing-List: linux-usb@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250425-onboard_usb_dev-v2-3-4a76a474a010@thaumatec.com> References: <20250425-onboard_usb_dev-v2-0-4a76a474a010@thaumatec.com> In-Reply-To: <20250425-onboard_usb_dev-v2-0-4a76a474a010@thaumatec.com> To: Matthias Kaehlcke , Greg Kroah-Hartman , Benjamin Bara , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Klaus Goger Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, Lukasz Czechowski , stable@vger.kernel.org X-Mailer: b4 0.14.2 Currently, the onboard Cypress CYUSB3304 USB hub is not defined in the device tree, and hub reset pin is provided as vcc5v0_host regulator to usb phy. This causes instability issues, as a result of improper reset duration. The fixed regulator device requests the GPIO during probe in its inactive state (except if regulator-boot-on property is set, in which case it is requested in the active state). Considering gpio is GPIO_ACTIVE_LOW for Puma, it means it’s driving it high. Then the regulator gets enabled (because regulator-always-on property), which drives it to its active state, meaning driving it low. The Cypress CYUSB3304 USB hub actually requires the reset to be asserted for at least 5 ms, which we cannot guarantee right now since there's no delay in the current config, meaning the hub may sometimes work or not. We could add delay as offered by fixed-regulator but let's rather fix this by using the proper way to model onboard USB hubs. Define hub_2_0 and hub_3_0 nodes, as the onboard Cypress hub consist of two 'logical' hubs, for USB2.0 and USB3.0. Use the 'reset-gpios' property of hub to assign reset pin instead of using regulator. Rename the vcc5v0_host regulator to cy3304_reset to be more meaningful. Pin is configured to output-high by default, which sets the hub in reset state during pin controller initialization. This allows to avoid double enumeration of devices in case the bootloader has setup the USB hub before the kernel. The vdd-supply and vdd2-supply properties in hub nodes are added to provide correct dt-bindings, although power supplies are always enabled based on HW design. Fixes: 2c66fc34e945 ("arm64: dts: rockchip: add RK3399-Q7 (Puma) SoM") Cc: stable@vger.kernel.org # 6.6 Cc: stable@vger.kernel.org # Backport of the patch in this series fixing product ID in onboard_dev_id_table in drivers/usb/misc/onboard_usb_dev.c driver Signed-off-by: Lukasz Czechowski --- arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi | 40 +++++++++++++++++---------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi index 995b30a7aae01a0326e9f80d6be930f227968539..dd5a9bca26d1d221607e73071685d5774330d760 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi @@ -60,16 +60,6 @@ vcc3v3_sys: regulator-vcc3v3-sys { vin-supply = <&vcc5v0_sys>; }; - vcc5v0_host: regulator-vcc5v0-host { - compatible = "regulator-fixed"; - gpio = <&gpio4 RK_PA3 GPIO_ACTIVE_LOW>; - pinctrl-names = "default"; - pinctrl-0 = <&vcc5v0_host_en>; - regulator-name = "vcc5v0_host"; - regulator-always-on; - vin-supply = <&vcc5v0_sys>; - }; - vcc5v0_sys: regulator-vcc5v0-sys { compatible = "regulator-fixed"; regulator-name = "vcc5v0_sys"; @@ -521,10 +511,10 @@ pmic_int_l: pmic-int-l { }; }; - usb2 { - vcc5v0_host_en: vcc5v0-host-en { + usb { + cy3304_reset: cy3304-reset { rockchip,pins = - <4 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; + <4 RK_PA3 RK_FUNC_GPIO &pcfg_output_high>; }; }; @@ -591,7 +581,6 @@ u2phy1_otg: otg-port { }; u2phy1_host: host-port { - phy-supply = <&vcc5v0_host>; status = "okay"; }; }; @@ -603,6 +592,29 @@ &usbdrd3_1 { &usbdrd_dwc3_1 { status = "okay"; dr_mode = "host"; + pinctrl-names = "default"; + pinctrl-0 = <&cy3304_reset>; + #address-cells = <1>; + #size-cells = <0>; + + hub_2_0: hub@1 { + compatible = "usb4b4,6502", "usb4b4,6506"; + reg = <1>; + peer-hub = <&hub_3_0>; + reset-gpios = <&gpio4 RK_PA3 GPIO_ACTIVE_HIGH>; + vdd-supply = <&vcc1v2_phy>; + vdd2-supply = <&vcc3v3_sys>; + + }; + + hub_3_0: hub@2 { + compatible = "usb4b4,6500", "usb4b4,6504"; + reg = <2>; + peer-hub = <&hub_2_0>; + reset-gpios = <&gpio4 RK_PA3 GPIO_ACTIVE_HIGH>; + vdd-supply = <&vcc1v2_phy>; + vdd2-supply = <&vcc3v3_sys>; + }; }; &usb_host1_ehci { From patchwork Fri Apr 25 15:18:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lukasz Czechowski X-Patchwork-Id: 884735 Received: from mail-ej1-f49.google.com (mail-ej1-f49.google.com [209.85.218.49]) (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 8AF5528BA9E for ; Fri, 25 Apr 2025 15:18:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745594335; cv=none; b=AbBVU70YoNQlNf7o+lw6+VAfN98MyyetTeSs2dMLqVJqc2Nf4bQ34mVMdni2hrf9B3OuyrhVKfwz+JHjp39uqRdW+SWY8q7ZVqa/JXIq3TCv0hZ7wykSscNASqIsKlwX9V83TLkcfikISp0nKKG1MJfOav+GuQQx0iWMfo/Umz0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745594335; c=relaxed/simple; bh=+ce7+BTY4yeMzFbT6Akdy3KIL7k7OJDthEDgS6+rbEo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gdSJCSyewq+e89deO3AHE2lMGaYzM3n1Ti3ZX5ZfQ3GFQVEpbp/vy2+GGFM7cJ4yjtd4l/jB48bO4mv9zJRZbIJJhv+7go+JgYp4gM4CpcoC3YKey3YPsvv9zxid6aW7qavSghr72Cxe6MctU7IrzZAZMTvAdIhVGs24ToQDO/A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thaumatec.com; spf=pass smtp.mailfrom=thaumatec.com; dkim=pass (2048-bit key) header.d=thaumatec-com.20230601.gappssmtp.com header.i=@thaumatec-com.20230601.gappssmtp.com header.b=lchmvhlw; arc=none smtp.client-ip=209.85.218.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thaumatec.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=thaumatec.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=thaumatec-com.20230601.gappssmtp.com header.i=@thaumatec-com.20230601.gappssmtp.com header.b="lchmvhlw" Received: by mail-ej1-f49.google.com with SMTP id a640c23a62f3a-acbb85ce788so471207866b.3 for ; Fri, 25 Apr 2025 08:18:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thaumatec-com.20230601.gappssmtp.com; s=20230601; t=1745594331; x=1746199131; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=/OY31xp7Dll9vOIEOmAuyrG07iLGmNS/7kqtV/vhc5Y=; b=lchmvhlwO7bwGEgJBEgpZN/k4rav9vWLKDzd+soZMVH+Yz3KfIo4voaxR25W32u43K rWQ5Qs02bGwHRiGaSDpgKypd3HAQD3SVE4p+2ldw+nzx7CuWKxNvH+egV3h1Qyfd9+7Z Zvc32z+V3CaWVZ+9PMmgvZpzrFGeeHEuQqd6/IS7aN3cUyrxw/x0v3VH9urYRffqjTpX aZNTBP37pm2zShOoqvvJqbLMfKMGTrxMw6p1sYWqv21lmAdA3EIkRgXP5U3OFHDcmPbx L6q8YAwwSWf1JO05tPiiYeWQH+uLQVXfnpnHdYkbT6OSY+sFBUk6Cf2dSLhaXVuHCAvb 4hmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745594331; x=1746199131; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/OY31xp7Dll9vOIEOmAuyrG07iLGmNS/7kqtV/vhc5Y=; b=W1FGDoFReS4N/b9fn5GiN78WEC5pf5n0+CPmrBk4ZEdlPDOm4DDsIqouf20suvjK4u XiR9Nukz8860YFjtz5NnGkQIrEENN8O0Q3sbE2bdSxUw+xlw76RVXK+5/1Z9mypl1A6p copRUOJIzdr4FFhMezr3nGAhRPsPWlvjQsKvzHARlvcatNIZq8F0qwJDk9HHtYRS4N6g LZdIQsADN4Y/4oLeNNtHs77f9kRtCCYQPYar5Eq7Hc7M9habwjv2qc/Y/4VeHxM1LPqP tjL6i94SX3uYelCvLV9N58t0EIuHC1R4pa7LkQwSeDHQhnlkuEgA2ZaQ67M5nRZZquI2 lNjA== X-Gm-Message-State: AOJu0YyiDBpBgDOSjC09tMdL1ctn9O5hD5fU81cCYMNSeCrAaEQLhHWQ Ba9SviRlR2mqexuXA86TYo2g5yV24B+QnvtZvZ6tC8s/YpaLMJ69Zy0Eta9hjOE= X-Gm-Gg: ASbGncskLySG0jL9ctx1XvjWe1exsSY+rvnYlgwEQRuqV4HHsUV5aLrZZAniwt2gDaI oDWK+sZeAiBl2eRzfCZqwbFQ+xvvzrYBoNc+KTeJqzmSSl+lY4L8BO7etfC61qxu1V6Pf/nKvJ1 4IsJ9OGX745bFl+6C1Ii8qHK0dpOJ3Qd11R/XB3GwwUmu3EdrK4bklcPiSvxONEBjdu5hkP/tZm wLOz9lrj9HPZFtech914lRmAOezM6wVsQPu4d0tGge9VPyXnDBmNKAuHDu378QbfNguKEESnzh3 V8XlvazfpWiveBESubY3oIkh7C85DLUKncH1pXz/gA773qO7N2Cbr9cAkw== X-Google-Smtp-Source: AGHT+IF/D7KC9l8++rWqiUEiNq3eyx2s0Qq/rmeB9HU9Sb4W5K3CdWLHL8yd44YFf3+hogCSyIirhg== X-Received: by 2002:a17:907:2dab:b0:acb:bbc4:3344 with SMTP id a640c23a62f3a-ace71098d8dmr246518666b.22.1745594330687; Fri, 25 Apr 2025 08:18:50 -0700 (PDT) Received: from [127.0.1.1] ([185.164.142.188]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ace6e59649fsm151099766b.85.2025.04.25.08.18.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Apr 2025 08:18:50 -0700 (PDT) From: Lukasz Czechowski Date: Fri, 25 Apr 2025 17:18:10 +0200 Subject: [PATCH v2 5/5] arm64: dts: rockchip: disable unrouted USB controllers and PHY on RK3399 Puma with Haikou Precedence: bulk X-Mailing-List: linux-usb@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250425-onboard_usb_dev-v2-5-4a76a474a010@thaumatec.com> References: <20250425-onboard_usb_dev-v2-0-4a76a474a010@thaumatec.com> In-Reply-To: <20250425-onboard_usb_dev-v2-0-4a76a474a010@thaumatec.com> To: Matthias Kaehlcke , Greg Kroah-Hartman , Benjamin Bara , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Klaus Goger Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, Lukasz Czechowski , Quentin Schulz X-Mailer: b4 0.14.2 From: Quentin Schulz The u2phy0_host port is the part of the USB PHY0 (namely the HOST0_DP/DM lanes) which routes directly to the USB2.0 HOST controller[1]. The other lanes of the PHY are routed to the USB3.0 OTG controller (dwc3), which we do use. The HOST0_DP/DM lanes aren't routed on RK3399 Puma so let's simply disable the USB2.0 controllers. USB3 OTG has been known to be unstable on RK3399 Puma Haikou for a while, one of the recurring issues being that only USB2 is detected and not USB3 in host mode. Reading the justification above and seeing that we are keeping u2phy0_host in the Haikou carrierboard DTS probably may have bothered you since it should be changed to u2phy0_otg. The issue is that if it's switched to that, USB OTG on Haikou is entirely broken. I have checked the routing in the Gerber file, the lanes are going to the expected ball pins (that is, NOT HOST0_DP/DM). u2phy0_host is for sure the wrong part of the PHY to use, but it's the only one that works at the moment for that board so keep it until we figure out what exactly is broken. No intended functional change. [1] https://rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part2.pdf Chapter 2 USB2.0 PHY Fixes: 2c66fc34e945 ("arm64: dts: rockchip: add RK3399-Q7 (Puma) SoM") Signed-off-by: Quentin Schulz Signed-off-by: Lukasz Czechowski --- arch/arm64/boot/dts/rockchip/rk3399-puma-haikou.dts | 8 -------- 1 file changed, 8 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3399-puma-haikou.dts b/arch/arm64/boot/dts/rockchip/rk3399-puma-haikou.dts index 947bbd62a6b09ce55320d0889ee8cf50ca59dfd4..93cefacc7a01ec8f9716de828077b3395a5e7696 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-puma-haikou.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399-puma-haikou.dts @@ -292,14 +292,6 @@ &uart2 { status = "okay"; }; -&usb_host0_ehci { - status = "okay"; -}; - -&usb_host0_ohci { - status = "okay"; -}; - &vopb { status = "okay"; };