Received: by 2002:ab2:620c:0:b0:1ef:ffd0:ce49 with SMTP id o12csp1058240lqt; Tue, 19 Mar 2024 11:20:06 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUtOidWamBL/Tf4b7P5yWgDvUVDA2q9oCo3D4Pafyfd0zUPsqlLwUQp9mxU2rD8mFgZW9OTiF58xvYePJkwZTrD2XKrOiInt3tJKzz26g== X-Google-Smtp-Source: AGHT+IF8+3CR2FS0SvhJ4zmhJAQsqDklSsk5TOzdkMqMRfZS2Q8N5txdYl2QPcjxf3L3Xz7aQavc X-Received: by 2002:a05:6214:14b0:b0:691:3cf5:b7ad with SMTP id bo16-20020a05621414b000b006913cf5b7admr458890qvb.12.1710872405767; Tue, 19 Mar 2024 11:20:05 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1710872405; cv=pass; d=google.com; s=arc-20160816; b=JhXlVfQuNeQ3sdryeWolQMHdD9yhuoUmDxRLCc4wfXgmu/X/lO/qqIqLh9rspnoNqs 8eB5mWe7+yJZ7Fy2NfNasphej3Yhgjhz1xgqW6/j3G8Ypw84KdmSoHEgAa+ogCkSoTYX 3AvYisyqpzEiTybYGj7lfGobQokFgIvEcqKSYTAHcVrQ21QMF8BlFAgt9j1JkRJFRcqN Mie6epe8NQNd43aaXh6HU5ETkfmjV4YFymLZaMlTL2x5B6qq1TacXNTyl86yRx2VekIG jo9tPVJLC7dR00cja6mik/ukI8RL9XRe1mRYkNSZT3iGUtQGAzRKAzyV0kW0DrClQy6Q uQ1Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=in-reply-to:content-disposition:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:message-id:subject:cc :to:from:date:dkim-signature; bh=3jFdWHzKsF4y+RWYftyOChp9wyRVR2+1Jyzao9J/muI=; fh=nWFjLfL3Hcv1QYijB8KogAhvGoOCW7PmqGGZmJvnICI=; b=1K6MwJ66k7db0diE4RGqk+THp2nAPj2rDEj7qiHIqoRhI23TJjXbg64aZ9Nc6PWBwo mU0kP/XLfdrEs84Tw7fzu63emba6OQuBuOjNIAOkWm0iztGcmB+Uwxj/qtJws4SsLNd3 0yZcMd96dCV1A9lj+Q3CPGpafYmpKe7IK6tRu/y3L9qFL3ayq91vkl3+3RQDH6cT+nfA znwSQBBtfgPwTB/ImsM8IaZLxPINEs/RYvub4RnBFafZM3W4ncJFhMfhT/0MpBIW76IS ml7nXMKXoX+9PPSxf3nt2lVLk3My9tI8kGnkWexVIxp2Y99fJRIKyLQJui07Il8w3Usm mpNg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=nIEJ0skm; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-107997-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-107997-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id i14-20020ad45c6e000000b006915b8ba4a8si11340096qvh.90.2024.03.19.11.20.05 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 Mar 2024 11:20:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-107997-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=nIEJ0skm; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-107997-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-107997-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org 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 ny.mirrors.kernel.org (Postfix) with ESMTPS id 719DB1C22861 for ; Tue, 19 Mar 2024 18:20:05 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 949DB2D796; Tue, 19 Mar 2024 18:19:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="nIEJ0skm" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 96E302C6A9; Tue, 19 Mar 2024 18:19:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710872393; cv=none; b=R+gltKBCfWtJsMXStYYt3ZnK9oxZAb49F13ZP24knY5eMzfhTvTeA5L7XLWdeAAvzFRGacHlKUQBoEPtURxN4WSuTONKhZtYTTIotQHuFL6zosZa7pLB8HT8XRRRAi/UuJ/81Nu0MUaYbgr1C/QFc/X63sAJeLvOlernDfJSCXw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710872393; c=relaxed/simple; bh=3jFdWHzKsF4y+RWYftyOChp9wyRVR2+1Jyzao9J/muI=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=lPFvh+i2+KkrppN5R71qLmC37Po4chCsSToPpYsgRBbaCrJ1iFT/FbH2S2tz9De6KISQrAjc+F8R8+3VxPZaYSacsusfMN8a3yvZTQs4UfPIgMO6npfcU2voWlwKWVz4em/hS3c1D9Kz58XZvxPNJRYKOQd3LUJpQo0v0fdHpyE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=nIEJ0skm; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5C136C433F1; Tue, 19 Mar 2024 18:19:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710872393; bh=3jFdWHzKsF4y+RWYftyOChp9wyRVR2+1Jyzao9J/muI=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=nIEJ0skmTErXlhq63YSN5D57OCqU1RustN5tR4EY1/pK52948kRylXXe5xxfzTPbH BjBos5iV4bPo1FZlPqqzPo+Rfla3coQYbo7pCIeO5sCPqrbMRoOltMvSCUhUdB4VZo j0VsMBuKSHlQUf+d92El+tTVlv3sBBgOtNSX53Nx4nTGTWGwI6a6rHCyJM0S2fEu8T DzLCIn1d2hKJiMGD5pxOBXOvmZhJJ70ybh99rTx1CAAhIfNoYW91N30PR4o00qUT0l MJASIDi/MoTuMVINpHRJJIRAiZeqGSRG8a+amK1N5Fz1ntTqwHpf6N5pKVBCeMZauf cru8w/ccdu6YA== Date: Tue, 19 Mar 2024 18:19:46 +0000 From: Conor Dooley To: Vaishnav Achath Cc: Andrew Lunn , Ayush Singh , Michael Walle , open list , jkridner@beagleboard.org, robertcnelson@beagleboard.org, lorforlinux@beagleboard.org, Rob Herring , Krzysztof Kozlowski , Conor Dooley , Nishanth Menon , Vignesh Raghavendra , Tero Kristo , Derek Kiernan , Dragan Cvetic , Arnd Bergmann , Greg Kroah-Hartman , Mark Brown , Johan Hovold , Alex Elder , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , "moderated list:ARM/TEXAS INSTRUMENTS K3 ARCHITECTURE" , "open list:SPI SUBSYSTEM" , "moderated list:GREYBUS SUBSYSTEM" , Vaishnav M A Subject: Re: [PATCH v4 1/5] dt-bindings: misc: Add mikrobus-connector Message-ID: <20240319-unmoral-map-3ab9a467b637@spud> References: <20240317193714.403132-1-ayushdevel1325@gmail.com> <20240317193714.403132-2-ayushdevel1325@gmail.com> <4b319264-bff7-48e5-85e8-201ca0bafec6@ti.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="/GzH6Gz2jpHyJQ0B" Content-Disposition: inline In-Reply-To: <4b319264-bff7-48e5-85e8-201ca0bafec6@ti.com> --/GzH6Gz2jpHyJQ0B Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Mar 19, 2024 at 11:05:37PM +0530, Vaishnav Achath wrote: > Hi Andrew, >=20 > On 19/03/24 17:55, Andrew Lunn wrote: > > > The device tree defines the SPI controller associated with mikroBUS S= PI > > > pins. The driver on match queries and takes a reference to the SPI > > > controller but does nothing with it. Once a mikroBUS add-on board is > > > detected (by passing manifest using sysfs or reading from 1-wire EEPR= OM), > > > the driver parses the manifest, and if it detects an SPI device in ma= nifest, > > > it registers SPI device along with setting properties such as `chip_s= elect`, > > > `max_speed_hz`, `mode`, etc., > >=20 > > How complex can the description of the hardware be in the manifest? > >=20 > > Could i describe an SPI to I2C converter? And then a few temperature > > sensors, a fan controller, and a GPIO controller on that I2C bus? And > > the GPIO controller is then used for LEDs and a push button? DT > > overlays could describe that. Can the manifest? >=20 > No, it cannot describe such complex hardware, it can only describe simple > devices (sensors/displays .etc) on a standard mikroBUS add-on board, we d= id > a analysis on what mikroBUS add-on boards have driver support in Linux and > then noticed that most devices does not need this kind of complex > description to work: > https://elinux.org/MikroEClicks_with_Linux_Support What happens to the devices that fall outside of the "do not need a complex description" category? Do you expect that those would be described by a dt overlay? > The greybus manifest already is being used in the greybus susbystem for > describing an interface and there are already greybus controllers (SPI/I2C > .etc) being created according to the manifest contents, all this driver d= oes > is to extend that format to be able to instantiate devices on these buses. > The primary goals for introducing the driver for mikroBUS add-on boards a= re: >=20 > 1) A way to isolate platform specific information from add-on board speci= fic > information - so that each permutation of connecting the add-on board on > different ports on different board does not require a new overlay. > 2) A way to instantiate add-on boards on greybus created virtual mikroBUS > ports. > 3) Both 1 and 2 should use the same add-on board description format. >=20 > Standard device tree overlays did not help to achieve this and that is why > the standard interface discovery mechanism in greybus, the manifest was > extended even though it is not the most optimal way to describe hardware. >=20 > The greybus manifest extensions were made with the following things in mi= nd > and three new descriptor were introduced: > 1) mikrobus descriptor - pinmux/port state > 2) device descriptor - contains information which is a superset of struct > i2c_board_info , struct spi_board_info .etc > 3) property descriptor - to describe named properties of the types defined > under https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/= tree/include/linux/property.h#n22 >=20 > With these we were able to test around 150 add-on boards with correspondi= ng > drivers in Linux : > https://github.com/MikroElektronika/click_id/tree/main/manifests >=20 > The mechanism is not as robust a device tree and should not be compared, = the Why not? You're suggesting this as a method for describing devices and you seem to have extended the manifest to support more complex properties, why shouldn't someone question make that comparison? > intent was not to create a new hardware description format, but extend the > existing greybus manifest format to be able to instantiate devices on the > greybus SPI/I2C/GPIO/ (mikroBUS) --/GzH6Gz2jpHyJQ0B Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEABYIAB0WIQRh246EGq/8RLhDjO14tDGHoIJi0gUCZfnXQgAKCRB4tDGHoIJi 0lYUAQC/cgPzxALFqs+2IGb37vdqN7kxtVGjYyGIxb1QrovmNQD/QGS0RjLRgZ8r Hi1rcx/ebRKdF7MmNmQ+2gyZuq/qyQE= =bX43 -----END PGP SIGNATURE----- --/GzH6Gz2jpHyJQ0B--