Received: by 2002:ac0:a581:0:0:0:0:0 with SMTP id m1-v6csp1065741imm; Fri, 29 Jun 2018 10:46:25 -0700 (PDT) X-Google-Smtp-Source: ADUXVKJEstUxD/g8RHIsRzHwbt4WCr+ceC94Ywz+u3ztAa3YgXuodNeBuKL6ZTnD5WR7EA+e5Ifv X-Received: by 2002:a17:902:264:: with SMTP id 91-v6mr15459825plc.341.1530294385540; Fri, 29 Jun 2018 10:46:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530294385; cv=none; d=google.com; s=arc-20160816; b=uxtDmEoID17ewo+ToaHOm1jnyFWacJ9BJUyMqaAT1wTXkO1nol4auEc9rkjkc+su6s W0+Vq6Bc4bf6KrpTgqTNy1PdHcExDNFa8ywEYSWp28ySZI7ouPPGM6R8vz06zarzK4l6 fPcFUXO85ZNnTvwOBZCrzmmni/jmkZyK3NelflIvt01jyMTHhzCz3rUGwVuE1ZUlhKf6 i34OFjJOdqt8OYJ5vh4rosGmP4/bf2vCwmzh9QYxUE7odn/bUHY0yHs89y77n5NBc3Cw pyZqRcWYtwtJO5WP30wi0XB2s0v7nv6yrNBJ6dEKM7lGRAUK9SPR96C1zwnZk2GmjbsB gp5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature :arc-authentication-results; bh=4TCexlhIPRkv9ov81n6UPSmoRFaUou6aoS3yWt3YtRE=; b=dEtd3Kr4qt/zomEETFeEvL7WPpuSX3aQ7s9N8zS9hLl52xVwl/owrqECW9ZGff/Tpi ULQMAEeDRUZq67kDS2tKDR3yMsj9z8tl86cPaLvZBw3uNgJ5Voq5EieNQGZ/QaNPFjUE uScvw/DPkkhcBSV7qtjNk5+Xt7RSGfsjB7gzhwK87gYEB8WkBqmOb8aXXuzio86QE/3U 4wqU2PAj6gd+hJaD8kW7rdQJBQMgmwky+J0eLHZtpH3TJoA+ThYOh8VgS/77OJGNtSUc k48fLtwyPnFeuO/x3fGklU5zuDz2dsDPzf/auPoa3RHQs+FZSiGy3QASMBstu+9cfy9D OMQg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@lechnology.com header.s=default header.b=X3YpAEGR; 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 ce9-v6si9096169plb.364.2018.06.29.10.46.11; Fri, 29 Jun 2018 10:46:25 -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; dkim=fail header.i=@lechnology.com header.s=default header.b=X3YpAEGR; 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 S1755206AbeF2RoT (ORCPT + 99 others); Fri, 29 Jun 2018 13:44:19 -0400 Received: from vern.gendns.com ([206.190.152.46]:50523 "EHLO vern.gendns.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752547AbeF2RoQ (ORCPT ); Fri, 29 Jun 2018 13:44:16 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lechnology.com; s=default; h=Content-Transfer-Encoding:Content-Type: In-Reply-To:MIME-Version:Date:Message-ID:From:References:Cc:To:Subject:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=4TCexlhIPRkv9ov81n6UPSmoRFaUou6aoS3yWt3YtRE=; b=X3YpAEGRFx6pbCx9DDybkKSryH FKeHc3nTKOLLH5Bc0OZ3ixFSpDDR4S16RagnbH9rGYjm3M6Dh9YH+FJemGmYL4XA+Ka04W5GFeCRY gJEEQ7qn66CKGzwI2scyYkKZLPFTd6NK8XWw9MQjcvMNGgZiqSdQNEba8IFeIUhAgeM3avU0rLXm1 q5gklmJrP2JTzqH584QPdYcicxaMlwEkoRIJzU+Y3zEYStPXlrbjJPTJTvOYQMDpT91qi4Bzj4Uw/ GMQPtgL1RzM0ftWn8cTH9/hE4s3F208+TUx4Ub9MaU+Au6njSThSp1pdTBwJCgWx++Dt6Uxcf85lu 0LVivbkg==; Received: from 108-198-5-147.lightspeed.okcbok.sbcglobal.net ([108.198.5.147]:40128 helo=[192.168.0.134]) by vern.gendns.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.91) (envelope-from ) id 1fYxRO-002VRb-OT; Fri, 29 Jun 2018 13:44:14 -0400 Subject: Re: New remoteproc driver for TI PRU To: Roger Quadros , linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: Ohad Ben-Cohen , Bjorn Andersson , Rob Herring , Mark Rutland , =?UTF-8?Q?Beno=c3=aet_Cousson?= , Tony Lindgren , Sekhar Nori , Kevin Hilman , linux-kernel@vger.kernel.org, "Anna, Suman" , Tero Kristo References: <20180623210810.21232-1-david@lechnology.com> From: David Lechner Message-ID: <8fc18d40-72f5-9215-26f0-1492e3a6c0e7@lechnology.com> Date: Fri, 29 Jun 2018 12:44:12 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - vern.gendns.com X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lechnology.com X-Get-Message-Sender-Via: vern.gendns.com: authenticated_id: davidmain+lechnology.com/only user confirmed/virtual account not confirmed X-Authenticated-Sender: vern.gendns.com: davidmain@lechnology.com X-Source: X-Source-Args: X-Source-Dir: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 06/29/2018 04:58 AM, Roger Quadros wrote: > +Suman & Tero > > Hi David, > > On 24/06/18 00:08, David Lechner wrote: >> >> Date: Sat, 23 Jun 2018 15:43:59 -0500 >> Subject: [PATCH 0/8] New remoteproc driver for TI PRU >> >> This series adds a new remoteproc driver for the TI Programmable Runtime Unit >> (PRU) that is present in some TI Sitara processors. This code has been tested >> working on AM1808 (LEGO MINDSTORMS EV3) and AM3358 (BeagleBone Green). > > This is great. We have been working on something similar and I think it would > be great if we can collaborate to get all our needs addressed. Yes, I have used the PRU with the TI kernel on BeagleBone so I've seen the TI implementation. My primary interest is in the AM1808, which has a far simpler PRU than other SoCs. So, I was hoping I could get away with just implementing the basic stuff that I need and let TI add the more complex stuff later. > > Our primary requirement is that it should be possible for a user (e.g. kernel driver) to > - request a specific PRU core load a specific firmware blob and boot/stop the PRU. For this, I was thinking of suggesting a generic remoteproc provider/consumer binding that is similar to other subsystems. For example: Provider node has: #remoteproc-cells = <1>; And consumer has: remoteprocs = <&pruss 0>, <&pruss 1>; remoteproc-names = "pru0", "pru1"; The consumer device would be responsible for determining the firmware file and for calling the rproc boot function. > - configure INTC interrupt mapping based on either resource table or DT > - use request_irq to request and use an interrupt. I didn't consider creating a new interrupt controller in device tree, but that makes sense. I will have to look into it some more. > - request access to DRAM/SRAM Can the existing device tree bindings for reserved-memory be used for this? I would expect the consumer nodes to use this and not the PRUSS provider node. > - configure gpimode/miirt/xfr (CFG space) I have no idea what this stuff is. :-) (This is what I was referring to when I said I was hoping that someone else could add more later).