Received: by 2002:ab2:6486:0:b0:1ef:eae8:a797 with SMTP id de6csp46538lqb; Fri, 15 Mar 2024 14:42:01 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCW4neZGE/yYwHeMvmjJh4v16X+fe/LG1FnIyyugSCnl/gGpi5nH6NA7jzRU/K7ELWBcpt/xzDDcYs4YTroRHFSAfKjRRPgYLUDU9j6OAg== X-Google-Smtp-Source: AGHT+IE+FIar13g07fsczGYPeyChNDi//zAzMyCzQJAuKJylgnP3z3OY1NVh6wCeAGrWw6qXKOAR X-Received: by 2002:a05:6512:21cc:b0:513:27a1:24cb with SMTP id d12-20020a05651221cc00b0051327a124cbmr3544658lft.51.1710538920848; Fri, 15 Mar 2024 14:42:00 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1710538920; cv=pass; d=google.com; s=arc-20160816; b=Cjtg+5NDdtRs0Z54Ty6XQa2JiFrviEYl8ht+HX8vgquZHuR+suVIYDGFhAcR4VHlin UyxztG/owNXECnC9YXBXr/pcMvg56QDaXyneVYDeHRA/lS9x8RkhpAb5KZGUVohtYFrn 67ndB8nMg+kkfiagmQQM/bSYulpADdIkGA5kqjpPZsh7h+hhvooMna44WyFcyJJP+W2g vLCq+6MHfAB5VD4z6Rl+WljIK2DbR4QCapbNvvRNct+1onWCwTcTZ+QCy85co3Ald/iJ eASJxG9vDARlvyTp+y9J2gsDutG9cktBeOKEDc7HscMA14ncLwd3oC+XBuEr2QQXq0Qs KvWw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:date:message-id:dkim-signature; bh=MfsIptA/4PZLiGdSLGGHlwjOlLY40NV1suJA7LpgEmg=; fh=xyP72ZZdj4YHLVRWel/AhKYowksq1TKCmlBM1SjS4qw=; b=iNsiIExXUdUw6SeBXE+d6nmViU89GPx/5fMSgnSZQV1KiJcwgwhiXXfmvBUcmIEh7x pSU7Q+vqOV4wCXXUF1vz7oAr0xC1A/LRsm9Wb5XQADscwGe1BpVjNKLyvmjnJUk20cEz +8lYwyNv/3iVrOdoOY/2gGHlAYRHJSOPKOBQUNfFeQGJXfLWDCMQ5Kqj8y52USB0sLsx uIWpO+Un2kxUSDCvZJKghjHyBAPpo5iB+sp9n42qkdSGdU7gOG5OOBusfwEAzelMyoRB RCmyBdjKKCUEr1hXJSOnHk+YrMH6LWewLel1Q1FY/y8fZUhK2FYewGt1WnsnKldsd3cm +bwA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=Jiq152X+; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-104948-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-104948-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id v25-20020a1709060b5900b00a441e6636c6si2065130ejg.251.2024.03.15.14.42.00 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 Mar 2024 14:42:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-104948-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=Jiq152X+; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-104948-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-104948-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 6574D1F22149 for ; Fri, 15 Mar 2024 21:42:00 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id B1EE054BE2; Fri, 15 Mar 2024 21:41:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Jiq152X+" Received: from mail-pg1-f169.google.com (mail-pg1-f169.google.com [209.85.215.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9C1CC12B82; Fri, 15 Mar 2024 21:41:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.169 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710538910; cv=none; b=az2Qchnf4tCbsrVekhapT3yUKrvJzKJ2ZnbUJBQKdlZrRiiyGThNomvDvHJiKFwzcZJAhsj8wxkmVSMWM9DZsO5wRLQAfdA+Gz7VU1LM96IbcTgXKVagY2jgMK92siWr8ho+zDieMGVlFnC8j/pPBPAFRcrNsw/ALlY6JyfP4MM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710538910; c=relaxed/simple; bh=/nGnq3hxjY4shar4UFIsYXg/H02Kuji0gsz0j+/Yk0w=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=FfDjGd+zNoHhTMc2DT4rsFWfzUHAAEAv8tMUxtfILpqfL1DbvLrZ3/siptWupW9dSoRBe1tjemLsMbhTTwEFl/wflgf/WpS1uKzuUSbwB+Novi/5KNh0r2QetibWkb8fHPdKfjPqfB12p1RxLJ7xrlIdPBjfm5J0J2DRMdEikiE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Jiq152X+; arc=none smtp.client-ip=209.85.215.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-pg1-f169.google.com with SMTP id 41be03b00d2f7-5d4d15ec7c5so1947578a12.1; Fri, 15 Mar 2024 14:41:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1710538907; x=1711143707; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=MfsIptA/4PZLiGdSLGGHlwjOlLY40NV1suJA7LpgEmg=; b=Jiq152X+hQJH0KsoLWKJo9Z9uV0ernXmE9hYukwprpUQUAGBK84drP9XZyTQK9vwNS WTYxCkINYdoEDQ5/26lpDisQ+ZoouSEfCu5G8w2693neK2ia1E1aLCI3NepVjphFd9CY KqArVsVA4NAOEDcTD7bCl32oUIdRNqolUoBVanrjvgiayx8cmSiRE50rEh8Ch4DMrO+c 0YzjWqXXJCAltR8j2GL04bX/bcfxQ/m53CmjRIN2r+OX2lnzLMUxB8So/a1CisZ0nVQn q+hCV43rq/q945mQ/hhPnltplg1bODrJgBXBFRv1avBdHuyzxtJyUqbW0kdrGY2pDil6 //nw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710538907; x=1711143707; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=MfsIptA/4PZLiGdSLGGHlwjOlLY40NV1suJA7LpgEmg=; b=X5vpRiDI1ybSoZUSX38DvNt6GxAgBosPU4JZZhnUS2MqIsxYIgiS9O3HsnWxI3IeZd 9uLi9djCZvIXYrhzXquR4gqi2fAR5svojBBaEzaNb+DVjMfkd2+pCkpSC7Vl0MwUx48X doUhDXvg1wX2T+Ebr5SOcuv6KqZMX5YmDbL7or49t1V6kX/tPTOi0wDuhttTsqSJ75x+ Hdim31fH6+hnu8CgF+EnYV6QnRhmRmo77F/PeE5ULavB3UJ5xkT5gHiSLt2F+f0uLzIl FpWpw3aSRh/xt5DQZpJDhSfgbgHVVT9k1zVR8J/NaEv35xnXNCwITPCXP3vl9KqiGYy5 Tj8g== X-Forwarded-Encrypted: i=1; AJvYcCXhgSeTvgWdlOtyfQtppQ3nfDHj63hop+3A0qvPK+NqrMkOBZ8AQF8oKU0TmGOI6UfzF18LGNQJ001Co0O8RciQ+I1qwytq67kEMStOYoKCI9Heb/n0iwi9+Do9Kou/xe+6y3x1Z4VFbHwttX7pkxzAV95P+XSkN/T7tQwmxrFTYSOR4w== X-Gm-Message-State: AOJu0YzGmm69W0g/Dg2jl32JN4vVZTgCm4XqvW87wtrUuRGJC8uUHZas 6L+FWsWkfllTBh0ccaOer0I7U7Yzs/PKfeEc9apP4bBinp1sUi6M X-Received: by 2002:a17:90b:882:b0:29b:4755:23fc with SMTP id bj2-20020a17090b088200b0029b475523fcmr5925822pjb.33.1710538906691; Fri, 15 Mar 2024 14:41:46 -0700 (PDT) Received: from [172.16.116.58] ([103.15.228.94]) by smtp.gmail.com with ESMTPSA id sj16-20020a17090b2d9000b0029bc2b845c4sm3417482pjb.11.2024.03.15.14.41.38 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 15 Mar 2024 14:41:46 -0700 (PDT) Message-ID: <656ca446-9e56-4879-bb42-cd29063e0a82@gmail.com> Date: Sat, 16 Mar 2024 03:11:29 +0530 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 0/8] misc: Add mikroBUS driver Content-Language: en-US To: Vaishnav M A Cc: linux-kernel@vger.kernel.org, jkridner@beagleboard.org, robertcnelson@beagleboard.org, Rob Herring , Krzysztof Kozlowski , Conor Dooley , Nishanth Menon , Vignesh Raghavendra , Tero Kristo , Derek Kiernan , Dragan Cvetic , Arnd Bergmann , Greg Kroah-Hartman , Liam Girdwood , Mark Brown , Jiri Slaby , Johan Hovold , Alex Elder , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-spi@vger.kernel.org, linux-serial@vger.kernel.org, greybus-dev@lists.linaro.org References: <20240315184908.500352-1-ayushdevel1325@gmail.com> From: Ayush Singh In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 3/16/24 02:50, Vaishnav M A wrote: > Hi Ayush, > > On Sat, Mar 16, 2024 at 12:19 AM Ayush Singh wrote: >> MikroBUS is an open standard developed by MikroElektronika for connecting >> add-on boards to microcontrollers or microprocessors. It essentially >> allows you to easily expand the functionality of your main boards using >> these add-on boards. >> >> This patchset adds mikroBUS as a Linux bus type and provides a driver to >> parse, and flash mikroBUS manifest and register the mikroBUS board. >> > As Russel had provided the feedback, this patchset does not add support > for mikrobus, but a subset of mikrobus add-on boards which have a > 1-wire click ID EEPROM with an identifier blob that is similar to the greybus > manifest. This series lacks the necessary context and details to the > specifications that is implemented. > > https://www.mikroe.com/clickid - you should atleast point to this specs. > >> The v1 and v2 of this patchset was submitted by Vaishnav M A back in >> 2020. This patchset also includes changes made over the years as part of >> BeagleBoards kernel. >> >> Link: https://www.mikroe.com/mikrobus >> Link: https://docs.beagleboard.org/latest/boards/beagleplay/ >> Link: https://lore.kernel.org/lkml/20200818124815.11029-1-vaishnav@beagleboard.org/ Patch v2 >> > Thank you for making the effort to upstream this, arriving at the > latest revision of the public available click ID hardware took almost 2-3 years > and I could not personally keep up with upstreaming, my sincere apologies to > the maintainers that provided feedback on the earlier revisions. I hope an > updated version of this series lands upstream with your work as the efforts > made at BeagleBoard.org Foundation makes development simpler by adding > plug and play support to these add-on boards. Also this series mentions only > the case where mikroBUS port is present physically on the board, but there > can be mikroBUS ports appearing over greybus and that is the reason why > greybus manifest was chose as descriptor format - the series needs to > describe these details so that a reviewer has the necessary information > to review your patches. A link to beagleconnect is also helpful to reviewers. > > https://docs.beagleboard.org/latest/projects/beagleconnect/index.html Yes, I left out the mikroBUS over greybus patches for now since this patch series is already too big. >> Changes in v3: >> - Use phandle instead of busname for spi >> - Use spi board info for registering new device >> - Convert dt bindings to yaml >> - Add support for clickID >> - Code cleanup and style changes >> - Additions required to spi, serdev, w1 and regulator subsystems >> >> Changes in v2: >> - support for adding mikroBUS ports from DT overlays, >> - remove debug sysFS interface for adding mikrobus ports, >> - consider extended pin usage/deviations from mikrobus standard >> specifications >> - use greybus CPort protocol enum instead of new protocol enums >> - Fix cases of wrong indentation, ignoring return values, freeing allocated >> resources in case of errors and other style suggestions in v1 review. >> >> Ayush Singh (7): > It looks like the version you have sent is very similar to the > version I had previously updated for Beagleboard git with > only rebases and cleanup, but I don't see major functional > changes. I request you give credit to the original author > atleast as a Co-author with Co-developed by tag, As there > there was a significant amount of work done by myself to > come up with this specs and get everything working on close > to 150 mikrobus add-on boards on physical mikroBUS ports > and over greybus: > https://github.com/vaishnavachath/manifesto/tree/mikrobusv3/manifests Yes, I will add Co-author and Co-developed tags. I think I should use your ti email? I would have preferred to keep you as the author in the git commit but I could not get the patches applied cleanly back when I tried it. > The driver today is poorly written and was one of the first > Linux kernel development work I did while I was still in college > so I might have made a lot of blunders and just rebasing and > reposting will not get this to an acceptable state, here is what > I would recommend: > > * Drop all the unnecessary changes in the mikroBUS driver to > support fixed-regulators, fixed-clocks, serdev device .etc and > implement minimal changes to support the mikroBUS clickid > devices. > > * Provide necessary justification to why the particular descriptor > format (greybus manifest) is chosen, with pull request to manifesto > and greybus-specification. > https://github.com/projectara/greybus-spec > and similar to : https://github.com/projectara/manifesto/pull/2 > > * Move the mikrobus W1 driver to w1/ subsytem, it is a standard > W1 EEPROM driver (also a standard part with updated family code) > * Keep a RFC series of changes where mikroBUS ports can appear over > greybus to justify why the identifier format needs to be extended greybus > manifest. > >> dt-bindings: misc: Add mikrobus-connector >> w1: Add w1_find_master_device > Dependent patches that goes to different subsytems should > be sent first separately to avoid confusion and then your series > should mention the necessary dependencies. (same for > spi). > >> spi: Make of_find_spi_controller_by_node() available >> regulator: fixed-helper: export regulator_register_always_on >> greybus: Add mikroBUS manifest types >> mikrobus: Add mikrobus driver >> dts: ti: k3-am625-beagleplay: Add mikroBUS > Send this patch as DONOTMERGE till your bindings are > accepted. Thanks, should I just add it in the message body? I cannot see anything in docs about that. >> Vaishnav M A (1): >> serdev: add of_ helper to get serdev controller >> > Drop this from initial series, > I will provide further feedback from my TI e-mail, > Vaishnav Achath > > Thank again for taking this up, > > Thanks and Regards, > Vaishnav > >> .../bindings/misc/mikrobus-connector.yaml | 110 ++ >> MAINTAINERS | 7 + >> .../arm64/boot/dts/ti/k3-am625-beagleplay.dts | 76 +- >> drivers/misc/Kconfig | 1 + >> drivers/misc/Makefile | 1 + >> drivers/misc/mikrobus/Kconfig | 19 + >> drivers/misc/mikrobus/Makefile | 6 + >> drivers/misc/mikrobus/mikrobus_core.c | 942 ++++++++++++++++++ >> drivers/misc/mikrobus/mikrobus_core.h | 201 ++++ >> drivers/misc/mikrobus/mikrobus_id.c | 229 +++++ >> drivers/misc/mikrobus/mikrobus_manifest.c | 502 ++++++++++ >> drivers/misc/mikrobus/mikrobus_manifest.h | 20 + >> drivers/regulator/fixed-helper.c | 1 + >> drivers/spi/spi.c | 206 ++-- >> drivers/tty/serdev/core.c | 19 + >> drivers/w1/w1.c | 6 +- >> drivers/w1/w1_int.c | 27 + >> include/linux/greybus/greybus_manifest.h | 49 + >> include/linux/serdev.h | 4 + >> include/linux/spi/spi.h | 4 + >> include/linux/w1.h | 1 + >> 21 files changed, 2318 insertions(+), 113 deletions(-) >> create mode 100644 Documentation/devicetree/bindings/misc/mikrobus-connector.yaml >> create mode 100644 drivers/misc/mikrobus/Kconfig >> create mode 100644 drivers/misc/mikrobus/Makefile >> create mode 100644 drivers/misc/mikrobus/mikrobus_core.c >> create mode 100644 drivers/misc/mikrobus/mikrobus_core.h >> create mode 100644 drivers/misc/mikrobus/mikrobus_id.c >> create mode 100644 drivers/misc/mikrobus/mikrobus_manifest.c >> create mode 100644 drivers/misc/mikrobus/mikrobus_manifest.h >> >> >> base-commit: 61996c073c9b070922ad3a36c981ca6ddbea19a5 >> -- >> 2.44.0 >> I guess I will start with only i2c and spi support and go from there. Ayush Singh