From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CEE46EE0213 for ; Wed, 11 Sep 2024 16:05:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: Content-Type:In-Reply-To:From:References:Cc:To:Subject:MIME-Version:Date: Message-ID:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=8Z0fJcZaNKVfL/yQSd38wTgSdKg5EJ3kwsSWPUkjqWI=; b=n1ANbHJeTvdywSDL/VN1gqys7N +kChsIu/lXLtP7SPMt7YujQWWuBO2Jg90ZW7Jw3A/esWVTiu087V86uv6Nkk1kp+7KRPiaijPX7Xr 6lxtZE2GZdnDXCT3Lan1CiQOM3e6S94XnPo7JXGDXxzMOzBQfECxOah8ds95PmvRNhIoo5KHirzKp oLdEYxkEW4AF9+d5NvCnuhU+PJf2jhAVdp74KXN7JOKxx1e6ad3yGKpHjJJXaICr7560gBcYDlGmc kfu7l+pOazxpswlRMwvRCpbqHUwTFo4vzgTUeueOwwbOttp4OgalDZZxuU5oBVpTFeJq4MvxCIcTn PNfVRuog==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1soPqD-0000000AIxa-2k36; Wed, 11 Sep 2024 16:05:13 +0000 Received: from mail-pl1-x62c.google.com ([2607:f8b0:4864:20::62c]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1soPng-0000000AILa-1ll4 for linux-arm-kernel@lists.infradead.org; Wed, 11 Sep 2024 16:02:38 +0000 Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-20688fbaeafso596225ad.0 for ; Wed, 11 Sep 2024 09:02:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1726070555; x=1726675355; darn=lists.infradead.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=8Z0fJcZaNKVfL/yQSd38wTgSdKg5EJ3kwsSWPUkjqWI=; b=X/Wn8dcPW+bLwX0S+OoDuf0Hfawa2PvKYkpmQzi+7bL3lSE7tPbWGsuBvrmUgubiXe vREfk3F0MEBzN3Yz1gIsWdf81qKKVuwvc1qg0Jd5cyF1CAyYI+WsK7VW1VJ+Vf2U6Vsp BeLRqrJDq3ieHnAy8l4E8ejsEfjJVQcmrObH2D4EgThLvOlTWsWFZt956TxYrWzcHoSK OK6I4VF0gDbR2YeeBavJKT4xSKvfhMLLMh74K+f2d/AuePmr3c7fLpRUvDf5w+Qw6eET ZePR06ajF9ZGvcaSSXV4aKfyusdmVttNMso1KVQ/b57NLB2gGOhAU3HzGAZP6Ue4sk/X cFVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1726070555; x=1726675355; 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=8Z0fJcZaNKVfL/yQSd38wTgSdKg5EJ3kwsSWPUkjqWI=; b=PNCspxZuTtyKlEf9fY7dQse+AlQ8gUto9px1xhpxA6JEQivdPXxQxQC7tezVfdq5cO hmHtiOKLOBWGAZ6U0Jcmj7jPjmUVF2SDeqjeUeq42H8bcC0CuppKtC7OrBkL7ymMWLEI /yx2g0yL9Gbi4+13mO3FMF754xGlXAhB+/PBU1EC/Br17bW4iuufWoQjj+yFCcIZSr3D kA+6kY8+AlR+fN6a9cHBn/9qtSHUcqs3QSL7w3yI7apbKkoyLFdNuL5+HULF90tqxSpb GRrZ/wTbH6vbxdiQTmPMUVnqAHTZbh7EagYj7W1ejYWqjeFWiz8SmlSS51ctCOVxsuF7 Ue5w== X-Forwarded-Encrypted: i=1; AJvYcCWAqwcvR2F4crTqLdr7Iw87BtI4rF0BbW1aodOSZ/wdfoO+Jk9Qa1XqCrTS0MmGhQeypqP3JdEPJhZuemyCfmun@lists.infradead.org X-Gm-Message-State: AOJu0Yzz9AW1WMKpgeuWipPn7O3x9DztjOHkhfoKnmgBAm9wgVyuxNsX TnKPZzHEFPhPl+sQsAyVCUHVcyTE20QQUwpz0b28tdaj5SZc3Ahh X-Google-Smtp-Source: AGHT+IGZA2nrfaml+dTZzjUl09CuZgnx91GaM4wHlkcWfHL3Y2AjUxvNpFV+qA7OepeOAbrY+ZUjvQ== X-Received: by 2002:a17:902:c946:b0:205:7f87:ba3e with SMTP id d9443c01a7336-2074c5e4cf2mr73320825ad.13.1726070554257; Wed, 11 Sep 2024 09:02:34 -0700 (PDT) Received: from [172.16.118.100] ([103.15.228.94]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2076af252e2sm1398935ad.6.2024.09.11.09.02.23 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 11 Sep 2024 09:02:33 -0700 (PDT) Message-ID: Date: Wed, 11 Sep 2024 21:32:21 +0530 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 3/8] mikrobus: Add mikrobus driver Content-Language: en-US To: Greg Kroah-Hartman , Ayush Singh Cc: fabien.parent@linaro.org, d-gole@ti.com, lorforlinux@beagleboard.org, jkridner@beagleboard.org, robertcnelson@beagleboard.org, Andrew Davis , Miguel Ojeda , Alex Gaynor , Boqun Feng , Gary Guo , =?UTF-8?Q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Alice Ryhl , Trevor Gross , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Derek Kiernan , Dragan Cvetic , Arnd Bergmann , Nishanth Menon , Vignesh Raghavendra , Tero Kristo , linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org References: <20240911-mikrobus-dt-v1-0-3ded4dc879e7@beagleboard.org> <20240911-mikrobus-dt-v1-3-3ded4dc879e7@beagleboard.org> <2024091144-glitzy-kindly-fa74@gregkh> From: Ayush Singh In-Reply-To: <2024091144-glitzy-kindly-fa74@gregkh> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240911_090236_502299_B68B2D0F X-CRM114-Status: GOOD ( 26.92 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On 9/11/24 20:27, Greg Kroah-Hartman wrote: > On Wed, Sep 11, 2024 at 07:57:20PM +0530, Ayush Singh wrote: >> A simple platform driver for now that does nothing. This is required >> because without a platform driver, the mikrobus_gpio0 nexus node cannot >> be used. >> >> In future, this driver will also allow for dynamic board detection using >> 1-wire eeprom in new mikrobus boards. >> >> Signed-off-by: Ayush Singh >> --- >> MAINTAINERS | 1 + >> drivers/misc/Kconfig | 17 +++++++++++++++++ >> drivers/misc/Makefile | 1 + >> drivers/misc/mikrobus.rs | 32 ++++++++++++++++++++++++++++++++ >> 4 files changed, 51 insertions(+) >> >> diff --git a/MAINTAINERS b/MAINTAINERS >> index 0cc27446b18a..d0c18bd7b558 100644 >> --- a/MAINTAINERS >> +++ b/MAINTAINERS >> @@ -15433,6 +15433,7 @@ MIKROBUS CONNECTOR >> M: Ayush Singh >> S: Maintained >> F: Documentation/devicetree/bindings/connector/mikrobus-connector.yaml >> +F: drivers/misc/mikrobus.rs >> >> MIKROTIK CRS3XX 98DX3236 BOARD SUPPORT >> M: Luka Kovacic >> diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig >> index 3fe7e2a9bd29..30defb522e98 100644 >> --- a/drivers/misc/Kconfig >> +++ b/drivers/misc/Kconfig >> @@ -610,6 +610,23 @@ config MARVELL_CN10K_DPI >> To compile this driver as a module, choose M here: the module >> will be called mrvl_cn10k_dpi. >> >> +menuconfig MIKROBUS >> + tristate "Module for instantiating devices on mikroBUS ports" >> + help >> + This option enables the mikroBUS driver. mikroBUS is an add-on >> + board socket standard that offers maximum expandability with >> + the smallest number of pins. The mikroBUS driver instantiates >> + devices on a mikroBUS port described by identifying data present >> + in an add-on board resident EEPROM, more details on the mikroBUS >> + driver support and discussion can be found in this eLinux wiki : >> + elinux.org/Mikrobus > So you want to be a bus? Or just a single driver? I'm confused, what > exactly is this supposed to do? > > If a bus, great, let's tie into the proper driver core bus code, don't > "open code" all of that, as that's just going to make things messier and > harder to work overall in the end. > > If a single driver, why is it called "bus"? :) > > thanks, > > greg k-h Well, mikroBUS [0] is the name of the socket standard. It is basically a group of following pins: Analog - AN Reset - RST SPI Chip Select - CS SPI Clock - SCK SPI Master Input Slave Output - MISO SPI Master Output Slave Input - MOSI VCC-3.3V power - +3.3V Reference Ground - GND PWM - PWM output INT - Hardware Interrupt RX - UART Receive TX - UART Transmit SCL - I2C Clock SDA - I2C Data +5V - VCC-5V power GND - Reference Ground I do not think it would qualify as as a "bus" in the Linux driver sense. Especially with the devicetree based approach here which applies overlay directly to the actual uart/i2c/spi controllers and basically not interact with the mikroBUS node much. The driver is here to enable the following: 1. Enable dynamic board detection using 1-wire eeprom on some addon boards. 2. Provide sysfs entry for runtime board adding/removal 3. Enable using mikrobus connector node as nexus node for GPIO (not having a platform driver makes any driver trying to use the connector as nexus node go into deffered probing state). For this patch series, the driver is mostly here due to point 3. Basically a stub. [0]: https://www.mikroe.com/mikrobus Ayush Singh