From nobody Tue Dec 23 09:46:40 2025 Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com [209.85.218.51]) (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 0B8A31F5433 for ; Wed, 26 Mar 2025 16:23:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743006233; cv=none; b=YxRa1pOtOI8HsakPpJqLFSRET8ozMKmxipTQ4Osl18TQMozbkAWY3VnlCbFjjPjl+qJGnOWvkScfnZKUGiDQEQ1BdmsT0qU0im+zgoHkN+dCV6quFrwOAqVgQUXqZzOeeiJZB67meNfsJKJAbLSv8xj5PyHfgp6mhbkB4m1oGOk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743006233; c=relaxed/simple; bh=PeEgCfBvUgiOjdlm8XMEYe+at2eqiLHn8dkuleqfmAU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=WwzBupPZxT+2QxXjjK9V8YqVGlL0JtVC0Z2VdIA1MaI9WbFJQtSApClbhf2mEc2mwzCt+qyhTsohCLwmx/hUYD+h/2q5wDq9qaJhBz23oXAFmrp9ZlOGOSDpAqf8QF5vuNJoUWZc0z69tI0rVhqdW7FRdRgRORjuFOI8emCBI90= 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=RRRbODCm; arc=none smtp.client-ip=209.85.218.51 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="RRRbODCm" Received: by mail-ej1-f51.google.com with SMTP id a640c23a62f3a-ac29af3382dso1186143266b.2 for ; Wed, 26 Mar 2025 09:23:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thaumatec-com.20230601.gappssmtp.com; s=20230601; t=1743006230; x=1743611030; 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=G9tCKOxWlZzVo+LW0OfZaKnD5ARH/KKbqzp36dlNLJM=; b=RRRbODCm2LHcPlpkQaQqOc/Puj2Or9Bj5XdulAevFh0ud/qukCO75P+4YPpZJbn/iq 9SkpVndWh1PAh9YPIgLEhHoDRyv8QSUYPwNRFiAHqyGir6030Qa9kLCOBO0ZBrg4rwlx KYVucIlPZVexwY0o6PiBpke4W+MECeWkDvY+NabYNdiAInVxlJXL3nlthuMEdEtV3OP0 PwmhUSDCVi9QlAy8jdomeOgzfvJ3ZgGJ4W5OLld0lNjsPmn+MniJO56pVB0jlA0IYSVz LsBg7gc3cVZ/i0PpBk6DSwmsBHOy/0pZ8U4Dh5woYvDnihRIvWP1g57FJQ0vJtbpLdCJ iyQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743006230; x=1743611030; 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=G9tCKOxWlZzVo+LW0OfZaKnD5ARH/KKbqzp36dlNLJM=; b=ZuWIngdQQYJmUmtZynh2mN0rti3l9g40dt92irgzRoX10MQw6PhXo6Lj9MMVfobxkC +fK3U0aFysm7Hv7hRXiYnUH6YqP3GJIuc4anJNCV9XMAeUzkqUltWoAXqCTkX07aJEu+ QGDkOASnrVBs++nFOVcVv151x01IdQI8fGwMWFWDNzvnKyk8Np1gJqviVo+VrV7hcjNH MUmKUftf+i5apvyMVkmmA0u7XL2ZUD2Qj7T2w8IUp7mIt3F+EfkyItAvVRH6l5CZ5+qW g5MeQ/Jt1G4fKV/cykWYZD6zt4CcmzdjOUlYKnQfn29K6gMnP6V4V2ISFM7F8IxFi4G2 L+Bg== X-Forwarded-Encrypted: i=1; AJvYcCXssI+RmacQPmMMf4m5yJzDWCL7cAbqWMUYwibVEh0Bn1Ib1nUVCD2xikq9/lmcX3JJBmQScJemzPYKles=@vger.kernel.org X-Gm-Message-State: AOJu0Yzb1xVswkZhnLAlEn3J45JxZRojy/TAq1VDqvF5ye/sSBvjZrjb ARa6mAfnfxZ50X7IRWS30rdw3fbT+C3Tw+Mc+0Ty+aA7g2bbzNYxvF45Du/viLQ= X-Gm-Gg: ASbGnct2F4p+hFA9nDe+jgbcqBOlTCML/qhPmXmUJWD/DXfxLWU9XllVFS8zlFmMTII 1JtCR+rNQQLJ6D2sry0XbkSD9Y4nVv414OfxF9k7O72m3EiCqWLnGniaG4veGdU08dKx8yNIgnt Zfn7iSoe1F5uoDaZ1T1nI3m3rRb3SZea+WYmq55YNpXr/IY79DFJNuF6adkZUSkObUNa2U1gxHR 82EvsqrCBwTa68t4xgcTOFp8cOJQsQ6+JMbcFZ6Ly4ZflIE2EBX5cAw+kUWNtQm7DNZnOv7DEaj 1oEcgp0CjQeFfPtV9UaWIU5KafwL637QEoorJCL3UmJGHfgnz/1AggkWuQ== X-Google-Smtp-Source: AGHT+IFR7MKgek1aYBM8pLPyUk2XklCCGA9XeiQoGfN17QwCt+mtrdcAqb3TA1eUWqsMBXRD9Qv/5A== X-Received: by 2002:a17:906:794a:b0:ac2:dfcf:3e09 with SMTP id a640c23a62f3a-ac6fb100848mr1832966b.43.1743006230250; Wed, 26 Mar 2025 09:23:50 -0700 (PDT) Received: from [127.0.1.1] ([91.90.172.13]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ac6f0f498ecsm76678866b.135.2025.03.26.09.23.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Mar 2025 09:23:50 -0700 (PDT) From: Lukasz Czechowski Date: Wed, 26 Mar 2025 17:22:56 +0100 Subject: [PATCH 1/5] usb: misc: onboard_usb_dev: fix support for Cypress HX3 hubs Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250326-onboard_usb_dev-v1-1-a4b0a5d1b32c@thaumatec.com> References: <20250326-onboard_usb_dev-v1-0-a4b0a5d1b32c@thaumatec.com> In-Reply-To: <20250326-onboard_usb_dev-v1-0-a4b0a5d1b32c@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@cherry.de, stable@vger.kernel.org X-Mailer: b4 0.13.0 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 reuse existing onboard_hub_pdata. [1] https://www.infineon.com/dgdl/Infineon-HX3_USB_3_0_Hub_Consumer_Industr= ial-DataSheet-v22_00-EN.pdf?fileId=3D8ac78c8c7d0d8da4017d0ecb53f644b8 Table 9. PID Values Fixes: b43cd82a1a40 ("usb: misc: onboard-hub: add support for Cypress HX3 U= SB 3.0 family") Cc: stable@vger.kernel.org Signed-off-by: Lukasz Czechowski --- drivers/usb/misc/onboard_usb_dev.c | 10 ++++++++-- drivers/usb/misc/onboard_usb_dev.h | 6 ++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/drivers/usb/misc/onboard_usb_dev.c b/drivers/usb/misc/onboard_= usb_dev.c index 75ac3c6aa92d..f5372dfa241a 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_d= evice *udev) } =20 static const struct usb_device_id onboard_dev_id_table[] =3D { - { 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, Vend= or 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 M= ode */ + { 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 */ diff --git a/drivers/usb/misc/onboard_usb_dev.h b/drivers/usb/misc/onboard_= usb_dev.h index 317b3eb99c02..17696f7c5e43 100644 --- a/drivers/usb/misc/onboard_usb_dev.h +++ b/drivers/usb/misc/onboard_usb_dev.h @@ -104,8 +104,14 @@ static const struct of_device_id onboard_dev_match[] = =3D { { .compatible =3D "usb451,8027", .data =3D &ti_tusb8020b_data, }, { .compatible =3D "usb451,8140", .data =3D &ti_tusb8041_data, }, { .compatible =3D "usb451,8142", .data =3D &ti_tusb8041_data, }, + { .compatible =3D "usb4b4,6500", .data =3D &cypress_hx3_data, }, + { .compatible =3D "usb4b4,6502", .data =3D &cypress_hx3_data, }, + { .compatible =3D "usb4b4,6503", .data =3D &cypress_hx3_data, }, { .compatible =3D "usb4b4,6504", .data =3D &cypress_hx3_data, }, { .compatible =3D "usb4b4,6506", .data =3D &cypress_hx3_data, }, + { .compatible =3D "usb4b4,6507", .data =3D &cypress_hx3_data, }, + { .compatible =3D "usb4b4,6508", .data =3D &cypress_hx3_data, }, + { .compatible =3D "usb4b4,650a", .data =3D &cypress_hx3_data, }, { .compatible =3D "usb4b4,6570", .data =3D &cypress_hx2vl_data, }, { .compatible =3D "usb5e3,608", .data =3D &genesys_gl850g_data, }, { .compatible =3D "usb5e3,610", .data =3D &genesys_gl852g_data, }, --=20 2.43.0