| // SPDX-License-Identifier: GPL-2.0-or-later |
| // Copyright 2019 IBM Corp. |
| |
| /dts-v1/; |
| |
| #include "aspeed-g6.dtsi" |
| #include <dt-bindings/gpio/aspeed-gpio.h> |
| |
| / { |
| model = "AST2600 EVB"; |
| compatible = "aspeed,ast2600"; |
| |
| aliases { |
| serial4 = &uart5; |
| }; |
| |
| chosen { |
| bootargs = "console=ttyS4,115200n8"; |
| }; |
| |
| memory@80000000 { |
| device_type = "memory"; |
| reg = <0x80000000 0x80000000>; |
| }; |
| |
| vcc_sdhci0: regulator-vcc-sdhci0 { |
| compatible = "regulator-fixed"; |
| regulator-name = "SDHCI0 Vcc"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| gpios = <&gpio0 ASPEED_GPIO(V, 0) GPIO_ACTIVE_HIGH>; |
| enable-active-high; |
| }; |
| |
| vccq_sdhci0: regulator-vccq-sdhci0 { |
| compatible = "regulator-gpio"; |
| regulator-name = "SDHCI0 VccQ"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <3300000>; |
| gpios = <&gpio0 ASPEED_GPIO(V, 1) GPIO_ACTIVE_HIGH>; |
| gpios-states = <1>; |
| states = <3300000 1>, |
| <1800000 0>; |
| }; |
| |
| vcc_sdhci1: regulator-vcc-sdhci1 { |
| compatible = "regulator-fixed"; |
| regulator-name = "SDHCI1 Vcc"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| gpios = <&gpio0 ASPEED_GPIO(V, 2) GPIO_ACTIVE_HIGH>; |
| enable-active-high; |
| }; |
| |
| vccq_sdhci1: regulator-vccq-sdhci1 { |
| compatible = "regulator-gpio"; |
| regulator-name = "SDHCI1 VccQ"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <3300000>; |
| gpios = <&gpio0 ASPEED_GPIO(V, 3) GPIO_ACTIVE_HIGH>; |
| gpios-states = <1>; |
| states = <3300000 1>, |
| <1800000 0>; |
| }; |
| }; |
| |
| &mdio0 { |
| status = "okay"; |
| |
| ethphy0: ethernet-phy@0 { |
| compatible = "ethernet-phy-ieee802.3-c22"; |
| reg = <0>; |
| }; |
| }; |
| |
| &mdio1 { |
| status = "okay"; |
| |
| ethphy1: ethernet-phy@0 { |
| compatible = "ethernet-phy-ieee802.3-c22"; |
| reg = <0>; |
| }; |
| }; |
| |
| &mdio2 { |
| status = "okay"; |
| |
| ethphy2: ethernet-phy@0 { |
| compatible = "ethernet-phy-ieee802.3-c22"; |
| reg = <0>; |
| }; |
| }; |
| |
| &mdio3 { |
| status = "okay"; |
| |
| ethphy3: ethernet-phy@0 { |
| compatible = "ethernet-phy-ieee802.3-c22"; |
| reg = <0>; |
| }; |
| }; |
| |
| &mac0 { |
| status = "okay"; |
| |
| phy-mode = "rgmii"; |
| phy-handle = <ðphy0>; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_rgmii1_default>; |
| }; |
| |
| |
| &mac1 { |
| status = "okay"; |
| |
| phy-mode = "rgmii"; |
| phy-handle = <ðphy1>; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_rgmii2_default>; |
| }; |
| |
| &mac2 { |
| status = "okay"; |
| |
| phy-mode = "rgmii"; |
| phy-handle = <ðphy2>; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_rgmii3_default>; |
| }; |
| |
| &mac3 { |
| status = "okay"; |
| |
| phy-mode = "rgmii"; |
| phy-handle = <ðphy3>; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_rgmii4_default>; |
| }; |
| |
| &emmc_controller { |
| status = "okay"; |
| }; |
| |
| &emmc { |
| non-removable; |
| bus-width = <4>; |
| max-frequency = <100000000>; |
| clk-phase-mmc-hs200 = <9>, <225>; |
| }; |
| |
| &rtc { |
| status = "okay"; |
| }; |
| |
| &fmc { |
| status = "okay"; |
| flash@0 { |
| status = "okay"; |
| m25p,fast-read; |
| label = "bmc"; |
| spi-max-frequency = <50000000>; |
| #include "openbmc-flash-layout-64.dtsi" |
| }; |
| }; |
| |
| &spi1 { |
| status = "okay"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_spi1_default>; |
| |
| flash@0 { |
| status = "okay"; |
| m25p,fast-read; |
| label = "pnor"; |
| spi-max-frequency = <100000000>; |
| }; |
| }; |
| |
| &uart5 { |
| // Workaround for A0 |
| compatible = "snps,dw-apb-uart"; |
| }; |
| |
| &i2c0 { |
| status = "okay"; |
| |
| temp@2e { |
| compatible = "adi,adt7490"; |
| reg = <0x2e>; |
| }; |
| }; |
| |
| &i2c1 { |
| status = "okay"; |
| }; |
| |
| &i2c2 { |
| status = "okay"; |
| }; |
| |
| &i2c3 { |
| status = "okay"; |
| }; |
| |
| &i2c4 { |
| status = "okay"; |
| }; |
| |
| &i2c5 { |
| status = "okay"; |
| }; |
| |
| &i2c6 { |
| status = "okay"; |
| }; |
| |
| &i2c7 { |
| status = "okay"; |
| }; |
| |
| &i2c8 { |
| status = "okay"; |
| }; |
| |
| &i2c9 { |
| status = "okay"; |
| }; |
| |
| &i2c12 { |
| status = "okay"; |
| }; |
| |
| &i2c13 { |
| status = "okay"; |
| }; |
| |
| &i2c14 { |
| status = "okay"; |
| }; |
| |
| &i2c15 { |
| status = "okay"; |
| }; |
| |
| &fsim0 { |
| status = "okay"; |
| }; |
| |
| &ehci1 { |
| status = "okay"; |
| }; |
| |
| &uhci { |
| status = "okay"; |
| }; |
| |
| &sdc { |
| status = "okay"; |
| }; |
| |
| /* |
| * The signal voltage of sdhci0 and sdhci1 on AST2600-A2 EVB is able to be |
| * toggled by GPIO pins. |
| * In the reference design, GPIOV0 of AST2600-A2 EVB is connected to the |
| * power load switch that provides 3.3v to sdhci0 vdd, GPIOV1 is connected to |
| * a 1.8v and a 3.3v power load switch that provides signal voltage to |
| * sdhci0 bus. |
| * If GPIOV0 is active high, sdhci0 is enabled, otherwise, sdhci0 is disabled. |
| * If GPIOV1 is active high, 3.3v power load switch is enabled, sdhci0 signal |
| * voltage is 3.3v, otherwise, 1.8v power load switch will be enabled, |
| * sdhci0 signal voltage becomes 1.8v. |
| * AST2600-A2 EVB also supports toggling signal voltage for sdhci1. |
| * The design is the same as sdhci0, it uses GPIOV2 as power-gpio and GPIOV3 |
| * as power-switch-gpio. |
| */ |
| &sdhci0 { |
| status = "okay"; |
| bus-width = <4>; |
| max-frequency = <100000000>; |
| sdhci-drive-type = /bits/ 8 <3>; |
| sdhci-caps-mask = <0x7 0x0>; |
| sdhci,wp-inverted; |
| vmmc-supply = <&vcc_sdhci0>; |
| vqmmc-supply = <&vccq_sdhci0>; |
| clk-phase-sd-hs = <7>, <200>; |
| }; |
| |
| &sdhci1 { |
| status = "okay"; |
| bus-width = <4>; |
| max-frequency = <100000000>; |
| sdhci-drive-type = /bits/ 8 <3>; |
| sdhci-caps-mask = <0x7 0x0>; |
| sdhci,wp-inverted; |
| vmmc-supply = <&vcc_sdhci1>; |
| vqmmc-supply = <&vccq_sdhci1>; |
| clk-phase-sd-hs = <7>, <200>; |
| }; |