Received: by 10.213.65.68 with SMTP id h4csp785472imn; Tue, 13 Mar 2018 23:09:30 -0700 (PDT) X-Google-Smtp-Source: AG47ELtOGYv7VPVpey5W3rJAJqwM5d2aZ0RaNhRwfF9X5Lg3Aew3EIDwawc1DnuM88nM7upVt2kx X-Received: by 10.98.9.134 with SMTP id 6mr829830pfj.149.1521007770508; Tue, 13 Mar 2018 23:09:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521007770; cv=none; d=google.com; s=arc-20160816; b=Knq9OficBqfDavQ7ChmcDDupQ4crlHoWQNDyGbgly/qEChi6Jc3EjoYFZnq3v/ZCPG 0z9xR2DZ3sfoqfUYz1BAS4IX6rdqJn8UNHDslNZ+3coXTG4vX00q0is8sumzFoh04RpU 9utCsluqD/7dHilzA+4fBamf/dhIYhpEJR/MrxcVr0asTuq5RZNCEPga7s2rVT6/xI9L x+m0JylPik3wbjj5EGlcmKgV1zmclUu0YsoH/c/QaH6w5wXIgacrSuaUmKXu+3oZdPdX UjP4inLJC33TVdV6H2jVtmf/YsRy3wzplTTQTWtIZm/viFYayRxC1DKTXRcCUjSkC3J3 jJPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:subject:cc :to:from:arc-authentication-results; bh=8pd0QQ/gQRUlyS2CJXsmK6bdQEAXFgZ66ENaxZHx38E=; b=CG5gH5lcZggRWBw5qvl3qXcPWYwkjFhjImVUQtYaLia32lSfINfUgzYw7Z+4r6HGxr lx9oD6XpDM4Wy0jVFYKjfmKHuwty3FoENIEnxbykQA8pqtfnN+7lfoVHHm+XMX7ck23+ O0jNXhh4O/MjQ1WIj1yVuqK0hCxkauMGX+81OUu2aX9Kpnv+wPplBVnAaOzTvkyFyDg4 u+DBBY6d0N/3ogVzaFtkPHVSBpBzfAgbExeeBWNXkwaRVi7UysFhozgWMhZV9mpjm0f8 so+94kvEVWYhusSmRdKtXuSoBS8gz9bB2Q4qYjhfa0EW5PhXPan8zLZkELA53HGptPA3 28UQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a34-v6si1429294pld.505.2018.03.13.23.09.15; Tue, 13 Mar 2018 23:09:30 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753404AbeCNGIQ (ORCPT + 99 others); Wed, 14 Mar 2018 02:08:16 -0400 Received: from Mailgw01.mediatek.com ([1.203.163.78]:18262 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1753320AbeCNGIN (ORCPT ); Wed, 14 Mar 2018 02:08:13 -0400 X-Greylist: delayed 302 seconds by postgrey-1.27 at vger.kernel.org; Wed, 14 Mar 2018 02:08:12 EDT X-UUID: 482a472d4967464cad20d9b16b1a4189-20180314 Received: from mtkcas35.mediatek.inc [(172.27.4.250)] by mailgw01.mediatek.com (envelope-from ) (mailgw01.mediatek.com ESMTP with TLS) with ESMTP id 988706476; Wed, 14 Mar 2018 14:02:48 +0800 Received: from MTKCAS06.mediatek.inc (172.21.101.30) by MTKMBS31DR.mediatek.inc (172.27.6.102) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Wed, 14 Mar 2018 14:02:46 +0800 Received: from localhost.localdomain (10.17.3.153) by MTKCAS06.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1210.3 via Frontend Transport; Wed, 14 Mar 2018 14:02:45 +0800 From: Chunfeng Yun To: Greg Kroah-Hartman CC: Matthias Brugger , Heikki Krogerus , Serge Semin , Chunfeng Yun , Guenter Roeck , Kate Stewart , Thomas Gleixner , Alan Stern , , , , Subject: [PATCH] Add Apple Carplay driver Date: Wed, 14 Mar 2018 14:02:35 +0800 Message-ID: <1521007356-12306-1-git-send-email-chunfeng.yun@mediatek.com> X-Mailer: git-send-email 1.7.9.5 MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From bf48dcd9cb254576cfea373c9a5d2ab996408895 Mon Sep 17 00:00:00 2001 From: Chunfeng Yun Date: Tue, 13 Mar 2018 11:47:38 +0800 Subject: [PATCH] Add Apple Carplay driver Some Apple devices which support Carplay can enter USB Host Mode from USB Device Mode after receiving a specific USB Vendor Request. There is a requirement apply to accesssories that support the USB dual role switch feature, and must have a USB-A receptacle that is capable of functioning in both USB Host and USB Device roles. It means that the driver should supports manual Dual-Role switch, due to no IDDIG pin is avaliable. There is no suitable place to add this spicific USB Vendor Request, so here I extract a single driver which allow user force to send it by a debug interface when need it, and keep it independent on USB Dual-Role Controller Drivers. But to implement carplay feature, there are some requirments for USB Dual-Role Driver: 1. supports manual dual-role switch, such as, by a debug interface; 2. keep vbus alive even when switch host into device mode; More information please refer to "Chapter 46. USB Role Switch" in MFI Accessroy Interface Specification.pdf Chunfeng Yun (1): usb: misc: supports Apple Carplay driver drivers/usb/misc/Kconfig | 9 +++ drivers/usb/misc/Makefile | 1 + drivers/usb/misc/carplay.c | 193 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 203 insertions(+) create mode 100644 drivers/usb/misc/carplay.c -- 1.7.9.5