From patchwork Thu Feb 29 08:34:52 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javier Carrasco X-Patchwork-Id: 777019 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2115.outbound.protection.outlook.com [40.107.22.115]) (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 58B155647B; Thu, 29 Feb 2024 08:35:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.22.115 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709195715; cv=fail; b=a4nSLR3sVjIGyp12BwUWmdYOMix5ekuqSoXuV5dMB0f7qTqynC6UBf/ZdNe/opAZXctgsC85PXppFy84zWijVg/AD7AwnCDMn0/2G87K5/ozjONvKs49AX2TPbEm7tBQzRK7pbPj0yRF7A0hvBM2sOhlbzUxDr31YthYcJwbwcI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709195715; c=relaxed/simple; bh=Nmd184ZyDSaO4lZ41ELhib4ZiCJSqj9B5C6zTsVjcec=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=LSWqMoZz1x21Fz9PMWoLSmkL0p3aiJl0tSFLUW+zwxUFwfd1wlA+/1XXiBFNlrs1SxmglP6uRvnaj7MK9yezh+cGZnwdg1AEQ+wD9Q16Fu/OhDeLsE+hW/L28kFYpCZQcBmVomDF0U+tbIsC4fIenWWcfw5YmEy35spLMVtaNtk= 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=JqrMUnod; arc=fail smtp.client-ip=40.107.22.115 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="JqrMUnod" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KHtHkv3zge3n+WAu5J+1wbf0cp8VcZ6tr43MxtdfpDSFKslbFN1EqtCmTO2AnoECpzveIPA+1iN7HMIJR50pQgu5iXo8K8OjD22Bu8RZ+LMXnnS6NvvtWgbLFtobcOZCfCIc4w2UiQugsWPsZrUjH1yWLTyFBpCOEUlkT5/vmsq5YnRaU6XCInMJCtrye2hMOk8QW9i9DUhoWHdA60lRhFGgUkvbPbSP+CoNu1G1JWunzdsprBEGkCZezfOjwJ38BtsnyWQbTl2mOorMdlIEuQcNRE92m8cy5NAyusG1m97s3+SsoeibiW5UUbg8Oe+9UKC4Cd42ZIAinxvFEweX2A== 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=MHn5ocpWmJAmqRGVhz3ePJLhWewLoohLm8CGzYNyosw=; b=nCFCSty6uX1op7OiAQW3Lk9fyoATS3Gl7XllKDp1Jtx85VdecWIws7puhWEF4iOwDKQYckStcQGc6El84JBKtJZB0E2WQSpwGIEL3ycOjy7AzIc3gw9u6V8UUMBQNcrzrUBeAk5hU7vBdeO4+K1yga1WelITZR9xkfZV7kwuuDJfLbyAxSnvby+TU6PNYKkjYLKOPLCqCed5aLVXiDyYrzRlYSMf/mF4KjvgCUqRsXRgiVuSK2BtKnlvFVlY0Rfd9CzUFtFCvrK+5zgzdshm1Dme0YzYNh6mebdWLbnrxVenss7x/MNjxKrfx9NclupXa+j1Zhj+6D81FxXAigBmHg== 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=MHn5ocpWmJAmqRGVhz3ePJLhWewLoohLm8CGzYNyosw=; b=JqrMUnod7Nqy5UajJXAYcUGLUTp8lAM43kjnOED+Sreeuhk/wyU1AYEUr5Bu1a7DH5joew9m3kS60M6jWFcngVITIwAo7kjDaVnOyVyRZ1NZyox9W6tUEDhXJptTzFRVwIgm8sHQHAHvmDl3auRnNVLcicwejeWMjPW4ZYOCdoI= 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 DU0PR08MB9727.eurprd08.prod.outlook.com (2603:10a6:10:445::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.41; Thu, 29 Feb 2024 08:35:04 +0000 Received: from VE1PR08MB4974.eurprd08.prod.outlook.com ([fe80::9e35:6de9:e4fc:843f]) by VE1PR08MB4974.eurprd08.prod.outlook.com ([fe80::9e35:6de9:e4fc:843f%6]) with mapi id 15.20.7316.035; Thu, 29 Feb 2024 08:35:04 +0000 From: Javier Carrasco Date: Thu, 29 Feb 2024 09:34:52 +0100 Subject: [PATCH v6 9/9] usb: misc: onboard_dev: add support for XMOS XVF3500 Message-Id: <20240229-onboard_xvf3500-v6-9-a0aff2947040@wolfvision.net> References: <20240229-onboard_xvf3500-v6-0-a0aff2947040@wolfvision.net> In-Reply-To: <20240229-onboard_xvf3500-v6-0-a0aff2947040@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=1709195691; l=2679; i=javier.carrasco@wolfvision.net; s=20230509; h=from:subject:message-id; bh=Nmd184ZyDSaO4lZ41ELhib4ZiCJSqj9B5C6zTsVjcec=; b=/46YvMbOu17KK58hEp0M5qU5E807lSDvlBZieALqhP59gRXWu75e5+UGvvV1fKzaK9LkgxVOX pa+2zZPd+CwBAOIpkCjSw/Ni/s0QPK+onrH7Uz08c3gJOmJJ3VVvKHn X-Developer-Key: i=javier.carrasco@wolfvision.net; a=ed25519; pk=tIGJV7M+tCizagNijF0eGMBGcOsPD+0cWGfKjl4h6K8= X-ClientProxiedBy: FR3P281CA0020.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1c::21) To VE1PR08MB4974.eurprd08.prod.outlook.com (2603:10a6:803:111::15) Precedence: bulk X-Mailing-List: linux-usb@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR08MB4974:EE_|DU0PR08MB9727:EE_ X-MS-Office365-Filtering-Correlation-Id: 7167234a-d4b1-489e-4ad0-08dc3901534d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: V35S9XbKKBvyU5/DipQ3dac8xX5+0rQwHWy00Yu6plJPF2fJ14SqhJ8awt61tADklUFo7qyTzUSDX2FT/ztNyg6BT0CW2+XSIfPjhH4hA1RsRBblSiKzd4AU+hr8N/cMlsTJMvu4Jywgdj/N9gIAgGCIGD5N02qdDjkLw+VHJZY9m0wvAZQu2wVVvDfns813Jli7bQ42BvzDyczUuMUBIssBh3PtAvLVpxTafMEER4tvvutYoLUHOohOZ/FNAiusP9WLZAZQpx5M0+WwLPPyhwJvhgwbtRnH/2gaBK6sIcujVJoHd7XqnMvVti7i0DURnDbN6P+O6C7XfAgX3+x11MN8TOh0YQ+n++gttp6nRYQdGf7cqn7Sh7u/riKTEQ5DV6sWU6Wd2pwNGXtisTYJuSz2CNZT5cBXWrabajcwb84yC6o9qHkKcrqRW4SJTKSsJ1pBifHZjGfP8PWbKRcSak+ush7+xV68YmX7Tzil1V9mVZwFQGYCjHAx3vmBBSXuHUtQUtROiCABgLjGOym1i4slD4yKB2yXnkrjNUex+Z7kGYBCweGHH3vDxvhDH87dIkAbvVkQkauG1MkWyiZ2iHCUfeg1whONL9FWSqYzxrEJoEjT/Wh0HYlSLYTW13zzjQAOTnR7/EYg7oRm6NyipmLvJF0IvqOIMvaBiBMeZr6orKmNW56hsqQGvLOUZfJXOT+KbsklKbku/HCJUYsHm2AsRsSkZw1Uetg8/0VdVR8= 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)(921011)(38350700005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?LN8ndAqd/xyzjdsG7z40EX6z0i7Z?= =?utf-8?q?E9f0WTx5gGv+dy+U+/e/Fg/tPsVqphrUK52KAmgipN5xA1pQKCeFtqErI1um40W++?= =?utf-8?q?/GF0kNGMKWdw+aOmifGquNiOyfqT/MHNsI90X8VvMOBHBa1MPNGpr619x6efee5zJ?= =?utf-8?q?NW9+Z/oBQD3mEmNxrjf52WcUAshO0FilqjpPeX+D9xcmDiV6B7Dz8GXeyLt9t6buE?= =?utf-8?q?Z7OOj2YyS9vFa1l4jAy6pLjdYf0ap+afJULHque5r7dqNx2qsi3L5XyD05wVdgWbo?= =?utf-8?q?20ystRUm46FDlxXc3vCrXJ0owAQGEC64G9JAiCBsWIfPTAZvJqQFNRt6E8slM0yGl?= =?utf-8?q?FOaGc5vEjUD/WyHs4btiI1V7xzKzrFbnK9KqxamVrJlhHnfTSCNEZJQ8j4XbcnDeq?= =?utf-8?q?fcBDZGo9XUnE26fbGIIjfq9Cf8NdfofDHbs0MgM+k3gIhsvVVA3akQYj79De4boEs?= =?utf-8?q?4WP8Jkxvq+ICC3pZRkUFS72cF62aekYUyxQh+ZF+97YDHWN8Y1ZQMu/l7I2/8M67I?= =?utf-8?q?Vy1ym2cgmuKh7/0XWFCgZ5q8Gba74K/0IIcrERbm0j0qLg5xT4D+AV42+BugKw84+?= =?utf-8?q?XMJSDuvzQ2hvVzrff8SIwsnKR3nv77zKrTMyLOV8Rgc0LLcD2GMhyQ6V+S5SGIdp5?= =?utf-8?q?HK+dIAswzyGRHMQSZJfqAJc55roDq5nrj1Mun5u5lBQotud5duyVL8CoB94elmxUd?= =?utf-8?q?MllZGoCUbMBsj8PEKgA4TlQbwgqSYl6CoJ6rjlFcrJ21yZPpeCmeBQegCcmppO3Gt?= =?utf-8?q?QoOdkPGd5bavJZ6rByeiPc7tH966lz6WVdUlHHbLYMOvvnlk9mu3ezUXP0vhUrJ1d?= =?utf-8?q?b/s9oN0jpYytw63SXaDtgv87KRK86IdiA5eSMTNITovk/pj1J1Ek2KzUiV+L/ig8i?= =?utf-8?q?Bny2BajDRHIsR7KVSNXoWjdLjSzTCijIgJin3H8QRgml1TMVAYtyZnDzoZJYEviM6?= =?utf-8?q?Ufwp6Oh6T/6gEgwBbKNtJ1QfQl1Pj9tuVYZRwfFaTIrgWCtfFKlwS2L4/cfxBFioL?= =?utf-8?q?ANd6UjDpfBxbC949aWD52+8nmPR/4yJWzASd9ReR/B8lVIhZNhMdH+mWJsni3Fd8c?= =?utf-8?q?XL8znVz6X47ODMnHdK9lLTIbbeOmdoR+sRsUHnY4LbRepJysl8TqnS6L4iSrgyVss?= =?utf-8?q?kwLXb4Xv1YVuD/h3SSFPL1hVY4pXFrSfGhcx/03RnbPtAdh4Hz72l08OedVHspHoi?= =?utf-8?q?HJvCVyow27j4GNE8UxExxz4/i9L3hF9ps+PZaa/qcb1rxadLHEYQ7s17Ztl27NC5g?= =?utf-8?q?G2xdH6id08z0w2vaHgW7FL7oyd/2ByqY1GYsbFMK0qtMf6Yf8BQiISulcmz919IaP?= =?utf-8?q?GpbFmJ1JMB456gAY8CQiTkqcxj6gt/bPKJYhGYxMI/UV+mKeTmaDZVikDfK3EmC/v?= =?utf-8?q?A9zoRLprTfEjME5ZPcPL1Ru7H/U1C4NOZ/KsosCouRHwQQecOIiwf7+Kva7R42xj2?= =?utf-8?q?1zMJhwOD8TnfdxAZ/LwPZempaJ9BqylKfgvlXLe/MZpWMKOdjfuIX8IvLfor3p0/w?= =?utf-8?q?D2nBTseEmi6U+qgBj1ajltaZqke133TMV+72Wgg9055m3/FWJfzLXbQ=3D?= X-OriginatorOrg: wolfvision.net X-MS-Exchange-CrossTenant-Network-Message-Id: 7167234a-d4b1-489e-4ad0-08dc3901534d X-MS-Exchange-CrossTenant-AuthSource: VE1PR08MB4974.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Feb 2024 08:35:03.6579 (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: 6jUxuT71Qo4yv81LVcC+8W9czYZKbiKmK9sCA4sePsdRX0JWLI3Y7HVKFU30vovdARSQ4BAnR0v9s/+hlovz5tstB1tU32ykN+RK1I8QLL0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9727 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/ Signed-off-by: Javier Carrasco Acked-by: Matthias Kaehlcke --- 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 58cf8c81b2cf..51c4c074d158 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, }, {} };