123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350 |
- // 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>;
- };
|