From patchwork Mon Jan 22 13:11:24 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Roger Quadros X-Patchwork-Id: 125418 Delivered-To: patch@linaro.org Received: by 10.46.66.141 with SMTP id h13csp1148211ljf; Mon, 22 Jan 2018 05:11:38 -0800 (PST) X-Google-Smtp-Source: AH8x224naodOSN7Wqa2lQbj6pK1eHwatSfeZKQ8avN5+4dBxctXEMtZXauT8EoS1A1K/iw5ui+Dr X-Received: by 10.98.69.209 with SMTP id n78mr8538337pfi.6.1516626698448; Mon, 22 Jan 2018 05:11:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516626698; cv=none; d=google.com; s=arc-20160816; b=YO1PbgljC0GzU1u8Rtq8hiDyWpO+JZzP1/zKMz5h4bwl45PzBG9dHQfYRGbFJpeuEc Yi+Xe5VMW/Mqrpmu8qeZPl0UG7Gse7rE7kDDvw/aKsYfeLccsmGrqL6Zlpvvmt3h4m1G 7FQH0tKPsbncBcR9ksGE740BG0Xy6Esmsdwy3X53l6TAG7aKHxTotyU02tlF1RpzSk4E TkXKvyZF406zpYcFPR3LVoIbOlkIZ81braFY/Wc0HBPry9zCdEATOH1llt938RXdULN4 OuLezWXzzftbU7wShHTjACDRnp5KrdkEKMUwUt3guv/1wtKzOFXPkfpdk30pLSPekG0Y vaxw== 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:dkim-signature:arc-authentication-results; bh=LzSo0IulcazxfsugdMdV4HQ+64JShjWUGvjfojvbIB8=; b=xPo7i6p5v0dBXG2+YOuhVRsD68OacPxjSTwLdKOS1vvI052aZmIcvydxEdPC9qe6cm OikR0r0ck2IzpZ3RwbtHfQUx//WzY6ox97FkDbAon0dWXv8UWIJxCQYmD44iMNmXSiJF nI4h3vGb8n4DNXzU3Ds/RuIPg8bHaA0x0UbZpf2ZTeKASatHtryiRDE8u9A99zakHKbh zEJ9hGYlZdEtWd25jDgCVtKNgwvLKTj7H3BOGf2kuqxPsMWmmDfM1nieZXRZSO5uWlbJ 1zezPr6qq7SWkc4P+D8St1VsYZx5IOKWA3qcezMR11INdzUpkkWSI7lAGJzwERTDT9Fw N38g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=bP/iMncb; 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; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a92-v6si1179619pla.543.2018.01.22.05.11.37; Mon, 22 Jan 2018 05:11:38 -0800 (PST) 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; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=bP/iMncb; 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; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751191AbeAVNLg (ORCPT + 28 others); Mon, 22 Jan 2018 08:11:36 -0500 Received: from fllnx210.ext.ti.com ([198.47.19.17]:24927 "EHLO fllnx210.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751024AbeAVNLf (ORCPT ); Mon, 22 Jan 2018 08:11:35 -0500 Received: from dflxv15.itg.ti.com ([128.247.5.124]) by fllnx210.ext.ti.com (8.15.1/8.15.1) with ESMTP id w0MDBX1b008234; Mon, 22 Jan 2018 07:11:33 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ti.com; s=ti-com-17Q1; t=1516626693; bh=WxS0HXeNrPmL4g6c2mbr+DAjmUcE7PUp005MFbH5Itc=; h=From:To:CC:Subject:Date; b=bP/iMncbLVID+B1bsw5YaCIcqpDDhBZlX+a6oACkJDY3jtqkYUdZs975s1TMQm+Y+ iiNI42IV4ZimN1B9VxwjNgCQDXLV/xerlHumMqWm7rYJxXZMfmxZegEUeinDqUiOJ1 eRaI8WoviOWGf80Fvz06MpR+JDLYcp2KSDJ+CQcQ= Received: from DFLE110.ent.ti.com (dfle110.ent.ti.com [10.64.6.31]) by dflxv15.itg.ti.com (8.14.3/8.13.8) with ESMTP id w0MDBXui030936; Mon, 22 Jan 2018 07:11:33 -0600 Received: from DFLE111.ent.ti.com (10.64.6.32) by DFLE110.ent.ti.com (10.64.6.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1261.35; Mon, 22 Jan 2018 07:11:33 -0600 Received: from dflp33.itg.ti.com (10.64.6.16) by DFLE111.ent.ti.com (10.64.6.32) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1261.35 via Frontend Transport; Mon, 22 Jan 2018 07:11:33 -0600 Received: from dlelxv97.itg.ti.com (dlelxv97.itg.ti.com [172.17.2.193]) by dflp33.itg.ti.com (8.14.3/8.13.8) with ESMTP id w0MDBXWv021754; Mon, 22 Jan 2018 07:11:33 -0600 Received: from lta0400828d.ti.com (vboxa0400828d.emea.dhcp.ti.com [172.22.235.94]) by dlelxv97.itg.ti.com (8.14.3/8.13.8) with ESMTP id w0MDBVwp029951; Mon, 22 Jan 2018 07:11:32 -0600 From: Roger Quadros To: CC: , , Roger Quadros Subject: [PATCH 0/4] usb: dwc3: Add dual-role support using OTG core Date: Mon, 22 Jan 2018 15:11:24 +0200 Message-ID: <1516626688-2302-1-git-send-email-rogerq@ti.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Felipe, Some platforms (e.g. TI's AM437x) don't have USB ID pin state available over GPIO/extcon but need to rely on the DWC3 core's OTG block to get the ID pin state instead. This series implements simple dual-role functionality using DWC3's OTG block. Debugfs 'mode' override is also functional so user can switch between "otg", "host" or "device" modes for debug. Although system suspend/resume isn't working yet in mainline for AM437x, I've tested this series for system suspend/resume using a local tree. This series depends on [1] and [2] [1] https://www.mail-archive.com/linux-usb@vger.kernel.org/msg98771.html [2] https://www.mail-archive.com/linux-usb@vger.kernel.org/msg98848.html Roger Quadros (4): usb: dwc3: prevent setting PRTCAP to OTG from debugfs usb: dwc3: core.h: add some register definitions usb: dwc3: add dual role support using OTG block ARM: dts: am43xx: Enable dual-role mode for USB1 arch/arm/boot/dts/am437x-gp-evm.dts | 2 +- arch/arm/boot/dts/am437x-sk-evm.dts | 2 +- arch/arm/boot/dts/am43x-epos-evm.dts | 2 +- drivers/usb/dwc3/core.c | 70 ++++- drivers/usb/dwc3/core.h | 111 ++++++++ drivers/usb/dwc3/drd.c | 492 +++++++++++++++++++++++++++++++++-- 6 files changed, 650 insertions(+), 29 deletions(-) -- cheers, -roger Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki