1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 2c66ec88fSEmmanuel Vadot/* 3c66ec88fSEmmanuel Vadot * Device Tree Source for the V3M Starter Kit board 4c66ec88fSEmmanuel Vadot * 5c66ec88fSEmmanuel Vadot * Copyright (C) 2017 Renesas Electronics Corp. 6c66ec88fSEmmanuel Vadot * Copyright (C) 2017 Cogent Embedded, Inc. 7c66ec88fSEmmanuel Vadot */ 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadot/dts-v1/; 10c66ec88fSEmmanuel Vadot#include "r8a77970.dtsi" 118cc087a1SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 12c66ec88fSEmmanuel Vadot 13c66ec88fSEmmanuel Vadot/ { 14c66ec88fSEmmanuel Vadot model = "Renesas V3M Starter Kit board"; 15c66ec88fSEmmanuel Vadot compatible = "renesas,v3msk", "renesas,r8a77970"; 16c66ec88fSEmmanuel Vadot 17c66ec88fSEmmanuel Vadot aliases { 18*7ef62cebSEmmanuel Vadot i2c0 = &i2c0; 19*7ef62cebSEmmanuel Vadot i2c1 = &i2c1; 20*7ef62cebSEmmanuel Vadot i2c2 = &i2c2; 21*7ef62cebSEmmanuel Vadot i2c3 = &i2c3; 22*7ef62cebSEmmanuel Vadot i2c4 = &i2c4; 23c66ec88fSEmmanuel Vadot serial0 = &scif0; 24c66ec88fSEmmanuel Vadot }; 25c66ec88fSEmmanuel Vadot 26c66ec88fSEmmanuel Vadot chosen { 27c66ec88fSEmmanuel Vadot stdout-path = "serial0:115200n8"; 28c66ec88fSEmmanuel Vadot }; 29c66ec88fSEmmanuel Vadot 30c66ec88fSEmmanuel Vadot hdmi-out { 31c66ec88fSEmmanuel Vadot compatible = "hdmi-connector"; 32c66ec88fSEmmanuel Vadot type = "a"; 33c66ec88fSEmmanuel Vadot 34c66ec88fSEmmanuel Vadot port { 35c66ec88fSEmmanuel Vadot hdmi_con: endpoint { 36c66ec88fSEmmanuel Vadot remote-endpoint = <&adv7511_out>; 37c66ec88fSEmmanuel Vadot }; 38c66ec88fSEmmanuel Vadot }; 39c66ec88fSEmmanuel Vadot }; 40c66ec88fSEmmanuel Vadot 41c66ec88fSEmmanuel Vadot lvds-decoder { 42c66ec88fSEmmanuel Vadot compatible = "thine,thc63lvd1024"; 43c66ec88fSEmmanuel Vadot vcc-supply = <&vcc_d3_3v>; 44c66ec88fSEmmanuel Vadot 45c66ec88fSEmmanuel Vadot ports { 46c66ec88fSEmmanuel Vadot #address-cells = <1>; 47c66ec88fSEmmanuel Vadot #size-cells = <0>; 48c66ec88fSEmmanuel Vadot 49c66ec88fSEmmanuel Vadot port@0 { 50c66ec88fSEmmanuel Vadot reg = <0>; 51c66ec88fSEmmanuel Vadot thc63lvd1024_in: endpoint { 52c66ec88fSEmmanuel Vadot remote-endpoint = <&lvds0_out>; 53c66ec88fSEmmanuel Vadot }; 54c66ec88fSEmmanuel Vadot }; 55c66ec88fSEmmanuel Vadot 56c66ec88fSEmmanuel Vadot port@2 { 57c66ec88fSEmmanuel Vadot reg = <2>; 58c66ec88fSEmmanuel Vadot thc63lvd1024_out: endpoint { 59c66ec88fSEmmanuel Vadot remote-endpoint = <&adv7511_in>; 60c66ec88fSEmmanuel Vadot }; 61c66ec88fSEmmanuel Vadot }; 62c66ec88fSEmmanuel Vadot }; 63c66ec88fSEmmanuel Vadot }; 64c66ec88fSEmmanuel Vadot 65c66ec88fSEmmanuel Vadot memory@48000000 { 66c66ec88fSEmmanuel Vadot device_type = "memory"; 67c66ec88fSEmmanuel Vadot /* first 128MB is reserved for secure area. */ 685956d97fSEmmanuel Vadot reg = <0x0 0x48000000 0x0 0x78000000>; 69c66ec88fSEmmanuel Vadot }; 70c66ec88fSEmmanuel Vadot 71c66ec88fSEmmanuel Vadot osc5_clk: osc5-clock { 72c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 73c66ec88fSEmmanuel Vadot #clock-cells = <0>; 74c66ec88fSEmmanuel Vadot clock-frequency = <148500000>; 75c66ec88fSEmmanuel Vadot }; 76c66ec88fSEmmanuel Vadot 77c66ec88fSEmmanuel Vadot vcc_d1_8v: regulator-0 { 78c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 79c66ec88fSEmmanuel Vadot regulator-name = "VCC_D1.8V"; 80c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1800000>; 81c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1800000>; 82c66ec88fSEmmanuel Vadot regulator-boot-on; 83c66ec88fSEmmanuel Vadot regulator-always-on; 84c66ec88fSEmmanuel Vadot }; 85c66ec88fSEmmanuel Vadot 86c66ec88fSEmmanuel Vadot vcc_d3_3v: regulator-1 { 87c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 88c66ec88fSEmmanuel Vadot regulator-name = "VCC_D3.3V"; 89c66ec88fSEmmanuel Vadot regulator-min-microvolt = <3300000>; 90c66ec88fSEmmanuel Vadot regulator-max-microvolt = <3300000>; 91c66ec88fSEmmanuel Vadot regulator-boot-on; 92c66ec88fSEmmanuel Vadot regulator-always-on; 93c66ec88fSEmmanuel Vadot }; 94c66ec88fSEmmanuel Vadot 95c66ec88fSEmmanuel Vadot vcc_vddq_vin0: regulator-2 { 96c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 97c66ec88fSEmmanuel Vadot regulator-name = "VCC_VDDQ_VIN0"; 98c66ec88fSEmmanuel Vadot regulator-min-microvolt = <3300000>; 99c66ec88fSEmmanuel Vadot regulator-max-microvolt = <3300000>; 100c66ec88fSEmmanuel Vadot regulator-boot-on; 101c66ec88fSEmmanuel Vadot regulator-always-on; 102c66ec88fSEmmanuel Vadot }; 103c66ec88fSEmmanuel Vadot}; 104c66ec88fSEmmanuel Vadot 105c66ec88fSEmmanuel Vadot&avb { 106c66ec88fSEmmanuel Vadot pinctrl-0 = <&avb_pins>; 107c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 108c66ec88fSEmmanuel Vadot 109c66ec88fSEmmanuel Vadot renesas,no-ether-link; 110c66ec88fSEmmanuel Vadot phy-handle = <&phy0>; 1115def4c47SEmmanuel Vadot rx-internal-delay-ps = <1800>; 1125def4c47SEmmanuel Vadot tx-internal-delay-ps = <2000>; 113c66ec88fSEmmanuel Vadot status = "okay"; 114c66ec88fSEmmanuel Vadot 115c66ec88fSEmmanuel Vadot phy0: ethernet-phy@0 { 1168cc087a1SEmmanuel Vadot compatible = "ethernet-phy-id0022.1622", 1178cc087a1SEmmanuel Vadot "ethernet-phy-ieee802.3-c22"; 118c66ec88fSEmmanuel Vadot rxc-skew-ps = <1500>; 119c66ec88fSEmmanuel Vadot reg = <0>; 120c66ec88fSEmmanuel Vadot interrupt-parent = <&gpio1>; 121c66ec88fSEmmanuel Vadot interrupts = <17 IRQ_TYPE_LEVEL_LOW>; 1228cc087a1SEmmanuel Vadot reset-gpios = <&gpio1 16 GPIO_ACTIVE_LOW>; 123c66ec88fSEmmanuel Vadot }; 124c66ec88fSEmmanuel Vadot}; 125c66ec88fSEmmanuel Vadot 126c66ec88fSEmmanuel Vadot&du { 127c66ec88fSEmmanuel Vadot clocks = <&cpg CPG_MOD 724>, 128c66ec88fSEmmanuel Vadot <&osc5_clk>; 129c66ec88fSEmmanuel Vadot clock-names = "du.0", "dclkin.0"; 130c66ec88fSEmmanuel Vadot status = "okay"; 131c66ec88fSEmmanuel Vadot}; 132c66ec88fSEmmanuel Vadot 133c66ec88fSEmmanuel Vadot&extal_clk { 134c66ec88fSEmmanuel Vadot clock-frequency = <16666666>; 135c66ec88fSEmmanuel Vadot}; 136c66ec88fSEmmanuel Vadot 137c66ec88fSEmmanuel Vadot&extalr_clk { 138c66ec88fSEmmanuel Vadot clock-frequency = <32768>; 139c66ec88fSEmmanuel Vadot}; 140c66ec88fSEmmanuel Vadot 141c66ec88fSEmmanuel Vadot&i2c0 { 142c66ec88fSEmmanuel Vadot pinctrl-0 = <&i2c0_pins>; 143c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 144c66ec88fSEmmanuel Vadot 145c66ec88fSEmmanuel Vadot status = "okay"; 146c66ec88fSEmmanuel Vadot clock-frequency = <400000>; 147c66ec88fSEmmanuel Vadot 148c66ec88fSEmmanuel Vadot hdmi@39 { 149c66ec88fSEmmanuel Vadot compatible = "adi,adv7511w"; 150c66ec88fSEmmanuel Vadot #sound-dai-cells = <0>; 151c66ec88fSEmmanuel Vadot reg = <0x39>; 152c66ec88fSEmmanuel Vadot interrupt-parent = <&gpio1>; 153c66ec88fSEmmanuel Vadot interrupts = <20 IRQ_TYPE_LEVEL_LOW>; 154c66ec88fSEmmanuel Vadot avdd-supply = <&vcc_d1_8v>; 155c66ec88fSEmmanuel Vadot dvdd-supply = <&vcc_d1_8v>; 156c66ec88fSEmmanuel Vadot pvdd-supply = <&vcc_d1_8v>; 157c66ec88fSEmmanuel Vadot bgvdd-supply = <&vcc_d1_8v>; 158c66ec88fSEmmanuel Vadot dvdd-3v-supply = <&vcc_d3_3v>; 159c66ec88fSEmmanuel Vadot 160c66ec88fSEmmanuel Vadot adi,input-depth = <8>; 161c66ec88fSEmmanuel Vadot adi,input-colorspace = "rgb"; 162c66ec88fSEmmanuel Vadot adi,input-clock = "1x"; 163c66ec88fSEmmanuel Vadot 164c66ec88fSEmmanuel Vadot ports { 165c66ec88fSEmmanuel Vadot #address-cells = <1>; 166c66ec88fSEmmanuel Vadot #size-cells = <0>; 167c66ec88fSEmmanuel Vadot 168c66ec88fSEmmanuel Vadot port@0 { 169c66ec88fSEmmanuel Vadot reg = <0>; 170c66ec88fSEmmanuel Vadot adv7511_in: endpoint { 171c66ec88fSEmmanuel Vadot remote-endpoint = <&thc63lvd1024_out>; 172c66ec88fSEmmanuel Vadot }; 173c66ec88fSEmmanuel Vadot }; 174c66ec88fSEmmanuel Vadot 175c66ec88fSEmmanuel Vadot port@1 { 176c66ec88fSEmmanuel Vadot reg = <1>; 177c66ec88fSEmmanuel Vadot adv7511_out: endpoint { 178c66ec88fSEmmanuel Vadot remote-endpoint = <&hdmi_con>; 179c66ec88fSEmmanuel Vadot }; 180c66ec88fSEmmanuel Vadot }; 181c66ec88fSEmmanuel Vadot }; 182c66ec88fSEmmanuel Vadot }; 183c66ec88fSEmmanuel Vadot}; 184c66ec88fSEmmanuel Vadot 185c66ec88fSEmmanuel Vadot&lvds0 { 186c66ec88fSEmmanuel Vadot status = "okay"; 187c66ec88fSEmmanuel Vadot 188c66ec88fSEmmanuel Vadot ports { 189c66ec88fSEmmanuel Vadot port@1 { 190c66ec88fSEmmanuel Vadot lvds0_out: endpoint { 191c66ec88fSEmmanuel Vadot remote-endpoint = <&thc63lvd1024_in>; 192c66ec88fSEmmanuel Vadot }; 193c66ec88fSEmmanuel Vadot }; 194c66ec88fSEmmanuel Vadot }; 195c66ec88fSEmmanuel Vadot}; 196c66ec88fSEmmanuel Vadot 197c66ec88fSEmmanuel Vadot&mmc0 { 198c66ec88fSEmmanuel Vadot pinctrl-0 = <&mmc_pins>; 199c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 200c66ec88fSEmmanuel Vadot 201c66ec88fSEmmanuel Vadot vmmc-supply = <&vcc_d3_3v>; 202c66ec88fSEmmanuel Vadot vqmmc-supply = <&vcc_vddq_vin0>; 203c66ec88fSEmmanuel Vadot bus-width = <8>; 204c66ec88fSEmmanuel Vadot non-removable; 205c66ec88fSEmmanuel Vadot status = "okay"; 206c66ec88fSEmmanuel Vadot}; 207c66ec88fSEmmanuel Vadot 208c66ec88fSEmmanuel Vadot&pfc { 209c66ec88fSEmmanuel Vadot avb_pins: avb0 { 210c66ec88fSEmmanuel Vadot groups = "avb0_mdio", "avb0_rgmii", "avb0_txcrefclk"; 211c66ec88fSEmmanuel Vadot function = "avb0"; 212c66ec88fSEmmanuel Vadot }; 213c66ec88fSEmmanuel Vadot 214c66ec88fSEmmanuel Vadot i2c0_pins: i2c0 { 215c66ec88fSEmmanuel Vadot groups = "i2c0"; 216c66ec88fSEmmanuel Vadot function = "i2c0"; 217c66ec88fSEmmanuel Vadot }; 218c66ec88fSEmmanuel Vadot 219c66ec88fSEmmanuel Vadot mmc_pins: mmc_3_3v { 220c66ec88fSEmmanuel Vadot groups = "mmc_data8", "mmc_ctrl"; 221c66ec88fSEmmanuel Vadot function = "mmc"; 222c66ec88fSEmmanuel Vadot power-source = <3300>; 223c66ec88fSEmmanuel Vadot }; 224c66ec88fSEmmanuel Vadot 225c66ec88fSEmmanuel Vadot qspi0_pins: qspi0 { 226c66ec88fSEmmanuel Vadot groups = "qspi0_ctrl", "qspi0_data4"; 227c66ec88fSEmmanuel Vadot function = "qspi0"; 228c66ec88fSEmmanuel Vadot }; 229c66ec88fSEmmanuel Vadot 230c66ec88fSEmmanuel Vadot scif0_pins: scif0 { 231c66ec88fSEmmanuel Vadot groups = "scif0_data"; 232c66ec88fSEmmanuel Vadot function = "scif0"; 233c66ec88fSEmmanuel Vadot }; 234c66ec88fSEmmanuel Vadot}; 235c66ec88fSEmmanuel Vadot 236c66ec88fSEmmanuel Vadot&rpc { 237c66ec88fSEmmanuel Vadot pinctrl-0 = <&qspi0_pins>; 238c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 239c66ec88fSEmmanuel Vadot 240c66ec88fSEmmanuel Vadot status = "okay"; 241c66ec88fSEmmanuel Vadot 242c66ec88fSEmmanuel Vadot flash@0 { 243c66ec88fSEmmanuel Vadot compatible = "spansion,s25fs512s", "jedec,spi-nor"; 244c66ec88fSEmmanuel Vadot reg = <0>; 245c66ec88fSEmmanuel Vadot spi-max-frequency = <50000000>; 246c66ec88fSEmmanuel Vadot spi-rx-bus-width = <4>; 247c66ec88fSEmmanuel Vadot 248c66ec88fSEmmanuel Vadot partitions { 249c66ec88fSEmmanuel Vadot compatible = "fixed-partitions"; 250c66ec88fSEmmanuel Vadot #address-cells = <1>; 251c66ec88fSEmmanuel Vadot #size-cells = <1>; 252c66ec88fSEmmanuel Vadot 253c66ec88fSEmmanuel Vadot bootparam@0 { 254c66ec88fSEmmanuel Vadot reg = <0x00000000 0x040000>; 255c66ec88fSEmmanuel Vadot read-only; 256c66ec88fSEmmanuel Vadot }; 257c66ec88fSEmmanuel Vadot cr7@40000 { 258c66ec88fSEmmanuel Vadot reg = <0x00040000 0x080000>; 259c66ec88fSEmmanuel Vadot read-only; 260c66ec88fSEmmanuel Vadot }; 261c66ec88fSEmmanuel Vadot cert_header_sa3@c0000 { 262c66ec88fSEmmanuel Vadot reg = <0x000c0000 0x080000>; 263c66ec88fSEmmanuel Vadot read-only; 264c66ec88fSEmmanuel Vadot }; 265c66ec88fSEmmanuel Vadot bl2@140000 { 266c66ec88fSEmmanuel Vadot reg = <0x00140000 0x040000>; 267c66ec88fSEmmanuel Vadot read-only; 268c66ec88fSEmmanuel Vadot }; 269c66ec88fSEmmanuel Vadot cert_header_sa6@180000 { 270c66ec88fSEmmanuel Vadot reg = <0x00180000 0x040000>; 271c66ec88fSEmmanuel Vadot read-only; 272c66ec88fSEmmanuel Vadot }; 273c66ec88fSEmmanuel Vadot bl31@1c0000 { 274c66ec88fSEmmanuel Vadot reg = <0x001c0000 0x460000>; 275c66ec88fSEmmanuel Vadot read-only; 276c66ec88fSEmmanuel Vadot }; 277c66ec88fSEmmanuel Vadot uboot@640000 { 278c66ec88fSEmmanuel Vadot reg = <0x00640000 0x0c0000>; 279c66ec88fSEmmanuel Vadot read-only; 280c66ec88fSEmmanuel Vadot }; 281c66ec88fSEmmanuel Vadot uboot-env@700000 { 282c66ec88fSEmmanuel Vadot reg = <0x00700000 0x040000>; 283c66ec88fSEmmanuel Vadot read-only; 284c66ec88fSEmmanuel Vadot }; 285c66ec88fSEmmanuel Vadot dtb@740000 { 286c66ec88fSEmmanuel Vadot reg = <0x00740000 0x080000>; 287c66ec88fSEmmanuel Vadot }; 288c66ec88fSEmmanuel Vadot kernel@7c0000 { 289c66ec88fSEmmanuel Vadot reg = <0x007c0000 0x1400000>; 290c66ec88fSEmmanuel Vadot }; 291c66ec88fSEmmanuel Vadot user@1bc0000 { 292c66ec88fSEmmanuel Vadot reg = <0x01bc0000 0x2440000>; 293c66ec88fSEmmanuel Vadot }; 294c66ec88fSEmmanuel Vadot }; 295c66ec88fSEmmanuel Vadot }; 296c66ec88fSEmmanuel Vadot}; 297c66ec88fSEmmanuel Vadot 298c66ec88fSEmmanuel Vadot&scif0 { 299c66ec88fSEmmanuel Vadot pinctrl-0 = <&scif0_pins>; 300c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 301c66ec88fSEmmanuel Vadot 302c66ec88fSEmmanuel Vadot status = "okay"; 303c66ec88fSEmmanuel Vadot}; 304