Hi Morimoto-san, On Tue, Sep 26, 2023 at 6:37 AM Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> wrote: > Add initial support for the R-Car S4 Starter Kit support > with R8A779F4 SoC. Based on a patch in the BSP. Thanks for your patch! > Signed-off-by: Michael Dege <michael.dege@xxxxxxxxxxx> > Signed-off-by: Yusuke Goda <yusuke.goda.sx@xxxxxxxxxxx> > Signed-off-by: Tam Nguyen <tam.nguyen.xa@xxxxxxxxxxx> > Signed-off-by: Hai Pham <hai.pham.ud@xxxxxxxxxxx> > Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Just as with "[PATCH v2 2/4]", please consider the transfer chain, and add Co-developed-by when needed. > --- /dev/null > +++ b/arch/arm64/boot/dts/renesas/r8a779f4-s4sk.dts > @@ -0,0 +1,243 @@ > +// SPDX-License-Identifier: (GPL-2.0 or MIT) "OR", as per commit 05c618f39089d977 ("arm64: dts: use capital "OR" for multiple licenses in SPDX") in v6.6-rc2. > +/* > + * Device Tree Source for the R-Car S4 Starter Kit board > + * > + * Copyright (C) 2023 Renesas Electronics Corp. > + */ > + > +/dts-v1/; > +#include <dt-bindings/gpio/gpio.h> > +#include "r8a779f4.dtsi" > + > +/ { > + model = "R-Car S4 Starter Kit board"; Renesas R-Car ... > + compatible = "renesas,s4sk", "renesas,r8a779f4"; Missing "renesas,r8a779f0" fallback. > + vcc_sdhi: regulator-vcc-sdhi { > + compatible = "regulator-fixed"; > + regulator-name = "SDHI Vcc"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; It looks like this can switch between 1.8V and 3.3V using SDHI_PWR_SEL. But that is controlled through the FPGA, and according to the docs, only used for initialization. So I guess hardcoding 3.3V is OK. > + gpio = <&gpio1 24 GPIO_ACTIVE_HIGH>; > + enable-active-high; > + }; > +}; > +&extalr_clk { > + clock-frequency = <32768>; > +}; This clock (and scif_clk and ufs30_clk below) is generated by a programmable clock generator. Modelling it as a fixed-clock is fine for now. It can be replaced by an output of the clock generator later, when Linux has gained support for it. > +&i2c5 { > + pinctrl-0 = <&i2c5_pins>; > + pinctrl-names = "default"; > + > + status = "okay"; > + clock-frequency = <400000>; > + > + eeprom@50 { > + compatible = "atmel,24c16"; As the schematics say this is a genuine ST part: "st,24c16", "atmel,24c16"; > + reg = <0x50>; > + pagesize = <16>; > + }; > +}; > + > +&mmc0 { > + pinctrl-0 = <&sd_pins>; > + pinctrl-1 = <&sd_pins>; > + pinctrl-names = "default", "state_uhs"; Do you need two states if there is a single voltage? AFAIK, UHS needs 1.8V. > + > + vmmc-supply = <&vcc_sdhi>; > + vqmmc-supply = <&vcc_sdhi>; Do you need vqmmc-supply if there is a single voltage? I'm not sure about this one... > + cd-gpios = <&gpio1 23 GPIO_ACTIVE_LOW>; > + bus-width = <4>; > + status = "okay"; > +}; > + > +&pfc { > + pinctrl-0 = <&scif_clk_pins>; > + pinctrl-names = "default"; > + > + i2c2_pins: i2c2 { > + groups = "i2c2"; > + function = "i2c2"; > + }; > + > + i2c4_pins: i2c4 { > + groups = "i2c4"; > + function = "i2c4"; > + }; > + > + i2c5_pins: i2c5 { > + groups = "i2c5"; > + function = "i2c5"; > + }; > + > + sd_pins: sd { Please sort alphabetically (everywhere). > + groups = "mmc_data4", "mmc_ctrl"; > + function = "mmc"; > + power-source = <3300>; > + }; > + > + qspi0_pins: qspi0 { > + groups = "qspi0_ctrl", "qspi0_data4"; > + function = "qspi0"; > + }; There is no reference to qspi0_pins. > +&rswitch { > + pinctrl-0 = <&tsn0_pins>, <&tsn1_pins>; > + pinctrl-names = "default"; > + status = "okay"; > + > + ethernet-ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + phy-handle = <&u101>; > + phy-mode = "sgmii"; > + phys = <ð_serdes 0>; > + > + mdio { > + #address-cells = <1>; > + #size-cells = <0>; > + > + u101: ethernet-phy@1 { This label seems to be copied from Spider? On S4SK, the PHY is IC99, so perhaps "ic99"? Although I'm open for a different name like "gbe_phy0" or "sgmii_phy0"? > + reg = <1>; > + compatible = "ethernet-phy-ieee802.3-c45"; Missing interrupt (GP3_10). > + }; > + }; > + }; > + > + port@1 { > + reg = <1>; > + phy-handle = <&u201>; > + phy-mode = "sgmii"; > + phys = <ð_serdes 1>; > + > + mdio { > + #address-cells = <1>; > + #size-cells = <0>; > + > + u201: ethernet-phy@2 { "ic102", or a better name... > + reg = <2>; > + compatible = "ethernet-phy-ieee802.3-c45"; Missing interrupt (GP3_11). > + }; > + }; > + }; > + > + port@2 { > + status = "disabled"; > + }; > + }; > +}; Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds