// 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-evb", "aspeed,ast2600"; aliases { serial4 = &uart5; }; chosen { bootargs = "console=ttyS4,115200n8"; }; memory@80000000 { device_type = "memory"; reg = <0x80000000 0x80000000>; }; reserved-memory { #address-cells = <1>; #size-cells = <1>; ranges; video_engine_memory: video { size = <0x04000000>; alignment = <0x01000000>; compatible = "shared-dma-pool"; reusable; }; gfx_memory: framebuffer { size = <0x01000000>; alignment = <0x01000000>; compatible = "shared-dma-pool"; reusable; }; }; 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-rxid"; phy-handle = <ðphy0>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_rgmii1_default>; }; &mac1 { status = "okay"; phy-mode = "rgmii-rxid"; 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-rx-bus-width = <4>; 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-rx-bus-width = <4>; spi-max-frequency = <100000000>; }; }; &uart5 { // Workaround for A0 compatible = "snps,dw-apb-uart"; }; &i2c0 { status = "okay"; }; &i2c1 { status = "okay"; }; &i2c2 { status = "okay"; }; &i2c3 { status = "okay"; }; &i2c4 { status = "okay"; }; &i2c5 { status = "okay"; }; &i2c6 { status = "okay"; }; &i2c7 { status = "okay"; temp@2e { compatible = "adi,adt7490"; reg = <0x2e>; }; eeprom@50 { compatible = "atmel,24c08"; reg = <0x50>; pagesize = <16>; }; }; &i2c8 { status = "okay"; lm75@4d { compatible = "national,lm75"; reg = <0x4d>; }; }; &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>; }; &vhub { status = "okay"; pinctrl-names = "default"; }; &video { status = "okay"; memory-region = <&video_engine_memory>; }; &gfx { status = "okay"; memory-region = <&gfx_memory>; };