On Fri, Apr 8, 2022 at 12:13 AM Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> wrote: > > On 07/04/2022 23:04, Tim Harvey wrote: > > The Gateworks GW7400 is an ARM based single board computer (SBC) > > featuring: > > - i.MX8M Plus SoC > > - LPDDR4 DRAM > > - eMMC FLASH > > Thank you for your patch. There is something to discuss/improve. > Krzysztof, Thanks for the review! > (...) > > > + > > +#include <dt-bindings/gpio/gpio.h> > > +#include <dt-bindings/input/linux-event-codes.h> > > +#include <dt-bindings/leds/common.h> > > + > > +#include "imx8mp.dtsi" > > + > > +/ { > > + model = "Gateworks Venice GW74xx i.MX8MP board"; > > + compatible = "gw,imx8mp-gw74xx", "fsl,imx8mp"; > > Deprecated vendor prefix. thanks - I wasn't aware 'gw' got deprecated. I will update to 'gateworks'. I'm in the habit of using 'make dtbs W=1' to check for errors. Is there something better I should be using that would catch this? > > > + > > + aliases { > > + ethernet0 = &eqos; > > + ethernet1 = &fec; > > + ethernet2 = &lan1; > > + ethernet3 = &lan2; > > + ethernet4 = &lan3; > > + ethernet5 = &lan4; > > + ethernet6 = &lan5; > > + }; > > + > > + chosen { > > + stdout-path = &uart2; > > + }; > > + > > + memory@40000000 { > > + device_type = "memory"; > > + reg = <0x0 0x40000000 0 0x80000000>; > > + }; > > + > > + gpio-keys { > > + compatible = "gpio-keys"; > > + > > + user-pb { > > Generic node names please, so "key-0" or "user-pb-key" (although adding > specific parts is really not needed, because you have the label). ok > > > + label = "user_pb"; > > + gpios = <&gpio 2 GPIO_ACTIVE_LOW>; > > + linux,code = <BTN_0>; > > + }; > > + > > + user-pb1x { > > + label = "user_pb1x"; > > + linux,code = <BTN_1>; > > + interrupt-parent = <&gsc>; > > + interrupts = <0>; > > + }; > > + > > + key-erased { > > + label = "key_erased"; > > + linux,code = <BTN_2>; > > + interrupt-parent = <&gsc>; > > + interrupts = <1>; > > + }; > > + > > + eeprom-wp { > > + label = "eeprom_wp"; > > + linux,code = <BTN_3>; > > + interrupt-parent = <&gsc>; > > + interrupts = <2>; > > + }; > > + > > + tamper { > > + label = "tamper"; > > + linux,code = <BTN_4>; > > + interrupt-parent = <&gsc>; > > + interrupts = <5>; > > + }; > > + > > + switch-hold { > > + label = "switch_hold"; > > + linux,code = <BTN_5>; > > + interrupt-parent = <&gsc>; > > + interrupts = <7>; > > + }; > > + }; > > + > > + led-controller { > > + compatible = "gpio-leds"; > > + pinctrl-names = "default"; > > + pinctrl-0 = <&pinctrl_gpio_leds>; > > + > > + led-0 { > > + function = LED_FUNCTION_STATUS; > > LED_FUNCTION_HEARTBEAT yes, thanks for catching this > > > + color = <LED_COLOR_ID_GREEN>; > > + gpios = <&gpio2 15 GPIO_ACTIVE_HIGH>; > > + default-state = "on"; > > + linux,default-trigger = "heartbeat"; > > + }; > > + > > + led-1 { > > + function = LED_FUNCTION_STATUS; > > + color = <LED_COLOR_ID_RED>; > > + gpios = <&gpio2 16 GPIO_ACTIVE_HIGH>; > > + default-state = "off"; > > + }; > > + }; > > + > > + pps { > > + compatible = "pps-gpio"; > > + pinctrl-names = "default"; > > + pinctrl-0 = <&pinctrl_pps>; > > + gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>; > > + status = "okay"; > > No need for status. ok. What is the best way to know if a binding uses status or not? Documentation/devicetree/bindings/net/fsl,fec.yaml for example does not mention it uses status, yet it does. Best Regards, Tim