Re: [PATCH v2 4/4] arm64: dts: renesas: Add R-Car S4 Starter Kit support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 = <&eth_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 = <&eth_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



[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux