184943d6fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0 OR MIT) 284943d6fSEmmanuel Vadot/* 384943d6fSEmmanuel Vadot * Device Tree Source for the R-Car S4 Starter Kit board 484943d6fSEmmanuel Vadot * 584943d6fSEmmanuel Vadot * Copyright (C) 2023 Renesas Electronics Corp. 684943d6fSEmmanuel Vadot */ 784943d6fSEmmanuel Vadot 884943d6fSEmmanuel Vadot/dts-v1/; 984943d6fSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 1084943d6fSEmmanuel Vadot#include "r8a779f4.dtsi" 1184943d6fSEmmanuel Vadot 1284943d6fSEmmanuel Vadot/ { 1384943d6fSEmmanuel Vadot model = "R-Car S4 Starter Kit board"; 1484943d6fSEmmanuel Vadot compatible = "renesas,s4sk", "renesas,r8a779f4", "renesas,r8a779f0"; 1584943d6fSEmmanuel Vadot 1684943d6fSEmmanuel Vadot aliases { 17*0e8011faSEmmanuel Vadot i2c0 = &i2c0; 18*0e8011faSEmmanuel Vadot i2c1 = &i2c1; 19*0e8011faSEmmanuel Vadot i2c2 = &i2c2; 20*0e8011faSEmmanuel Vadot i2c3 = &i2c3; 21*0e8011faSEmmanuel Vadot i2c4 = &i2c4; 22*0e8011faSEmmanuel Vadot i2c5 = &i2c5; 2384943d6fSEmmanuel Vadot serial0 = &hscif0; 2484943d6fSEmmanuel Vadot serial1 = &hscif1; 257d0873ebSEmmanuel Vadot ethernet0 = &rswitch; 2684943d6fSEmmanuel Vadot }; 2784943d6fSEmmanuel Vadot 2884943d6fSEmmanuel Vadot chosen { 2984943d6fSEmmanuel Vadot bootargs = "ignore_loglevel rw root=/dev/nfs ip=on"; 3084943d6fSEmmanuel Vadot stdout-path = "serial0:921600n8"; 3184943d6fSEmmanuel Vadot }; 3284943d6fSEmmanuel Vadot 3384943d6fSEmmanuel Vadot memory@48000000 { 3484943d6fSEmmanuel Vadot device_type = "memory"; 3584943d6fSEmmanuel Vadot /* first 128MB is reserved for secure area. */ 3684943d6fSEmmanuel Vadot /* The last 512MB is reserved for CR. */ 3784943d6fSEmmanuel Vadot reg = <0x0 0x48000000 0x0 0x58000000>; 3884943d6fSEmmanuel Vadot }; 3984943d6fSEmmanuel Vadot 4084943d6fSEmmanuel Vadot memory@480000000 { 4184943d6fSEmmanuel Vadot device_type = "memory"; 4284943d6fSEmmanuel Vadot reg = <0x4 0x80000000 0x0 0x80000000>; 4384943d6fSEmmanuel Vadot }; 4484943d6fSEmmanuel Vadot 4584943d6fSEmmanuel Vadot vcc_sdhi: regulator-vcc-sdhi { 4684943d6fSEmmanuel Vadot compatible = "regulator-fixed"; 4784943d6fSEmmanuel Vadot regulator-name = "SDHI Vcc"; 4884943d6fSEmmanuel Vadot regulator-min-microvolt = <3300000>; 4984943d6fSEmmanuel Vadot regulator-max-microvolt = <3300000>; 5084943d6fSEmmanuel Vadot gpio = <&gpio1 24 GPIO_ACTIVE_HIGH>; 5184943d6fSEmmanuel Vadot enable-active-high; 5284943d6fSEmmanuel Vadot }; 5384943d6fSEmmanuel Vadot}; 5484943d6fSEmmanuel Vadot 5584943d6fSEmmanuel Vadotð_serdes { 5684943d6fSEmmanuel Vadot status = "okay"; 5784943d6fSEmmanuel Vadot}; 5884943d6fSEmmanuel Vadot 5984943d6fSEmmanuel Vadot&extal_clk { 6084943d6fSEmmanuel Vadot clock-frequency = <20000000>; 6184943d6fSEmmanuel Vadot}; 6284943d6fSEmmanuel Vadot 6384943d6fSEmmanuel Vadot&extalr_clk { 6484943d6fSEmmanuel Vadot clock-frequency = <32768>; 6584943d6fSEmmanuel Vadot}; 6684943d6fSEmmanuel Vadot 6784943d6fSEmmanuel Vadot&hscif0 { 6884943d6fSEmmanuel Vadot pinctrl-0 = <&hscif0_pins>; 6984943d6fSEmmanuel Vadot pinctrl-names = "default"; 7084943d6fSEmmanuel Vadot 7184943d6fSEmmanuel Vadot uart-has-rtscts; 7284943d6fSEmmanuel Vadot status = "okay"; 7384943d6fSEmmanuel Vadot}; 7484943d6fSEmmanuel Vadot 7584943d6fSEmmanuel Vadot&hscif1 { 7684943d6fSEmmanuel Vadot pinctrl-0 = <&hscif1_pins>; 7784943d6fSEmmanuel Vadot pinctrl-names = "default"; 7884943d6fSEmmanuel Vadot 7984943d6fSEmmanuel Vadot uart-has-rtscts; 8084943d6fSEmmanuel Vadot status = "okay"; 8184943d6fSEmmanuel Vadot}; 8284943d6fSEmmanuel Vadot 8384943d6fSEmmanuel Vadot&i2c2 { 8484943d6fSEmmanuel Vadot pinctrl-0 = <&i2c2_pins>; 8584943d6fSEmmanuel Vadot pinctrl-names = "default"; 8684943d6fSEmmanuel Vadot 8784943d6fSEmmanuel Vadot status = "okay"; 8884943d6fSEmmanuel Vadot clock-frequency = <400000>; 8984943d6fSEmmanuel Vadot}; 9084943d6fSEmmanuel Vadot 9184943d6fSEmmanuel Vadot&i2c4 { 9284943d6fSEmmanuel Vadot pinctrl-0 = <&i2c4_pins>; 9384943d6fSEmmanuel Vadot pinctrl-names = "default"; 9484943d6fSEmmanuel Vadot 9584943d6fSEmmanuel Vadot status = "okay"; 9684943d6fSEmmanuel Vadot clock-frequency = <400000>; 9784943d6fSEmmanuel Vadot}; 9884943d6fSEmmanuel Vadot 9984943d6fSEmmanuel Vadot&i2c5 { 10084943d6fSEmmanuel Vadot pinctrl-0 = <&i2c5_pins>; 10184943d6fSEmmanuel Vadot pinctrl-names = "default"; 10284943d6fSEmmanuel Vadot 10384943d6fSEmmanuel Vadot status = "okay"; 10484943d6fSEmmanuel Vadot clock-frequency = <400000>; 10584943d6fSEmmanuel Vadot 10684943d6fSEmmanuel Vadot eeprom@50 { 10784943d6fSEmmanuel Vadot compatible = "st,24c16", "atmel,24c16"; 10884943d6fSEmmanuel Vadot reg = <0x50>; 10984943d6fSEmmanuel Vadot pagesize = <16>; 11084943d6fSEmmanuel Vadot }; 11184943d6fSEmmanuel Vadot}; 11284943d6fSEmmanuel Vadot 11384943d6fSEmmanuel Vadot&mmc0 { 11484943d6fSEmmanuel Vadot pinctrl-0 = <&sd_pins>; 11584943d6fSEmmanuel Vadot pinctrl-names = "default"; 11684943d6fSEmmanuel Vadot 11784943d6fSEmmanuel Vadot vmmc-supply = <&vcc_sdhi>; 11884943d6fSEmmanuel Vadot cd-gpios = <&gpio1 23 GPIO_ACTIVE_LOW>; 11984943d6fSEmmanuel Vadot bus-width = <4>; 12084943d6fSEmmanuel Vadot status = "okay"; 12184943d6fSEmmanuel Vadot}; 12284943d6fSEmmanuel Vadot 12384943d6fSEmmanuel Vadot&pfc { 12484943d6fSEmmanuel Vadot pinctrl-0 = <&scif_clk_pins>; 12584943d6fSEmmanuel Vadot pinctrl-names = "default"; 12684943d6fSEmmanuel Vadot 12784943d6fSEmmanuel Vadot hscif0_pins: hscif0 { 12884943d6fSEmmanuel Vadot groups = "hscif0_data", "hscif0_ctrl"; 12984943d6fSEmmanuel Vadot function = "hscif0"; 13084943d6fSEmmanuel Vadot }; 13184943d6fSEmmanuel Vadot 13284943d6fSEmmanuel Vadot hscif1_pins: hscif1 { 13384943d6fSEmmanuel Vadot groups = "hscif1_data", "hscif1_ctrl"; 13484943d6fSEmmanuel Vadot function = "hscif1"; 13584943d6fSEmmanuel Vadot }; 13684943d6fSEmmanuel Vadot 13784943d6fSEmmanuel Vadot i2c2_pins: i2c2 { 13884943d6fSEmmanuel Vadot groups = "i2c2"; 13984943d6fSEmmanuel Vadot function = "i2c2"; 14084943d6fSEmmanuel Vadot }; 14184943d6fSEmmanuel Vadot 14284943d6fSEmmanuel Vadot i2c4_pins: i2c4 { 14384943d6fSEmmanuel Vadot groups = "i2c4"; 14484943d6fSEmmanuel Vadot function = "i2c4"; 14584943d6fSEmmanuel Vadot }; 14684943d6fSEmmanuel Vadot 14784943d6fSEmmanuel Vadot i2c5_pins: i2c5 { 14884943d6fSEmmanuel Vadot groups = "i2c5"; 14984943d6fSEmmanuel Vadot function = "i2c5"; 15084943d6fSEmmanuel Vadot }; 15184943d6fSEmmanuel Vadot 15284943d6fSEmmanuel Vadot scif_clk_pins: scif_clk { 15384943d6fSEmmanuel Vadot groups = "scif_clk"; 15484943d6fSEmmanuel Vadot function = "scif_clk"; 15584943d6fSEmmanuel Vadot }; 15684943d6fSEmmanuel Vadot 15784943d6fSEmmanuel Vadot sd_pins: sd { 15884943d6fSEmmanuel Vadot groups = "mmc_data4", "mmc_ctrl"; 15984943d6fSEmmanuel Vadot function = "mmc"; 16084943d6fSEmmanuel Vadot power-source = <3300>; 16184943d6fSEmmanuel Vadot }; 16284943d6fSEmmanuel Vadot 16384943d6fSEmmanuel Vadot tsn0_pins: tsn0 { 16484943d6fSEmmanuel Vadot groups = "tsn0_mdio_b", "tsn0_link_b"; 16584943d6fSEmmanuel Vadot function = "tsn0"; 16684943d6fSEmmanuel Vadot drive-strength = <18>; 16784943d6fSEmmanuel Vadot power-source = <3300>; 16884943d6fSEmmanuel Vadot }; 16984943d6fSEmmanuel Vadot 17084943d6fSEmmanuel Vadot tsn1_pins: tsn1 { 17184943d6fSEmmanuel Vadot groups = "tsn1_mdio_b", "tsn1_link_b"; 17284943d6fSEmmanuel Vadot function = "tsn1"; 17384943d6fSEmmanuel Vadot drive-strength = <18>; 17484943d6fSEmmanuel Vadot power-source = <3300>; 17584943d6fSEmmanuel Vadot }; 17684943d6fSEmmanuel Vadot}; 17784943d6fSEmmanuel Vadot 17884943d6fSEmmanuel Vadot&rswitch { 17984943d6fSEmmanuel Vadot pinctrl-0 = <&tsn0_pins>, <&tsn1_pins>; 18084943d6fSEmmanuel Vadot pinctrl-names = "default"; 18184943d6fSEmmanuel Vadot status = "okay"; 18284943d6fSEmmanuel Vadot 18384943d6fSEmmanuel Vadot ethernet-ports { 18484943d6fSEmmanuel Vadot #address-cells = <1>; 18584943d6fSEmmanuel Vadot #size-cells = <0>; 18684943d6fSEmmanuel Vadot 18784943d6fSEmmanuel Vadot port@0 { 18884943d6fSEmmanuel Vadot reg = <0>; 18984943d6fSEmmanuel Vadot phy-handle = <&ic99>; 19084943d6fSEmmanuel Vadot phy-mode = "sgmii"; 19184943d6fSEmmanuel Vadot phys = <ð_serdes 0>; 19284943d6fSEmmanuel Vadot 19384943d6fSEmmanuel Vadot mdio { 19484943d6fSEmmanuel Vadot #address-cells = <1>; 19584943d6fSEmmanuel Vadot #size-cells = <0>; 19684943d6fSEmmanuel Vadot 19784943d6fSEmmanuel Vadot ic99: ethernet-phy@1 { 19884943d6fSEmmanuel Vadot reg = <1>; 19984943d6fSEmmanuel Vadot compatible = "ethernet-phy-ieee802.3-c45"; 20084943d6fSEmmanuel Vadot interrupt-parent = <&gpio3>; 20184943d6fSEmmanuel Vadot interrupts = <10 IRQ_TYPE_LEVEL_LOW>; 20284943d6fSEmmanuel Vadot }; 20384943d6fSEmmanuel Vadot }; 20484943d6fSEmmanuel Vadot }; 20584943d6fSEmmanuel Vadot 20684943d6fSEmmanuel Vadot port@1 { 20784943d6fSEmmanuel Vadot reg = <1>; 20884943d6fSEmmanuel Vadot phy-handle = <&ic102>; 20984943d6fSEmmanuel Vadot phy-mode = "sgmii"; 21084943d6fSEmmanuel Vadot phys = <ð_serdes 1>; 21184943d6fSEmmanuel Vadot 21284943d6fSEmmanuel Vadot mdio { 21384943d6fSEmmanuel Vadot #address-cells = <1>; 21484943d6fSEmmanuel Vadot #size-cells = <0>; 21584943d6fSEmmanuel Vadot 21684943d6fSEmmanuel Vadot ic102: ethernet-phy@2 { 21784943d6fSEmmanuel Vadot reg = <2>; 21884943d6fSEmmanuel Vadot compatible = "ethernet-phy-ieee802.3-c45"; 21984943d6fSEmmanuel Vadot interrupt-parent = <&gpio3>; 22084943d6fSEmmanuel Vadot interrupts = <11 IRQ_TYPE_LEVEL_LOW>; 22184943d6fSEmmanuel Vadot }; 22284943d6fSEmmanuel Vadot }; 22384943d6fSEmmanuel Vadot }; 22484943d6fSEmmanuel Vadot 22584943d6fSEmmanuel Vadot port@2 { 22684943d6fSEmmanuel Vadot status = "disabled"; 22784943d6fSEmmanuel Vadot }; 22884943d6fSEmmanuel Vadot }; 22984943d6fSEmmanuel Vadot}; 23084943d6fSEmmanuel Vadot 23184943d6fSEmmanuel Vadot&rwdt { 23284943d6fSEmmanuel Vadot timeout-sec = <60>; 23384943d6fSEmmanuel Vadot status = "okay"; 23484943d6fSEmmanuel Vadot}; 23584943d6fSEmmanuel Vadot 23684943d6fSEmmanuel Vadot&scif_clk { 23784943d6fSEmmanuel Vadot clock-frequency = <24000000>; 23884943d6fSEmmanuel Vadot}; 23984943d6fSEmmanuel Vadot 24084943d6fSEmmanuel Vadot&ufs { 24184943d6fSEmmanuel Vadot status = "okay"; 24284943d6fSEmmanuel Vadot}; 24384943d6fSEmmanuel Vadot 24484943d6fSEmmanuel Vadot&ufs30_clk { 24584943d6fSEmmanuel Vadot clock-frequency = <38400000>; 24684943d6fSEmmanuel Vadot}; 247