1*724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2*724ba675SRob Herring/* 3*724ba675SRob Herring * Device Tree file for SolidRun Armada 38x Microsom 4*724ba675SRob Herring * 5*724ba675SRob Herring * Copyright (C) 2015 Russell King 6*724ba675SRob Herring */ 7*724ba675SRob Herring#include <dt-bindings/input/input.h> 8*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 9*724ba675SRob Herring 10*724ba675SRob Herring/ { 11*724ba675SRob Herring memory { 12*724ba675SRob Herring device_type = "memory"; 13*724ba675SRob Herring reg = <0x00000000 0x10000000>; /* 256 MB */ 14*724ba675SRob Herring }; 15*724ba675SRob Herring 16*724ba675SRob Herring soc { 17*724ba675SRob Herring ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000 18*724ba675SRob Herring MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000 19*724ba675SRob Herring MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000 20*724ba675SRob Herring MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000 21*724ba675SRob Herring MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>; 22*724ba675SRob Herring 23*724ba675SRob Herring internal-regs { 24*724ba675SRob Herring rtc@a3800 { 25*724ba675SRob Herring /* 26*724ba675SRob Herring * If the rtc doesn't work, run "date reset" 27*724ba675SRob Herring * twice in u-boot. 28*724ba675SRob Herring */ 29*724ba675SRob Herring status = "okay"; 30*724ba675SRob Herring }; 31*724ba675SRob Herring }; 32*724ba675SRob Herring }; 33*724ba675SRob Herring}; 34*724ba675SRob Herring 35*724ba675SRob Herring&bm { 36*724ba675SRob Herring status = "okay"; 37*724ba675SRob Herring}; 38*724ba675SRob Herring 39*724ba675SRob Herring&bm_bppi { 40*724ba675SRob Herring status = "okay"; 41*724ba675SRob Herring}; 42*724ba675SRob Herring 43*724ba675SRob Herringð0 { 44*724ba675SRob Herring /* ethernet@70000 */ 45*724ba675SRob Herring pinctrl-0 = <&ge0_rgmii_pins>; 46*724ba675SRob Herring pinctrl-names = "default"; 47*724ba675SRob Herring phy = <&phy_dedicated>; 48*724ba675SRob Herring phy-mode = "rgmii-id"; 49*724ba675SRob Herring buffer-manager = <&bm>; 50*724ba675SRob Herring bm,pool-long = <0>; 51*724ba675SRob Herring bm,pool-short = <1>; 52*724ba675SRob Herring status = "okay"; 53*724ba675SRob Herring}; 54*724ba675SRob Herring 55*724ba675SRob Herring&mdio { 56*724ba675SRob Herring /* 57*724ba675SRob Herring * Add the phy clock here, so the phy can be accessed to read its 58*724ba675SRob Herring * IDs prior to binding with the driver. 59*724ba675SRob Herring */ 60*724ba675SRob Herring pinctrl-0 = <&mdio_pins µsom_phy_clk_pins>; 61*724ba675SRob Herring pinctrl-names = "default"; 62*724ba675SRob Herring 63*724ba675SRob Herring phy_dedicated: ethernet-phy@0 { 64*724ba675SRob Herring /* 65*724ba675SRob Herring * Annoyingly, the marvell phy driver configures the LED 66*724ba675SRob Herring * register, rather than preserving reset-loaded setting. 67*724ba675SRob Herring * We undo that rubbish here. 68*724ba675SRob Herring */ 69*724ba675SRob Herring marvell,reg-init = <3 16 0 0x101e>; 70*724ba675SRob Herring reg = <0>; 71*724ba675SRob Herring }; 72*724ba675SRob Herring}; 73*724ba675SRob Herring 74*724ba675SRob Herring&i2c0 { 75*724ba675SRob Herring clock-frequency = <400000>; 76*724ba675SRob Herring pinctrl-0 = <&i2c0_pins>; 77*724ba675SRob Herring pinctrl-names = "default"; 78*724ba675SRob Herring status = "okay"; 79*724ba675SRob Herring 80*724ba675SRob Herring eeprom@53 { 81*724ba675SRob Herring compatible = "atmel,24c02"; 82*724ba675SRob Herring reg = <0x53>; 83*724ba675SRob Herring pagesize = <16>; 84*724ba675SRob Herring }; 85*724ba675SRob Herring}; 86*724ba675SRob Herring 87*724ba675SRob Herring&pinctrl { 88*724ba675SRob Herring microsom_phy_clk_pins: microsom-phy-clk-pins { 89*724ba675SRob Herring marvell,pins = "mpp45"; 90*724ba675SRob Herring marvell,function = "ref"; 91*724ba675SRob Herring }; 92*724ba675SRob Herring /* Optional eMMC */ 93*724ba675SRob Herring microsom_sdhci_pins: microsom-sdhci-pins { 94*724ba675SRob Herring marvell,pins = "mpp21", "mpp28", "mpp37", 95*724ba675SRob Herring "mpp38", "mpp39", "mpp40"; 96*724ba675SRob Herring marvell,function = "sd0"; 97*724ba675SRob Herring }; 98*724ba675SRob Herring}; 99*724ba675SRob Herring 100*724ba675SRob Herring&spi1 { 101*724ba675SRob Herring /* The microsom has an optional W25Q32 on board, connected to CS0 */ 102*724ba675SRob Herring pinctrl-0 = <&spi1_pins>; 103*724ba675SRob Herring 104*724ba675SRob Herring w25q32: flash@0 { 105*724ba675SRob Herring #address-cells = <1>; 106*724ba675SRob Herring #size-cells = <1>; 107*724ba675SRob Herring compatible = "w25q32", "jedec,spi-nor"; 108*724ba675SRob Herring reg = <0>; /* Chip select 0 */ 109*724ba675SRob Herring spi-max-frequency = <3000000>; 110*724ba675SRob Herring }; 111*724ba675SRob Herring}; 112*724ba675SRob Herring 113*724ba675SRob Herring&uart0 { 114*724ba675SRob Herring pinctrl-0 = <&uart0_pins>; 115*724ba675SRob Herring pinctrl-names = "default"; 116*724ba675SRob Herring status = "okay"; 117*724ba675SRob Herring}; 118