From patchwork Tue Mar 5 05:55:09 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javier Carrasco X-Patchwork-Id: 13581657 Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2109.outbound.protection.outlook.com [40.107.247.109]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E44627F7F3; Tue, 5 Mar 2024 05:55:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.247.109 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709618131; cv=fail; b=CYhbkChxT/AmEhvdk2Mr00ifo6ypNmPFJAJW/PBO9SEcvCdel+M7p8dQHuz3hqMkTgGtVV+XrqJJVEEhxre4WNylyyZ21CA0wwQuhXHBJ37NVvO+J4+Lk7MI5SOLPpBkV8pL3b/7Y05w24EyR3Eod0mPxBeWjp0LVHF4n+5jVi4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709618131; c=relaxed/simple; bh=oP3Z3uy29CXbEHFvt4p4kCUd0enQb9o+q0vxd3NPfPE=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=HWm1/Zm8OFJvpifrr/bZyD9UgdWlb+EN8e9xfNvaF1rRpoEdDKcjFPKO3qkaehhhgrVvBPTHsVX3wdpIAWbNTPwFZpOBB4uSbjgIcEBDqGEgI/IFI1nod0/p4+OGM0CMEDGitxuyMk1utz3wsHaOCGHvAoXizG3NrpEjmziZTJM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=wolfvision.net; spf=pass smtp.mailfrom=wolfvision.net; dkim=pass (1024-bit key) header.d=wolfvision.net header.i=@wolfvision.net header.b=MV946Vya; arc=fail smtp.client-ip=40.107.247.109 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=wolfvision.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=wolfvision.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=wolfvision.net header.i=@wolfvision.net header.b="MV946Vya" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PDSrm8Z5sviIcak/ZiKBY1MQZryDOC6yfdojEmVycM2LzW+srN4G7tV7MGqcr3MxcPtA6GUbjZxjH7fgp7Eu6Qefs6xPHkEwuIvM5FjzRKKvDljvtOwknTeMCH/YtPraPqb/1rS8oIOD4cnj2Q3ksfYokSWjyu/xxySMGOiQnOgUszxvRH4Av9BlqS9iG5qgLJmdQ5i4qzS1VlnPaiItnrT0RCjZae6PKePXD90v/UxnLDHnNkU7bSa3A7+ceX1oQisZuLe4hPJTGe0TbRfxczreQ1fTtcTiWuKzmM/XrKdQhyIHH9Vs1da/I4w1/6595JPo+Rx0V0Da96A2HzBqiQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=d5NCX79gFOkPGzpTWXJJqnYCS5QkzZucZsmla9B+/Lo=; b=R6IRa83QVN33d4rsihgd5vqehf0F+AVKNqRExaJhwhQ11830YehNDP1i0wjdxyacxXuj3eWkll6LPWWJwNhRXFksT1ztY4I1WG0Y7APAMWjDwvVcRQWqfL+FRuQsRfzTZV7O4rhMbEBzNA6pf7pxVabsSnt6Ou44hbhiLHluIUSRIiENv+qKQZ+6xzUgxRK9/JAvit6EsoJQwMHTOI+D6HGlSsm56iKcDvgcsHyhedm7Jgdw5O/lZgPWxVdImgCT1pmJmXrKB9tHoPCoLmRKATUYUw/F467X1SYrtGxmrg+bJZPngLXgxML7x1TxY8UOqq0FBjqALakonhgImbmwvA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=wolfvision.net; dmarc=pass action=none header.from=wolfvision.net; dkim=pass header.d=wolfvision.net; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wolfvision.net; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=d5NCX79gFOkPGzpTWXJJqnYCS5QkzZucZsmla9B+/Lo=; b=MV946VyasT4uxeh2+fewCr0uPNZhDeog5A/LLgtae1XVqLLuK3OqC/48v/caKG+vsirjx7uzbeMkYAxzKKAYw/0TmSO67aAzIywMi6RigLEQyVxcJ1jvawyZo6rGghm85BwwYonz9pIjd1mkQ1Aon4l+zVsDhdXg0zB4vpPGSu0= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=wolfvision.net; Received: from VE1PR08MB4974.eurprd08.prod.outlook.com (2603:10a6:803:111::15) by DB9PR08MB8385.eurprd08.prod.outlook.com (2603:10a6:10:3da::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7339.38; Tue, 5 Mar 2024 05:55:21 +0000 Received: from VE1PR08MB4974.eurprd08.prod.outlook.com ([fe80::9e35:6de9:e4fc:843f]) by VE1PR08MB4974.eurprd08.prod.outlook.com ([fe80::9e35:6de9:e4fc:843f%7]) with mapi id 15.20.7339.035; Tue, 5 Mar 2024 05:55:20 +0000 From: Javier Carrasco Date: Tue, 05 Mar 2024 06:55:09 +0100 Subject: [PATCH v7 9/9] usb: misc: onboard_dev: add support for XMOS XVF3500 Message-Id: <20240305-onboard_xvf3500-v7-9-ad3fb50e593b@wolfvision.net> References: <20240305-onboard_xvf3500-v7-0-ad3fb50e593b@wolfvision.net> In-Reply-To: <20240305-onboard_xvf3500-v7-0-ad3fb50e593b@wolfvision.net> To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Kaehlcke , Greg Kroah-Hartman , Helen Koike , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Daniel Vetter , Catalin Marinas , Will Deacon , Russell King Cc: linux-sound@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, Javier Carrasco X-Mailer: b4 0.14-dev X-Developer-Signature: v=1; a=ed25519-sha256; t=1709618108; l=2727; i=javier.carrasco@wolfvision.net; s=20230509; h=from:subject:message-id; bh=oP3Z3uy29CXbEHFvt4p4kCUd0enQb9o+q0vxd3NPfPE=; b=b2njzOhU5pKjrfz0OdJfAqYlUwWtBZWxv4ooK1gvY97eCki1QQDXOQVvIkGPTwm02A1m3wTP5 GwPVjSzOqqQAdIbkZyMJeMNLC/1jtRX7uCS+w/fYIqPIx4ds60CfiX9 X-Developer-Key: i=javier.carrasco@wolfvision.net; a=ed25519; pk=tIGJV7M+tCizagNijF0eGMBGcOsPD+0cWGfKjl4h6K8= X-ClientProxiedBy: FR4P281CA0110.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:bb::18) To VE1PR08MB4974.eurprd08.prod.outlook.com (2603:10a6:803:111::15) Precedence: bulk X-Mailing-List: linux-sound@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR08MB4974:EE_|DB9PR08MB8385:EE_ X-MS-Office365-Filtering-Correlation-Id: 03f46579-a273-46d6-86f6-08dc3cd8d797 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vP44r4ccJr+e5Dw6PR6d7HrhdQwqKb+iZy7/QFA55AWrT477J+pwdh2eoBJk6q10oodoiD+cE8Dqu3pDyDDsBuT12fzr/R8F/gXyvFyt+RyJI70QUbHjI5dkdEIBHOhVxUoklw+6nixwsJiwojnrmpYGwYn+uQTknY8lJVx+F0Y5M8hPTHQDDYOaFv/w+NHD9E0ovovoL5icd624ZY/S3A4+CSzJyzqHz9327UCYUWPP7bR1igFX/+2aBlXF7+eTIYdse8sqmLwzguIqPagb/XTi0xP5V3OtYvCu6kSiFaSPfYxpT5K3UZTrzciqJh2jKcXx38it9yrGS5krgTzE8Jbi1On1smmKRpqFa++hLwogXCzmOlPW26BXdOcNGxEqRk1cUbwbCnFr688+53+2KZ4fVfu5DO6ZAQOzdmg96JJkWgcWDxrvi22P9WKFNRnQNQs5t7HbR2W0m4lmQ7JvSd8lDCgrxiaS4KMekRRjJyVu1kTQl6+8p5gEASkgZyoZJEiRHX0lxzIilKlpCFsYm6gfk2Suwt78Hc3p+E8uIqOOyDwzxB8rNKoIOmPa43E/4noMYnWu/YyYkgBSWU7JuXl/3A5PuvuEx7AXPyRgx3DazozsaNTvSa78UyTEIwwbbrBXcA3JUmgbgnnQ0Z4nGeUJEgCIKOSKf9AnCKVYZ9VllF1HZJJDtUZwdZEGNOjL X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR08MB4974.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(38350700005)(921011);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?tuSgIhjwPGzfiQ86dYCQhLbgH69f?= =?utf-8?q?ouw+rm9jRIboK97cs5zJgT9y0z2iLkvUeSqcfdb5XZcemiLXUlMG1ekNESTm8Ne6U?= =?utf-8?q?U+4hT5zk3EGxSH8BY+BjVCHpcGKyd0eItEDMKrpThFAAoPjP1n4px9bJjOziquFdN?= =?utf-8?q?HK5+cZZprKQNcdtvSWw6nNETtKsX8op3F3CB5TTvPWwtMYbMsVanYJx1gN3a9klkS?= =?utf-8?q?NgZRo+Nd3yvXOyCESOeiFM+ZqT3QyhM3noeU6r2xKZhAXDnLUkrb/D5ZtbSZPfvRv?= =?utf-8?q?QYmrF8NIxB5TBtOWdoypjFlLNdt9tEQj1bJei1O7/pX0jQdVRB89js6C4GOfbo5qF?= =?utf-8?q?LW2EZRNwtAmkIOsYYZPk5UBmc2gQuyPhYFY6g0g9e53oA+qGhB+aJbHyHK9J7UaC5?= =?utf-8?q?Dtvq1j8f4MlyB/yw27RJSAYKMxTrQM48uK/VWW8gcf5pwvxqHJvpM1L8+0mrV4PUS?= =?utf-8?q?2nbqtLxNiZw4lKutgXtUDOPNueHFlgyFkKdyFdTWezqncdePDKLAozAAROOaG+itn?= =?utf-8?q?K/05djU5OEENA0JktM7wJNV/BS9p2fcnvoHmEkhgpuUoQWlSBMypVHw4hzWGc41np?= =?utf-8?q?ekVwbRcddg0QYEEBrl91xVqhCmNs1wR6eD5lRuoQsY5+ZwWqVTUkp60JNh01AVcsX?= =?utf-8?q?CQ+1xO6LWjseJRWkOEFtntglu7VvXVNk/qnjjGLXDRFKY5SkNqZ8mw108qjeKOamv?= =?utf-8?q?ODnEjaSyhyhm5xdg7MBQqT6dY/UI64FnmrFC0oYAD4YHu5D0PFPZkPEZPkGxUSI5O?= =?utf-8?q?EPkN+vCZ9ySVuXx2DrHuCGlH8051LrwExjqgMzYslXKrAvJJf/QFsfvK/DI4Cu6si?= =?utf-8?q?hgJ+KONtUQn6wtTLFC7PvydvdkOCy33Asv80QGNt6wSf1Zxpr0E6pxuWqgOiTJ6EG?= =?utf-8?q?z6lMVUsaXVCkWLe2FNIzDFqyKk03WWAlhNP092LAlv+iaY8d+qbb9ZsUH85VlKYfA?= =?utf-8?q?qv4ABK901bt+/mrO2ajMG/MV0IL3xEhEC4ubX+hj66JUOevMo1/2GkBQONzERk2uk?= =?utf-8?q?wVdw5xD1wzR2u7Y4KyR5Gp487TZb6uZOvPczMdjIkYRPXwIOtG2inSriTMBhdrzGh?= =?utf-8?q?gBKzW+qu9ohH9pS1UJPp/XrfvVg0ZvUrkm5bMcCnrSAWeUKgb8FI9+d1SiFOL4Phu?= =?utf-8?q?kq/uXjtrarNzRwjNZly8WdUP3CkCfMWY2fNLDBsuP87QHL532Jvv9ond9ppK6FYD9?= =?utf-8?q?wHVJvm95lC0s0ba/WoSLLspU3e5FTy/rUC2eBAiBK7S/+ounwsgD+dGnqXnBK6tM8?= =?utf-8?q?YD/JaN9T5UQPUXHRtXRun+CcttEulLQfeuhdR/MuEBC9j5MalZaIJP4MtS6wEJU3+?= =?utf-8?q?919Hw6UGy425B9rZM+/qqhCaJdKtlqC/375WdBSGnyvdcw3W0gMlK7E0ybTS4702G?= =?utf-8?q?n0TcmrOl/xqiV9jLS5cUJozH9u7tHU4stAriJJVHCS/l/19qeZnqTLsEDVhONEGP5?= =?utf-8?q?WYEp8psznItLqVhPk2PgrC9D90eDgS4NkW6kqDOMGPuVIR8vc60ksQLNS1FFiWJRa?= =?utf-8?q?TiGsG+got3xDL7iNdNlRSfAQGUjYh3s4cJaUCQBgRUEcUSKfhicb7EE=3D?= X-OriginatorOrg: wolfvision.net X-MS-Exchange-CrossTenant-Network-Message-Id: 03f46579-a273-46d6-86f6-08dc3cd8d797 X-MS-Exchange-CrossTenant-AuthSource: VE1PR08MB4974.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Mar 2024 05:55:20.8437 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e94ec9da-9183-471e-83b3-51baa8eb804f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 4PxXMQ8/wvVxxwfoyfYqWQyrQsGH1RSdNe1OUl4sH++rBx8a1pzYRaS0bdhboe/zIp4bAQ1601Anvs5mF/sVv1OTjVOkvx5yyUUZL9tiJmI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB8385 The XMOS XVF3500 VocalFusion Voice Processor[1] is a low-latency, 32-bit multicore controller for voice processing. This device requires a specific power sequence, which consists of enabling the regulators that control the 3V3 and 1V0 device supplies, and a reset de-assertion after a delay of at least 100ns. Once in normal operation, the XVF3500 registers itself as a USB device, and it does not require any device-specific operations in the driver. [1] https://www.xmos.com/xvf3500/ Acked-by: Matthias Kaehlcke Signed-off-by: Javier Carrasco --- drivers/usb/misc/onboard_usb_dev.c | 2 ++ drivers/usb/misc/onboard_usb_dev.h | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/drivers/usb/misc/onboard_usb_dev.c b/drivers/usb/misc/onboard_usb_dev.c index f1b174503c44..ee702448e446 100644 --- a/drivers/usb/misc/onboard_usb_dev.c +++ b/drivers/usb/misc/onboard_usb_dev.c @@ -407,6 +407,7 @@ static struct platform_driver onboard_dev_driver = { #define VENDOR_ID_REALTEK 0x0bda #define VENDOR_ID_TI 0x0451 #define VENDOR_ID_VIA 0x2109 +#define VENDOR_ID_XMOS 0x20B1 /* * Returns the onboard_dev platform device that is associated with the USB @@ -499,6 +500,7 @@ static const struct usb_device_id onboard_dev_id_table[] = { { USB_DEVICE(VENDOR_ID_TI, 0x8142) }, /* TI USB8041 2.0 HUB */ { USB_DEVICE(VENDOR_ID_VIA, 0x0817) }, /* VIA VL817 3.1 HUB */ { USB_DEVICE(VENDOR_ID_VIA, 0x2817) }, /* VIA VL817 2.0 HUB */ + { USB_DEVICE(VENDOR_ID_XMOS, 0x0013) }, /* XMOS XVF3500 Voice Processor */ {} }; MODULE_DEVICE_TABLE(usb, onboard_dev_id_table); diff --git a/drivers/usb/misc/onboard_usb_dev.h b/drivers/usb/misc/onboard_usb_dev.h index ecdce06ea0f9..a43fd80c24ab 100644 --- a/drivers/usb/misc/onboard_usb_dev.h +++ b/drivers/usb/misc/onboard_usb_dev.h @@ -78,6 +78,13 @@ static const struct onboard_dev_pdata vialab_vl817_data = { .is_hub = true, }; +static const struct onboard_dev_pdata xmos_xvf3500_data = { + .reset_us = 1, + .num_supplies = 2, + .supply_names = { "vdd", "vddio" }, + .is_hub = false, +}; + static const struct of_device_id onboard_dev_match[] = { { .compatible = "usb424,2412", .data = µchip_usb424_data, }, { .compatible = "usb424,2514", .data = µchip_usb424_data, }, @@ -99,6 +106,7 @@ static const struct of_device_id onboard_dev_match[] = { { .compatible = "usbbda,5414", .data = &realtek_rts5411_data, }, { .compatible = "usb2109,817", .data = &vialab_vl817_data, }, { .compatible = "usb2109,2817", .data = &vialab_vl817_data, }, + { .compatible = "usb20b1,0013", .data = &xmos_xvf3500_data, }, {} };