1f9010b0eSMarkus Reichl// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2f9010b0eSMarkus Reichl/* 3f9010b0eSMarkus Reichl * Copyright (c) 2017 T-Chip Intelligent Technology Co., Ltd 4f9010b0eSMarkus Reichl * Copyright (c) 2019 Markus Reichl <m.reichl@fivetechno.de> 5f9010b0eSMarkus Reichl */ 6f9010b0eSMarkus Reichl 7f9010b0eSMarkus Reichl/dts-v1/; 8f9010b0eSMarkus Reichl#include "rk3399-roc-pc.dtsi" 9f9010b0eSMarkus Reichl 10f9010b0eSMarkus Reichl/ { 11f9010b0eSMarkus Reichl model = "Firefly ROC-RK3399-PC Mezzanine Board"; 12f9010b0eSMarkus Reichl compatible = "firefly,roc-rk3399-pc-mezzanine", "rockchip,rk3399"; 13f9010b0eSMarkus Reichl 14*5dcbe7e3SHeiko Stuebner aliases { 15*5dcbe7e3SHeiko Stuebner mmc2 = &sdio0; 16*5dcbe7e3SHeiko Stuebner }; 17*5dcbe7e3SHeiko Stuebner 18bd77d0adSJagan Teki /* MP8009 PoE PD */ 19bd77d0adSJagan Teki poe_12v: poe-12v { 20bd77d0adSJagan Teki compatible = "regulator-fixed"; 21bd77d0adSJagan Teki regulator-name = "poe_12v"; 22bd77d0adSJagan Teki regulator-always-on; 23bd77d0adSJagan Teki regulator-boot-on; 24bd77d0adSJagan Teki regulator-min-microvolt = <12000000>; 25bd77d0adSJagan Teki regulator-max-microvolt = <12000000>; 26bd77d0adSJagan Teki }; 27bd77d0adSJagan Teki 28f9010b0eSMarkus Reichl vcc3v3_ngff: vcc3v3-ngff { 29f9010b0eSMarkus Reichl compatible = "regulator-fixed"; 30f9010b0eSMarkus Reichl regulator-name = "vcc3v3_ngff"; 31f9010b0eSMarkus Reichl enable-active-high; 32f9010b0eSMarkus Reichl gpio = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>; 33f9010b0eSMarkus Reichl pinctrl-names = "default"; 34f9010b0eSMarkus Reichl pinctrl-0 = <&vcc3v3_ngff_en>; 35f9010b0eSMarkus Reichl regulator-always-on; 36f9010b0eSMarkus Reichl regulator-boot-on; 37f9010b0eSMarkus Reichl regulator-min-microvolt = <3300000>; 38f9010b0eSMarkus Reichl regulator-max-microvolt = <3300000>; 39bd77d0adSJagan Teki vin-supply = <&sys_12v>; 40f9010b0eSMarkus Reichl }; 41f9010b0eSMarkus Reichl 42f9010b0eSMarkus Reichl vcc3v3_pcie: vcc3v3-pcie { 43f9010b0eSMarkus Reichl compatible = "regulator-fixed"; 44f9010b0eSMarkus Reichl regulator-name = "vcc3v3_pcie"; 45f9010b0eSMarkus Reichl enable-active-high; 46f9010b0eSMarkus Reichl gpio = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>; 47f9010b0eSMarkus Reichl pinctrl-names = "default"; 48f9010b0eSMarkus Reichl pinctrl-0 = <&vcc3v3_pcie_en>; 49f9010b0eSMarkus Reichl regulator-min-microvolt = <3300000>; 50f9010b0eSMarkus Reichl regulator-max-microvolt = <3300000>; 51bd77d0adSJagan Teki vin-supply = <&sys_12v>; 52f9010b0eSMarkus Reichl }; 53f9010b0eSMarkus Reichl}; 54f9010b0eSMarkus Reichl 55bd77d0adSJagan Teki&sys_12v { 56bd77d0adSJagan Teki vin-supply = <&poe_12v>; 57bd77d0adSJagan Teki}; 58bd77d0adSJagan Teki 59f9010b0eSMarkus Reichl&pcie_phy { 60f9010b0eSMarkus Reichl status = "okay"; 61f9010b0eSMarkus Reichl}; 62f9010b0eSMarkus Reichl 63f9010b0eSMarkus Reichl&pcie0 { 64f9010b0eSMarkus Reichl ep-gpios = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>; 65f9010b0eSMarkus Reichl num-lanes = <4>; 66f9010b0eSMarkus Reichl pinctrl-names = "default"; 67f9010b0eSMarkus Reichl pinctrl-0 = <&pcie_perst>; 68f9010b0eSMarkus Reichl vpcie3v3-supply = <&vcc3v3_pcie>; 69ec5b0af7SMarkus Reichl vpcie1v8-supply = <&vcc1v8_pmu>; 70ec5b0af7SMarkus Reichl vpcie0v9-supply = <&vcca_0v9>; 71f9010b0eSMarkus Reichl status = "okay"; 72f9010b0eSMarkus Reichl}; 73f9010b0eSMarkus Reichl 74f9010b0eSMarkus Reichl&pinctrl { 75f9010b0eSMarkus Reichl ngff { 76f9010b0eSMarkus Reichl vcc3v3_ngff_en: vcc3v3-ngff-en { 77f9010b0eSMarkus Reichl rockchip,pins = <4 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 78f9010b0eSMarkus Reichl }; 79f9010b0eSMarkus Reichl }; 80f9010b0eSMarkus Reichl 81f9010b0eSMarkus Reichl pcie { 82f9010b0eSMarkus Reichl vcc3v3_pcie_en: vcc3v3-pcie-en { 83f9010b0eSMarkus Reichl rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>; 84f9010b0eSMarkus Reichl }; 85f9010b0eSMarkus Reichl 86f9010b0eSMarkus Reichl pcie_perst: pcie-perst { 87f9010b0eSMarkus Reichl rockchip,pins = <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>; 88f9010b0eSMarkus Reichl }; 89f9010b0eSMarkus Reichl }; 90f9010b0eSMarkus Reichl}; 91cf3c5397SMarkus Reichl 92cf3c5397SMarkus Reichl&sdio0 { 93cf3c5397SMarkus Reichl bus-width = <4>; 94cf3c5397SMarkus Reichl cap-sd-highspeed; 95cf3c5397SMarkus Reichl cap-sdio-irq; 96cf3c5397SMarkus Reichl keep-power-in-suspend; 97cf3c5397SMarkus Reichl mmc-pwrseq = <&sdio_pwrseq>; 98cf3c5397SMarkus Reichl non-removable; 99cf3c5397SMarkus Reichl pinctrl-names = "default"; 100cf3c5397SMarkus Reichl pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; 101cf3c5397SMarkus Reichl sd-uhs-sdr104; 102cf3c5397SMarkus Reichl vmmc-supply = <&vcc3v3_ngff>; 103cf3c5397SMarkus Reichl vqmmc-supply = <&vcc_1v8>; 104cf3c5397SMarkus Reichl status = "okay"; 105cf3c5397SMarkus Reichl}; 106cf3c5397SMarkus Reichl 107cf3c5397SMarkus Reichl&uart0 { 108cf3c5397SMarkus Reichl pinctrl-names = "default"; 109cf3c5397SMarkus Reichl pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 110cf3c5397SMarkus Reichl status = "okay"; 111cf3c5397SMarkus Reichl}; 112