Re: [PATCH 4/4] arm64: dts: meson: add libretech-pc boards support

From: Jerome Brunet
Date: Mon Dec 09 2019 - 05:15:36 EST



On Sun 08 Dec 2019 at 19:05, Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx> wrote:

> Hi Jerome,
>
> this is looking good overall - I have some questions / nit-picks below
>
> On Fri, Dec 6, 2019 at 11:02 AM Jerome Brunet <jbrunet@xxxxxxxxxxxx> wrote:
> [...]
>> + adc_keys {
> on most boards we use "adc-keys" instead of "adc_keys"
>
> [...]
>> + button-onoff {
>> + label = "On/Off";
>> + linux,code = <KEY_VENDOR>;
> based on the label I assumed that the code is KEY_POWER
> why is KEY_VENDOR the better choice here?
>

My bad - The button is labeled with "UPDATE" ... nothing really matches
in the KEYs ... so VENDOR it is.

I have just copy/pasted the section and forgot to update the rest

> [...]
>> + cvbs-connector {
>> + compatible = "composite-video-connector";
>> + status = "disabled";
> is there CVBS on the board? if I remember correctly the VPU driver
> works fine when omitting the CVBS connector
> so if the board doesn't have it you may drop the whole node instead of
> keeping it disabled

The CVBS output could be provided on one the GPIO header.
Since it is not really standard, I prefer to keep off and leave to
option to easily turn it on if someone wants to use it.

I'll had a comment for that.

>
> [...]
>> + leds {
>> + compatible = "gpio-leds";
>> +
>> + green {
>> + label = "librecomputer:green:disk";
> you can use the "function" and "color" properties instead of the (now
> deprecated) "label"
>
> [...]
>> +&external_mdio {
>> + external_phy: ethernet-phy@0 {
>> + reg = <0>;
> it would be great to have a comment above which PHY is used on this board
>
>> + max-speed = <1000>;
>> + reset-assert-us = <10000>;
>> + reset-deassert-us = <30000>;
>> + reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
>> + interrupt-parent = <&gpio_intc>;
> a comment like /* MAC_INTR on GPIOZ_15 */ would be great here
>> + interrupts = <25 IRQ_TYPE_LEVEL_LOW>;
>
> [...]
>> +&pinctrl_periphs {
>> + /*
>> + * Make sure the reset pin of the usb HUB is driven high to take
>> + * it out of reset.
>> + */
>> + usb1_rst_pins: usb1_rst_irq {
>> + mux {
>> + groups = "GPIODV_3";
>> + function = "gpio_periphs";
>> + bias-disable;
>> + output-high;
>> + };
>> + };
> on other boards (like Odroid-C2) we use a GPIO hog for this. I'm not
> sure which one is better
>

This is at least tied to the related device.

I have discussed "hog" vs "pinctrl" matter with Bartosz Golaszewski and
we could not find any reason not proceed with pinctrl when possible.

> [...]
>> +&pinctrl_periphs {
>> + /*
>> + * Make sure the irq pin of the TYPE C controller is not driven
>> + * by the SoC.
> is this because the SoC default configuration pulls the IRQ line LOW,
> which then generates "phantom" IRQs?

No. It is just making sure the pin is claimed and properly configured.

Since our interrupt and gpio controller are completly de-coupled it is
not necessarily the case without it (... and yes, the same is true for the
other device using gpio irqs)

>
> [...]
>> + fusb302@22 {
> typec-portc@22
>
> [...]
>> + interrupt-parent = <&gpio_intc>;
>> + interrupts = <59 IRQ_TYPE_LEVEL_LOW>;
> a comment above with the GPIO number would be great
>
>
> Martin