1e4d755cfSYoshihiro Shimoda// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2e4d755cfSYoshihiro Shimoda/* 3e4d755cfSYoshihiro Shimoda * Device Tree Source for the White Hawk CPU board 4e4d755cfSYoshihiro Shimoda * 5e4d755cfSYoshihiro Shimoda * Copyright (C) 2022 Renesas Electronics Corp. 6e4d755cfSYoshihiro Shimoda */ 7e4d755cfSYoshihiro Shimoda 8e4d755cfSYoshihiro Shimoda#include "r8a779g0.dtsi" 9e4d755cfSYoshihiro Shimoda 1060dc0e87SGeert Uytterhoeven#include <dt-bindings/gpio/gpio.h> 116672f840SGeert Uytterhoeven#include <dt-bindings/input/input.h> 1260dc0e87SGeert Uytterhoeven#include <dt-bindings/leds/common.h> 1360dc0e87SGeert Uytterhoeven 14e4d755cfSYoshihiro Shimoda/ { 15e4d755cfSYoshihiro Shimoda model = "Renesas White Hawk CPU board"; 16e4d755cfSYoshihiro Shimoda compatible = "renesas,white-hawk-cpu", "renesas,r8a779g0"; 17e4d755cfSYoshihiro Shimoda 187bb9e424SGeert Uytterhoeven aliases { 1996f7071dSGeert Uytterhoeven ethernet0 = &avb0; 207bb9e424SGeert Uytterhoeven serial0 = &hscif0; 217bb9e424SGeert Uytterhoeven }; 227bb9e424SGeert Uytterhoeven 237bb9e424SGeert Uytterhoeven chosen { 24f4b7dffdSKuninori Morimoto bootargs = "ignore_loglevel rw root=/dev/nfs ip=on"; 257bb9e424SGeert Uytterhoeven stdout-path = "serial0:921600n8"; 267bb9e424SGeert Uytterhoeven }; 277bb9e424SGeert Uytterhoeven 286672f840SGeert Uytterhoeven keys { 296672f840SGeert Uytterhoeven compatible = "gpio-keys"; 306672f840SGeert Uytterhoeven 316672f840SGeert Uytterhoeven pinctrl-0 = <&keys_pins>; 326672f840SGeert Uytterhoeven pinctrl-names = "default"; 336672f840SGeert Uytterhoeven 346672f840SGeert Uytterhoeven key-1 { 356672f840SGeert Uytterhoeven gpios = <&gpio5 0 GPIO_ACTIVE_LOW>; 366672f840SGeert Uytterhoeven linux,code = <KEY_1>; 376672f840SGeert Uytterhoeven label = "SW47"; 386672f840SGeert Uytterhoeven wakeup-source; 396672f840SGeert Uytterhoeven debounce-interval = <20>; 406672f840SGeert Uytterhoeven }; 416672f840SGeert Uytterhoeven 426672f840SGeert Uytterhoeven key-2 { 436672f840SGeert Uytterhoeven gpios = <&gpio5 1 GPIO_ACTIVE_LOW>; 446672f840SGeert Uytterhoeven linux,code = <KEY_2>; 456672f840SGeert Uytterhoeven label = "SW48"; 466672f840SGeert Uytterhoeven wakeup-source; 476672f840SGeert Uytterhoeven debounce-interval = <20>; 486672f840SGeert Uytterhoeven }; 496672f840SGeert Uytterhoeven 506672f840SGeert Uytterhoeven key-3 { 516672f840SGeert Uytterhoeven gpios = <&gpio5 2 GPIO_ACTIVE_LOW>; 526672f840SGeert Uytterhoeven linux,code = <KEY_3>; 536672f840SGeert Uytterhoeven label = "SW49"; 546672f840SGeert Uytterhoeven wakeup-source; 556672f840SGeert Uytterhoeven debounce-interval = <20>; 566672f840SGeert Uytterhoeven }; 576672f840SGeert Uytterhoeven }; 586672f840SGeert Uytterhoeven 5960dc0e87SGeert Uytterhoeven leds { 6060dc0e87SGeert Uytterhoeven compatible = "gpio-leds"; 6160dc0e87SGeert Uytterhoeven 6260dc0e87SGeert Uytterhoeven led-1 { 6360dc0e87SGeert Uytterhoeven gpios = <&gpio7 0 GPIO_ACTIVE_HIGH>; 6460dc0e87SGeert Uytterhoeven color = <LED_COLOR_ID_GREEN>; 6560dc0e87SGeert Uytterhoeven function = LED_FUNCTION_INDICATOR; 6660dc0e87SGeert Uytterhoeven function-enumerator = <1>; 6760dc0e87SGeert Uytterhoeven }; 6860dc0e87SGeert Uytterhoeven 6960dc0e87SGeert Uytterhoeven led-2 { 7060dc0e87SGeert Uytterhoeven gpios = <&gpio7 1 GPIO_ACTIVE_HIGH>; 7160dc0e87SGeert Uytterhoeven color = <LED_COLOR_ID_GREEN>; 7260dc0e87SGeert Uytterhoeven function = LED_FUNCTION_INDICATOR; 7360dc0e87SGeert Uytterhoeven function-enumerator = <2>; 7460dc0e87SGeert Uytterhoeven }; 7560dc0e87SGeert Uytterhoeven 7660dc0e87SGeert Uytterhoeven led-3 { 7760dc0e87SGeert Uytterhoeven gpios = <&gpio7 2 GPIO_ACTIVE_HIGH>; 7860dc0e87SGeert Uytterhoeven color = <LED_COLOR_ID_GREEN>; 7960dc0e87SGeert Uytterhoeven function = LED_FUNCTION_INDICATOR; 8060dc0e87SGeert Uytterhoeven function-enumerator = <3>; 8160dc0e87SGeert Uytterhoeven }; 8260dc0e87SGeert Uytterhoeven }; 8360dc0e87SGeert Uytterhoeven 84e4d755cfSYoshihiro Shimoda memory@48000000 { 85e4d755cfSYoshihiro Shimoda device_type = "memory"; 86e4d755cfSYoshihiro Shimoda /* first 128MB is reserved for secure area. */ 87e4d755cfSYoshihiro Shimoda reg = <0x0 0x48000000 0x0 0x78000000>; 88e4d755cfSYoshihiro Shimoda }; 89e4d755cfSYoshihiro Shimoda 90e4d755cfSYoshihiro Shimoda memory@480000000 { 91e4d755cfSYoshihiro Shimoda device_type = "memory"; 92e4d755cfSYoshihiro Shimoda reg = <0x4 0x80000000 0x0 0x80000000>; 93e4d755cfSYoshihiro Shimoda }; 94e4d755cfSYoshihiro Shimoda 95e4d755cfSYoshihiro Shimoda memory@600000000 { 96e4d755cfSYoshihiro Shimoda device_type = "memory"; 97e4d755cfSYoshihiro Shimoda reg = <0x6 0x00000000 0x1 0x00000000>; 98e4d755cfSYoshihiro Shimoda }; 9934bd9009STakeshi Kihara 100df9645b9STomi Valkeinen mini-dp-con { 101df9645b9STomi Valkeinen compatible = "dp-connector"; 102df9645b9STomi Valkeinen label = "CN5"; 103df9645b9STomi Valkeinen type = "mini"; 104df9645b9STomi Valkeinen 105df9645b9STomi Valkeinen port { 106df9645b9STomi Valkeinen mini_dp_con_in: endpoint { 107df9645b9STomi Valkeinen remote-endpoint = <&sn65dsi86_out>; 108df9645b9STomi Valkeinen }; 109df9645b9STomi Valkeinen }; 110df9645b9STomi Valkeinen }; 111df9645b9STomi Valkeinen 112df9645b9STomi Valkeinen reg_1p2v: regulator-1p2v { 113df9645b9STomi Valkeinen compatible = "regulator-fixed"; 114df9645b9STomi Valkeinen regulator-name = "fixed-1.2V"; 115df9645b9STomi Valkeinen regulator-min-microvolt = <1200000>; 116df9645b9STomi Valkeinen regulator-max-microvolt = <1200000>; 117df9645b9STomi Valkeinen regulator-boot-on; 118df9645b9STomi Valkeinen regulator-always-on; 119df9645b9STomi Valkeinen }; 120df9645b9STomi Valkeinen 12134bd9009STakeshi Kihara reg_1p8v: regulator-1p8v { 12234bd9009STakeshi Kihara compatible = "regulator-fixed"; 12334bd9009STakeshi Kihara regulator-name = "fixed-1.8V"; 12434bd9009STakeshi Kihara regulator-min-microvolt = <1800000>; 12534bd9009STakeshi Kihara regulator-max-microvolt = <1800000>; 12634bd9009STakeshi Kihara regulator-boot-on; 12734bd9009STakeshi Kihara regulator-always-on; 12834bd9009STakeshi Kihara }; 12934bd9009STakeshi Kihara 13034bd9009STakeshi Kihara reg_3p3v: regulator-3p3v { 13134bd9009STakeshi Kihara compatible = "regulator-fixed"; 13234bd9009STakeshi Kihara regulator-name = "fixed-3.3V"; 13334bd9009STakeshi Kihara regulator-min-microvolt = <3300000>; 13434bd9009STakeshi Kihara regulator-max-microvolt = <3300000>; 13534bd9009STakeshi Kihara regulator-boot-on; 13634bd9009STakeshi Kihara regulator-always-on; 13734bd9009STakeshi Kihara }; 138df9645b9STomi Valkeinen 139df9645b9STomi Valkeinen sn65dsi86_refclk: clk-x6 { 140df9645b9STomi Valkeinen compatible = "fixed-clock"; 141df9645b9STomi Valkeinen #clock-cells = <0>; 142df9645b9STomi Valkeinen clock-frequency = <38400000>; 143df9645b9STomi Valkeinen }; 144e4d755cfSYoshihiro Shimoda}; 145e4d755cfSYoshihiro Shimoda 14696f7071dSGeert Uytterhoeven&avb0 { 14796f7071dSGeert Uytterhoeven pinctrl-0 = <&avb0_pins>; 14896f7071dSGeert Uytterhoeven pinctrl-names = "default"; 14996f7071dSGeert Uytterhoeven phy-handle = <&phy0>; 15096f7071dSGeert Uytterhoeven tx-internal-delay-ps = <2000>; 15196f7071dSGeert Uytterhoeven status = "okay"; 15296f7071dSGeert Uytterhoeven 15396f7071dSGeert Uytterhoeven phy0: ethernet-phy@0 { 15496f7071dSGeert Uytterhoeven compatible = "ethernet-phy-id0022.1622", 15596f7071dSGeert Uytterhoeven "ethernet-phy-ieee802.3-c22"; 15696f7071dSGeert Uytterhoeven rxc-skew-ps = <1500>; 15796f7071dSGeert Uytterhoeven reg = <0>; 15896f7071dSGeert Uytterhoeven interrupt-parent = <&gpio7>; 15996f7071dSGeert Uytterhoeven interrupts = <5 IRQ_TYPE_LEVEL_LOW>; 16096f7071dSGeert Uytterhoeven reset-gpios = <&gpio7 10 GPIO_ACTIVE_LOW>; 16196f7071dSGeert Uytterhoeven }; 16296f7071dSGeert Uytterhoeven}; 16396f7071dSGeert Uytterhoeven 164df9645b9STomi Valkeinen&dsi0 { 165df9645b9STomi Valkeinen status = "okay"; 166df9645b9STomi Valkeinen 167df9645b9STomi Valkeinen ports { 168df9645b9STomi Valkeinen port@1 { 169df9645b9STomi Valkeinen dsi0_out: endpoint { 170df9645b9STomi Valkeinen remote-endpoint = <&sn65dsi86_in>; 171df9645b9STomi Valkeinen data-lanes = <1 2 3 4>; 172df9645b9STomi Valkeinen }; 173df9645b9STomi Valkeinen }; 174df9645b9STomi Valkeinen }; 175df9645b9STomi Valkeinen}; 176df9645b9STomi Valkeinen 177df9645b9STomi Valkeinen&du { 178df9645b9STomi Valkeinen status = "okay"; 179df9645b9STomi Valkeinen}; 180df9645b9STomi Valkeinen 181e4d755cfSYoshihiro Shimoda&extal_clk { 182e4d755cfSYoshihiro Shimoda clock-frequency = <16666666>; 183e4d755cfSYoshihiro Shimoda}; 184e4d755cfSYoshihiro Shimoda 185e4d755cfSYoshihiro Shimoda&extalr_clk { 186e4d755cfSYoshihiro Shimoda clock-frequency = <32768>; 187e4d755cfSYoshihiro Shimoda}; 188e4d755cfSYoshihiro Shimoda 189e4d755cfSYoshihiro Shimoda&hscif0 { 190*9cd79bc1SGeert Uytterhoeven pinctrl-0 = <&hscif0_pins>; 191*9cd79bc1SGeert Uytterhoeven pinctrl-names = "default"; 192*9cd79bc1SGeert Uytterhoeven 193e4d755cfSYoshihiro Shimoda status = "okay"; 194e4d755cfSYoshihiro Shimoda}; 195e4d755cfSYoshihiro Shimoda 19677643815SGeert Uytterhoeven&i2c0 { 19777643815SGeert Uytterhoeven pinctrl-0 = <&i2c0_pins>; 19877643815SGeert Uytterhoeven pinctrl-names = "default"; 19977643815SGeert Uytterhoeven 20077643815SGeert Uytterhoeven status = "okay"; 20177643815SGeert Uytterhoeven clock-frequency = <400000>; 20277643815SGeert Uytterhoeven 20392378fd2SGeert Uytterhoeven io_expander_a: gpio@20 { 20492378fd2SGeert Uytterhoeven compatible = "onnn,pca9654"; 20592378fd2SGeert Uytterhoeven reg = <0x20>; 20692378fd2SGeert Uytterhoeven interrupt-parent = <&gpio0>; 20792378fd2SGeert Uytterhoeven interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 20892378fd2SGeert Uytterhoeven gpio-controller; 20992378fd2SGeert Uytterhoeven #gpio-cells = <2>; 21092378fd2SGeert Uytterhoeven interrupt-controller; 21192378fd2SGeert Uytterhoeven #interrupt-cells = <2>; 21292378fd2SGeert Uytterhoeven }; 21392378fd2SGeert Uytterhoeven 21477643815SGeert Uytterhoeven eeprom@50 { 21577643815SGeert Uytterhoeven compatible = "rohm,br24g01", "atmel,24c01"; 21677643815SGeert Uytterhoeven label = "cpu-board"; 21777643815SGeert Uytterhoeven reg = <0x50>; 21877643815SGeert Uytterhoeven pagesize = <8>; 21977643815SGeert Uytterhoeven }; 22077643815SGeert Uytterhoeven}; 22177643815SGeert Uytterhoeven 222df9645b9STomi Valkeinen&i2c1 { 223df9645b9STomi Valkeinen pinctrl-0 = <&i2c1_pins>; 224df9645b9STomi Valkeinen pinctrl-names = "default"; 225df9645b9STomi Valkeinen 226df9645b9STomi Valkeinen status = "okay"; 227df9645b9STomi Valkeinen clock-frequency = <400000>; 228df9645b9STomi Valkeinen 229df9645b9STomi Valkeinen bridge@2c { 230df9645b9STomi Valkeinen compatible = "ti,sn65dsi86"; 231df9645b9STomi Valkeinen reg = <0x2c>; 232df9645b9STomi Valkeinen 233df9645b9STomi Valkeinen clocks = <&sn65dsi86_refclk>; 234df9645b9STomi Valkeinen clock-names = "refclk"; 235df9645b9STomi Valkeinen 236df9645b9STomi Valkeinen interrupt-parent = <&intc_ex>; 237df9645b9STomi Valkeinen interrupts = <0 IRQ_TYPE_LEVEL_HIGH>; 238df9645b9STomi Valkeinen 239df9645b9STomi Valkeinen enable-gpios = <&gpio1 26 GPIO_ACTIVE_HIGH>; 240df9645b9STomi Valkeinen 241df9645b9STomi Valkeinen vccio-supply = <®_1p8v>; 242df9645b9STomi Valkeinen vpll-supply = <®_1p8v>; 243df9645b9STomi Valkeinen vcca-supply = <®_1p2v>; 244df9645b9STomi Valkeinen vcc-supply = <®_1p2v>; 245df9645b9STomi Valkeinen 246df9645b9STomi Valkeinen ports { 247df9645b9STomi Valkeinen #address-cells = <1>; 248df9645b9STomi Valkeinen #size-cells = <0>; 249df9645b9STomi Valkeinen 250df9645b9STomi Valkeinen port@0 { 251df9645b9STomi Valkeinen reg = <0>; 252df9645b9STomi Valkeinen sn65dsi86_in: endpoint { 253df9645b9STomi Valkeinen remote-endpoint = <&dsi0_out>; 254df9645b9STomi Valkeinen }; 255df9645b9STomi Valkeinen }; 256df9645b9STomi Valkeinen 257df9645b9STomi Valkeinen port@1 { 258df9645b9STomi Valkeinen reg = <1>; 259df9645b9STomi Valkeinen sn65dsi86_out: endpoint { 260df9645b9STomi Valkeinen remote-endpoint = <&mini_dp_con_in>; 261df9645b9STomi Valkeinen }; 262df9645b9STomi Valkeinen }; 263df9645b9STomi Valkeinen }; 264df9645b9STomi Valkeinen }; 265df9645b9STomi Valkeinen}; 266df9645b9STomi Valkeinen 26734bd9009STakeshi Kihara&mmc0 { 26834bd9009STakeshi Kihara pinctrl-0 = <&mmc_pins>; 26934bd9009STakeshi Kihara pinctrl-1 = <&mmc_pins>; 27034bd9009STakeshi Kihara pinctrl-names = "default", "state_uhs"; 27134bd9009STakeshi Kihara 27234bd9009STakeshi Kihara vmmc-supply = <®_3p3v>; 27334bd9009STakeshi Kihara vqmmc-supply = <®_1p8v>; 27434bd9009STakeshi Kihara mmc-hs200-1_8v; 27534bd9009STakeshi Kihara mmc-hs400-1_8v; 27634bd9009STakeshi Kihara bus-width = <8>; 27734bd9009STakeshi Kihara no-sd; 27834bd9009STakeshi Kihara no-sdio; 27934bd9009STakeshi Kihara non-removable; 28034bd9009STakeshi Kihara full-pwr-cycle-in-suspend; 28134bd9009STakeshi Kihara status = "okay"; 28234bd9009STakeshi Kihara}; 28334bd9009STakeshi Kihara 2847a8d590dSGeert Uytterhoeven&pfc { 2857a8d590dSGeert Uytterhoeven pinctrl-0 = <&scif_clk_pins>; 2867a8d590dSGeert Uytterhoeven pinctrl-names = "default"; 2877a8d590dSGeert Uytterhoeven 28896f7071dSGeert Uytterhoeven avb0_pins: avb0 { 28996f7071dSGeert Uytterhoeven mux { 29096f7071dSGeert Uytterhoeven groups = "avb0_link", "avb0_mdio", "avb0_rgmii", 29196f7071dSGeert Uytterhoeven "avb0_txcrefclk"; 29296f7071dSGeert Uytterhoeven function = "avb0"; 29396f7071dSGeert Uytterhoeven }; 29496f7071dSGeert Uytterhoeven 29596f7071dSGeert Uytterhoeven pins_mdio { 29696f7071dSGeert Uytterhoeven groups = "avb0_mdio"; 29796f7071dSGeert Uytterhoeven drive-strength = <21>; 29896f7071dSGeert Uytterhoeven }; 29996f7071dSGeert Uytterhoeven 30096f7071dSGeert Uytterhoeven pins_mii { 30196f7071dSGeert Uytterhoeven groups = "avb0_rgmii"; 30296f7071dSGeert Uytterhoeven drive-strength = <21>; 30396f7071dSGeert Uytterhoeven }; 30496f7071dSGeert Uytterhoeven 30596f7071dSGeert Uytterhoeven }; 3067a8d590dSGeert Uytterhoeven hscif0_pins: hscif0 { 3077a8d590dSGeert Uytterhoeven groups = "hscif0_data"; 3087a8d590dSGeert Uytterhoeven function = "hscif0"; 3097a8d590dSGeert Uytterhoeven }; 3107a8d590dSGeert Uytterhoeven 31177643815SGeert Uytterhoeven i2c0_pins: i2c0 { 31277643815SGeert Uytterhoeven groups = "i2c0"; 31377643815SGeert Uytterhoeven function = "i2c0"; 31477643815SGeert Uytterhoeven }; 31577643815SGeert Uytterhoeven 316df9645b9STomi Valkeinen i2c1_pins: i2c1 { 317df9645b9STomi Valkeinen groups = "i2c1"; 318df9645b9STomi Valkeinen function = "i2c1"; 319df9645b9STomi Valkeinen }; 320df9645b9STomi Valkeinen 3216672f840SGeert Uytterhoeven keys_pins: keys { 3226672f840SGeert Uytterhoeven pins = "GP_5_0", "GP_5_1", "GP_5_2"; 3236672f840SGeert Uytterhoeven bias-pull-up; 3246672f840SGeert Uytterhoeven }; 3256672f840SGeert Uytterhoeven 32634bd9009STakeshi Kihara mmc_pins: mmc { 32734bd9009STakeshi Kihara groups = "mmc_data8", "mmc_ctrl", "mmc_ds"; 32834bd9009STakeshi Kihara function = "mmc"; 32934bd9009STakeshi Kihara power-source = <1800>; 33034bd9009STakeshi Kihara }; 33134bd9009STakeshi Kihara 3325c1bf1e3SHai Pham qspi0_pins: qspi0 { 3335c1bf1e3SHai Pham groups = "qspi0_ctrl", "qspi0_data4"; 3345c1bf1e3SHai Pham function = "qspi0"; 3355c1bf1e3SHai Pham }; 3365c1bf1e3SHai Pham 3377a8d590dSGeert Uytterhoeven scif_clk_pins: scif_clk { 3387a8d590dSGeert Uytterhoeven groups = "scif_clk"; 3397a8d590dSGeert Uytterhoeven function = "scif_clk"; 3407a8d590dSGeert Uytterhoeven }; 3417a8d590dSGeert Uytterhoeven}; 3427a8d590dSGeert Uytterhoeven 3435c1bf1e3SHai Pham&rpc { 3445c1bf1e3SHai Pham pinctrl-0 = <&qspi0_pins>; 3455c1bf1e3SHai Pham pinctrl-names = "default"; 3465c1bf1e3SHai Pham 3475c1bf1e3SHai Pham status = "okay"; 3485c1bf1e3SHai Pham 3495c1bf1e3SHai Pham flash@0 { 3505c1bf1e3SHai Pham compatible = "spansion,s25fs512s", "jedec,spi-nor"; 3515c1bf1e3SHai Pham reg = <0>; 3525c1bf1e3SHai Pham spi-max-frequency = <40000000>; 3535c1bf1e3SHai Pham spi-rx-bus-width = <4>; 3545c1bf1e3SHai Pham 3555c1bf1e3SHai Pham partitions { 3565c1bf1e3SHai Pham compatible = "fixed-partitions"; 3575c1bf1e3SHai Pham #address-cells = <1>; 3585c1bf1e3SHai Pham #size-cells = <1>; 3595c1bf1e3SHai Pham 3605c1bf1e3SHai Pham boot@0 { 3615c1bf1e3SHai Pham reg = <0x0 0x1200000>; 3625c1bf1e3SHai Pham read-only; 3635c1bf1e3SHai Pham }; 3645c1bf1e3SHai Pham user@1200000 { 3655c1bf1e3SHai Pham reg = <0x1200000 0x2e00000>; 3665c1bf1e3SHai Pham }; 3675c1bf1e3SHai Pham }; 3685c1bf1e3SHai Pham }; 3695c1bf1e3SHai Pham}; 3705c1bf1e3SHai Pham 371495e36c3SGeert Uytterhoeven&rwdt { 372495e36c3SGeert Uytterhoeven timeout-sec = <60>; 373495e36c3SGeert Uytterhoeven status = "okay"; 374495e36c3SGeert Uytterhoeven}; 375d13f817aSWolfram Sang 376d13f817aSWolfram Sang&scif_clk { 377d13f817aSWolfram Sang clock-frequency = <24000000>; 378d13f817aSWolfram Sang}; 379