Re: [PATCH v3 1/8] dt-bindings: misc: Add mikrobus-connector

Krzysztof Kozlowski
2024-03-15T20:40:17Z

On 15/03/2024 21:20, Russell King (Oracle) wrote:
> On Fri, Mar 15, 2024 at 09:09:11PM +0100, Krzysztof Kozlowski wrote:
>>> +properties:
>>> + compatible:
>>> + const: mikrobus-connector
>>
>> Hm, why do you create binding for the connector, not for some sort of
>> controller? Please provide some rationale for this in commit msg.
>
> I think you have a distorted view. I refer you to the Mikroe mikroBUS
> specification - it's _just_ a connector which provides a fairly
> standardised purpose for each pin and the electrical specifications.
> For example of the pins: power, UART, SPIs, I2C, PWM, and analogue
> pins.

I refer to the commit msg or description in the binding and there is
nothing explained like this. Yeah, true, I could google every possible
bus specification, but I also expect some sort of help here by the patch
submitter.

The binding looks like binding for a connector, not for some sort of
controller, then are you saying the control part it is purely in
software? That's how DTS looks like, but then my question is are there
some sort of controller which would also perform this?

>
>>> + pinctrl-names:
>>> + items:
>>> + - const: default
>>> + - const: pwm_default
>>> + - const: pwm_gpio
>>> + - const: uart_default
>>> + - const: uart_gpio
>>> + - const: i2c_default
>>> + - const: i2c_gpio
>>> + - const: spi_default
>>> + - const: spi_gpio
>>
>> I fail to see why such choice is related to the connector itself.
>
> This isn't a choice at all. Here's the list of 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
>
> Any data pin can be a GPIO if e.g. a relay board is plugged in, even
> if some of the other pins are used for e.g. UART purposes. For example,
> a GPS board that provides the GPS data over the UART pins, and the
> PPS signal through a different pin.

And could you not have some certain features supported? Could have some
pins just pull down / not connected?

Best regards,
Krzysztof