Received: by 2002:a25:31c3:0:0:0:0:0 with SMTP id x186csp1567927ybx; Thu, 7 Nov 2019 13:47:05 -0800 (PST) X-Google-Smtp-Source: APXvYqyp2ooTgozmshxN0qsNqKfh/1uxMWvQFaxy3UYNeNaGnyvzvZzL2XG3f1iT7TJPIleYYLfd X-Received: by 2002:a50:ae26:: with SMTP id c35mr6528739edd.55.1573163225761; Thu, 07 Nov 2019 13:47:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1573163225; cv=none; d=google.com; s=arc-20160816; b=pDDn0jj16O1wKNGqTwcmNxz5AAoF2n9GZBRP8L2oGzSGR5KzPQqm138D/2SO5dRad7 FMPDGXYl0IxwRHZ88mp6E/tzrlygnYAWyo/EnfJQn/7XaiPm5mGg+17gkvyXU9PVGd2f ECw160KFMXSNZolrO7i5YXnibO4eW9bHPcKx7GbFipmeIFOdMX1JMoHx3riNhPOZoxzJ kpX2+IUPmJIjnsRF4dWnr74CBr4C67RwfiPGaz6scFkpP2TRzANozGjmR2IdfVjI6xxv ki3vsuuHCaixY9FWGVR7G90diaXXLiKZbLLSAzFZdCD/wLcI3oGvFPPHCGbE+bi/TzCH Qm6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=vdE43AOPgHUOZFkTPYgEr+GFnp1Upxe5/MszWO0KUrY=; b=j5Ub9m6LKPJXDkYaMpxDUBswbo4xEYJclTpfunqN1z5BgdDsKvjQksesVtCtCsnGnR 27BuRTnifw6k1i9ROmQ/LYqS83bGK27mhZwWrD8XFtdMmtlMdZ4V4EJh9xOdhG5xfcw2 0cwctv2xIJu6+PrN1l8FZ7lTwWWf+0D9g3a6mAu/Rkr9QYH2YB3UUjA1v62R4lwLSj9N 6putcjQE6ZDdPQZ2sWHVET7Xw3WyFi2tYb/D/G0erYhfFFB0yJdBf9hbK4OZIZlfvA/y ESoGx0smB9SS9kqTeBiDStKNzFk+n3pKELk7BF6jpZdTuVHZKV+NHGjdhqPu3noe5yY3 n99A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=EeBOEpn5; 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=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v19si2368614ejx.308.2019.11.07.13.46.42; Thu, 07 Nov 2019 13:47:05 -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=@kernel.org header.s=default header.b=EeBOEpn5; 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=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727463AbfKGVp2 (ORCPT + 99 others); Thu, 7 Nov 2019 16:45:28 -0500 Received: from mail.kernel.org ([198.145.29.99]:57420 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725924AbfKGVp2 (ORCPT ); Thu, 7 Nov 2019 16:45:28 -0500 Received: from mail-qt1-f172.google.com (mail-qt1-f172.google.com [209.85.160.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id B2B082166E; Thu, 7 Nov 2019 21:45:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1573163126; bh=+2u/MCrAxpfwO9VHiDi1QHr4uX2w6bjyxLIeb9aiSuM=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=EeBOEpn5O9c3uDCStbIKsbOshbPZ5+KmIiaLNtaUY40Sjcn2KPWdB1MzA8gh8porv 6cQ69EGhxOHOviQRLEB/XSKS338JqkXn88I+MyRe4k8oiOekm4iIrqAHDkjdW0ZFa7 egkXfhnno87EqaQHt1MH42gYuJNPCVz7Hm7ZEHYk= Received: by mail-qt1-f172.google.com with SMTP id o11so4051685qtr.11; Thu, 07 Nov 2019 13:45:26 -0800 (PST) X-Gm-Message-State: APjAAAVXtwl6Q9N6tHEjPdKIMUSS35mDz8yCpHpJY8sUTG6pmcINeNkU p8gCaPFPtmRial/LYCW5kCAuJd70XbCRplabmw== X-Received: by 2002:ac8:458c:: with SMTP id l12mr6736244qtn.300.1573163125922; Thu, 07 Nov 2019 13:45:25 -0800 (PST) MIME-Version: 1.0 References: <20191028215919.83697-1-john.stultz@linaro.org> <20191028215919.83697-7-john.stultz@linaro.org> <87h83rj4ha.fsf@gmail.com> <87k18mhaiq.fsf@gmail.com> In-Reply-To: <87k18mhaiq.fsf@gmail.com> From: Rob Herring Date: Thu, 7 Nov 2019 15:45:12 -0600 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v4 6/9] usb: dwc3: Rework resets initialization to be more flexible To: Felipe Balbi Cc: John Stultz , lkml , Greg Kroah-Hartman , Mark Rutland , ShuFan Lee , Heikki Krogerus , Suzuki K Poulose , Chunfeng Yun , Yu Chen , Hans de Goede , Andy Shevchenko , Jun Li , Valentin Schneider , Jack Pham , Linux USB List , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Oct 30, 2019 at 4:01 AM Felipe Balbi wrote: > > > Hi, > > John Stultz writes: > > > On Tue, Oct 29, 2019 at 2:17 AM Felipe Balbi wrote: > >> John Stultz writes: > >> > The dwc3 core binding specifies one reset. > >> > > >> > However some variants of the hardware my not have more. > >> ^^ > >> may > >> > >> According to synopsys databook, there's a single *input* reset signal on > >> this IP. What is this extra reset you have? > >> > >> Is this, perhaps, specific to your glue layer around the synopsys ip? > > > > Likely (again, I unfortunately don't have a ton of detail on the hardware). > > > >> Should, perhaps, your extra reset be managed by the glue layer? An extra clock or reset is a silly reason to have a whole other node and driver. If there's additional blocks and registers, then yes a glue node makes sense. > > So yes the dwc3-of-simple does much of this already (it handles > > multiple resets, and variable clocks), but unfortunately we seem to > > need new bindings for each device added? I think the suggestion from > > Rob was due to the sprawl of bindings for the glue code, and the extra > > complexity of the parent node. So I believe Rob just thought it made > > sense to collapse this down into the core? > > > > I'm not really passionate about either approach, and am happy to > > rework (as long as there is eventual progress :). > > Just let me know what you'd prefer. > > Well, I was under the impression we were supposed to describe the > HW. Synopsys IP has a single reset input :-p John is. His chip requires 2 resets to use the USB block and the compatible provides that distinction. Maybe HiSilicon has a newer or customized IP version that has 2 resets. The block could have external RAMs (because every process has its own) which may have their own reset. With NDA specifications and little knowledge of the full revision history, we can really never know. Also, omitting clocks and resets from the dwc3 node entirely is just as much not describing the h/w (only the glue needs clocks?). This block is the oddball. I think there's 1 or 2 other blocks where this glue node was done, but please stop. If we did this every time there's a variation in clocks or resets, we'd pretty much have glue nodes everywhere. Rob