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 10034bd9009STakeshi Kihara reg_1p8v: regulator-1p8v { 10134bd9009STakeshi Kihara compatible = "regulator-fixed"; 10234bd9009STakeshi Kihara regulator-name = "fixed-1.8V"; 10334bd9009STakeshi Kihara regulator-min-microvolt = <1800000>; 10434bd9009STakeshi Kihara regulator-max-microvolt = <1800000>; 10534bd9009STakeshi Kihara regulator-boot-on; 10634bd9009STakeshi Kihara regulator-always-on; 10734bd9009STakeshi Kihara }; 10834bd9009STakeshi Kihara 10934bd9009STakeshi Kihara reg_3p3v: regulator-3p3v { 11034bd9009STakeshi Kihara compatible = "regulator-fixed"; 11134bd9009STakeshi Kihara regulator-name = "fixed-3.3V"; 11234bd9009STakeshi Kihara regulator-min-microvolt = <3300000>; 11334bd9009STakeshi Kihara regulator-max-microvolt = <3300000>; 11434bd9009STakeshi Kihara regulator-boot-on; 11534bd9009STakeshi Kihara regulator-always-on; 11634bd9009STakeshi Kihara }; 117e4d755cfSYoshihiro Shimoda}; 118e4d755cfSYoshihiro Shimoda 11996f7071dSGeert Uytterhoeven&avb0 { 12096f7071dSGeert Uytterhoeven pinctrl-0 = <&avb0_pins>; 12196f7071dSGeert Uytterhoeven pinctrl-names = "default"; 12296f7071dSGeert Uytterhoeven phy-handle = <&phy0>; 12396f7071dSGeert Uytterhoeven tx-internal-delay-ps = <2000>; 12496f7071dSGeert Uytterhoeven status = "okay"; 12596f7071dSGeert Uytterhoeven 12696f7071dSGeert Uytterhoeven phy0: ethernet-phy@0 { 12796f7071dSGeert Uytterhoeven compatible = "ethernet-phy-id0022.1622", 12896f7071dSGeert Uytterhoeven "ethernet-phy-ieee802.3-c22"; 12996f7071dSGeert Uytterhoeven rxc-skew-ps = <1500>; 13096f7071dSGeert Uytterhoeven reg = <0>; 13196f7071dSGeert Uytterhoeven interrupt-parent = <&gpio7>; 13296f7071dSGeert Uytterhoeven interrupts = <5 IRQ_TYPE_LEVEL_LOW>; 13396f7071dSGeert Uytterhoeven reset-gpios = <&gpio7 10 GPIO_ACTIVE_LOW>; 13496f7071dSGeert Uytterhoeven }; 13596f7071dSGeert Uytterhoeven}; 13696f7071dSGeert Uytterhoeven 137e4d755cfSYoshihiro Shimoda&extal_clk { 138e4d755cfSYoshihiro Shimoda clock-frequency = <16666666>; 139e4d755cfSYoshihiro Shimoda}; 140e4d755cfSYoshihiro Shimoda 141e4d755cfSYoshihiro Shimoda&extalr_clk { 142e4d755cfSYoshihiro Shimoda clock-frequency = <32768>; 143e4d755cfSYoshihiro Shimoda}; 144e4d755cfSYoshihiro Shimoda 145e4d755cfSYoshihiro Shimoda&hscif0 { 146e4d755cfSYoshihiro Shimoda status = "okay"; 147e4d755cfSYoshihiro Shimoda}; 148e4d755cfSYoshihiro Shimoda 14977643815SGeert Uytterhoeven&i2c0 { 15077643815SGeert Uytterhoeven pinctrl-0 = <&i2c0_pins>; 15177643815SGeert Uytterhoeven pinctrl-names = "default"; 15277643815SGeert Uytterhoeven 15377643815SGeert Uytterhoeven status = "okay"; 15477643815SGeert Uytterhoeven clock-frequency = <400000>; 15577643815SGeert Uytterhoeven 15692378fd2SGeert Uytterhoeven io_expander_a: gpio@20 { 15792378fd2SGeert Uytterhoeven compatible = "onnn,pca9654"; 15892378fd2SGeert Uytterhoeven reg = <0x20>; 15992378fd2SGeert Uytterhoeven interrupt-parent = <&gpio0>; 16092378fd2SGeert Uytterhoeven interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 16192378fd2SGeert Uytterhoeven gpio-controller; 16292378fd2SGeert Uytterhoeven #gpio-cells = <2>; 16392378fd2SGeert Uytterhoeven interrupt-controller; 16492378fd2SGeert Uytterhoeven #interrupt-cells = <2>; 16592378fd2SGeert Uytterhoeven }; 16692378fd2SGeert Uytterhoeven 16777643815SGeert Uytterhoeven eeprom@50 { 16877643815SGeert Uytterhoeven compatible = "rohm,br24g01", "atmel,24c01"; 16977643815SGeert Uytterhoeven label = "cpu-board"; 17077643815SGeert Uytterhoeven reg = <0x50>; 17177643815SGeert Uytterhoeven pagesize = <8>; 17277643815SGeert Uytterhoeven }; 17377643815SGeert Uytterhoeven}; 17477643815SGeert Uytterhoeven 17534bd9009STakeshi Kihara&mmc0 { 17634bd9009STakeshi Kihara pinctrl-0 = <&mmc_pins>; 17734bd9009STakeshi Kihara pinctrl-1 = <&mmc_pins>; 17834bd9009STakeshi Kihara pinctrl-names = "default", "state_uhs"; 17934bd9009STakeshi Kihara 18034bd9009STakeshi Kihara vmmc-supply = <®_3p3v>; 18134bd9009STakeshi Kihara vqmmc-supply = <®_1p8v>; 18234bd9009STakeshi Kihara mmc-hs200-1_8v; 18334bd9009STakeshi Kihara mmc-hs400-1_8v; 18434bd9009STakeshi Kihara bus-width = <8>; 18534bd9009STakeshi Kihara no-sd; 18634bd9009STakeshi Kihara no-sdio; 18734bd9009STakeshi Kihara non-removable; 18834bd9009STakeshi Kihara full-pwr-cycle-in-suspend; 18934bd9009STakeshi Kihara status = "okay"; 19034bd9009STakeshi Kihara}; 19134bd9009STakeshi Kihara 1927a8d590dSGeert Uytterhoeven&pfc { 1937a8d590dSGeert Uytterhoeven pinctrl-0 = <&scif_clk_pins>; 1947a8d590dSGeert Uytterhoeven pinctrl-names = "default"; 1957a8d590dSGeert Uytterhoeven 19696f7071dSGeert Uytterhoeven avb0_pins: avb0 { 19796f7071dSGeert Uytterhoeven mux { 19896f7071dSGeert Uytterhoeven groups = "avb0_link", "avb0_mdio", "avb0_rgmii", 19996f7071dSGeert Uytterhoeven "avb0_txcrefclk"; 20096f7071dSGeert Uytterhoeven function = "avb0"; 20196f7071dSGeert Uytterhoeven }; 20296f7071dSGeert Uytterhoeven 20396f7071dSGeert Uytterhoeven pins_mdio { 20496f7071dSGeert Uytterhoeven groups = "avb0_mdio"; 20596f7071dSGeert Uytterhoeven drive-strength = <21>; 20696f7071dSGeert Uytterhoeven }; 20796f7071dSGeert Uytterhoeven 20896f7071dSGeert Uytterhoeven pins_mii { 20996f7071dSGeert Uytterhoeven groups = "avb0_rgmii"; 21096f7071dSGeert Uytterhoeven drive-strength = <21>; 21196f7071dSGeert Uytterhoeven }; 21296f7071dSGeert Uytterhoeven 21396f7071dSGeert Uytterhoeven }; 2147a8d590dSGeert Uytterhoeven hscif0_pins: hscif0 { 2157a8d590dSGeert Uytterhoeven groups = "hscif0_data"; 2167a8d590dSGeert Uytterhoeven function = "hscif0"; 2177a8d590dSGeert Uytterhoeven }; 2187a8d590dSGeert Uytterhoeven 21977643815SGeert Uytterhoeven i2c0_pins: i2c0 { 22077643815SGeert Uytterhoeven groups = "i2c0"; 22177643815SGeert Uytterhoeven function = "i2c0"; 22277643815SGeert Uytterhoeven }; 22377643815SGeert Uytterhoeven 2246672f840SGeert Uytterhoeven keys_pins: keys { 2256672f840SGeert Uytterhoeven pins = "GP_5_0", "GP_5_1", "GP_5_2"; 2266672f840SGeert Uytterhoeven bias-pull-up; 2276672f840SGeert Uytterhoeven }; 2286672f840SGeert Uytterhoeven 22934bd9009STakeshi Kihara mmc_pins: mmc { 23034bd9009STakeshi Kihara groups = "mmc_data8", "mmc_ctrl", "mmc_ds"; 23134bd9009STakeshi Kihara function = "mmc"; 23234bd9009STakeshi Kihara power-source = <1800>; 23334bd9009STakeshi Kihara }; 23434bd9009STakeshi Kihara 2355c1bf1e3SHai Pham qspi0_pins: qspi0 { 2365c1bf1e3SHai Pham groups = "qspi0_ctrl", "qspi0_data4"; 2375c1bf1e3SHai Pham function = "qspi0"; 2385c1bf1e3SHai Pham }; 2395c1bf1e3SHai Pham 2407a8d590dSGeert Uytterhoeven scif_clk_pins: scif_clk { 2417a8d590dSGeert Uytterhoeven groups = "scif_clk"; 2427a8d590dSGeert Uytterhoeven function = "scif_clk"; 2437a8d590dSGeert Uytterhoeven }; 2447a8d590dSGeert Uytterhoeven}; 2457a8d590dSGeert Uytterhoeven 2465c1bf1e3SHai Pham&rpc { 2475c1bf1e3SHai Pham pinctrl-0 = <&qspi0_pins>; 2485c1bf1e3SHai Pham pinctrl-names = "default"; 2495c1bf1e3SHai Pham 2505c1bf1e3SHai Pham status = "okay"; 2515c1bf1e3SHai Pham 2525c1bf1e3SHai Pham flash@0 { 2535c1bf1e3SHai Pham compatible = "spansion,s25fs512s", "jedec,spi-nor"; 2545c1bf1e3SHai Pham reg = <0>; 2555c1bf1e3SHai Pham spi-max-frequency = <40000000>; 2565c1bf1e3SHai Pham spi-rx-bus-width = <4>; 2575c1bf1e3SHai Pham 2585c1bf1e3SHai Pham partitions { 2595c1bf1e3SHai Pham compatible = "fixed-partitions"; 2605c1bf1e3SHai Pham #address-cells = <1>; 2615c1bf1e3SHai Pham #size-cells = <1>; 2625c1bf1e3SHai Pham 2635c1bf1e3SHai Pham boot@0 { 2645c1bf1e3SHai Pham reg = <0x0 0x1200000>; 2655c1bf1e3SHai Pham read-only; 2665c1bf1e3SHai Pham }; 2675c1bf1e3SHai Pham user@1200000 { 2685c1bf1e3SHai Pham reg = <0x1200000 0x2e00000>; 2695c1bf1e3SHai Pham }; 2705c1bf1e3SHai Pham }; 2715c1bf1e3SHai Pham }; 2725c1bf1e3SHai Pham}; 2735c1bf1e3SHai Pham 274495e36c3SGeert Uytterhoeven&rwdt { 275495e36c3SGeert Uytterhoeven timeout-sec = <60>; 276495e36c3SGeert Uytterhoeven status = "okay"; 277495e36c3SGeert Uytterhoeven}; 278*d13f817aSWolfram Sang 279*d13f817aSWolfram Sang&scif_clk { 280*d13f817aSWolfram Sang clock-frequency = <24000000>; 281*d13f817aSWolfram Sang}; 282