/dts-v1/; #include "skeleton.dtsi" / { model = "Palmetto BMC"; compatible = "tyan,palmetto-bmc", "aspeed,ast2400"; #address-cells = <1>; #size-cells = <1>; interrupt-parent = <&vic>; aliases { serial0 = &uart5; }; chosen { stdout-path = &uart5; bootargs = "console=ttyS4,38400"; }; memory { reg = < 0x40000000 0x10000000 >; }; cpus { #address-cells = <1>; #size-cells = <0>; cpu@0 { compatible = "arm,arm926ej-s"; device_type = "cpu"; reg = <0>; }; }; // FIXME clocks { // Do a proper driver... for now, we know the straps // and uboot config on palmetto are: // - CLKIN is 48Mhz // - HPLL is 384Mhz // - CPU:AHB is strapped 2:1 // - PCLK is HPLL/8 = 48Mhz clk_apb: clk_apb { #clock-cells = <0>; compatible = "fixed-clock"; clock-frequency = <48000000>; }; clk_hpll: clk_hpll { #clock-cells = <0>; compatible = "fixed-clock"; clock-frequency = <384000000>; }; }; ahb { compatible = "simple-bus"; #address-cells = <1>; #size-cells = <1>; ranges; vic: interrupt-controller@1e6c0080 { compatible = "aspeed,new-vic"; interrupt-controller; #interrupt-cells = <1>; valid-sources = < 0xffffffff 0x0007ffff>; reg = <0x1e6c0080 0x80>; }; mac0: ethernet@1e660000 { compatible = "faraday,ftgmac100", "aspeed,ast2400-mac"; reg = <0x1e660000 0x180>; interrupts = <2>; use-nc-si; no-hw-checksum; }; apb { compatible = "simple-bus"; #address-cells = <1>; #size-cells = <1>; ranges; sram@1e72000 { compatible = "mmio-sram"; reg = <0x1e72000 0x8000>; // 32K }; ibt@1e789140 { compatible = "aspeed,bt-host"; reg = <0x1e789140 0x18>; }; i2c: i2c@1e78a040 { compatible = "aspeed,ast2400-i2c-common"; reg = <0x1e78a000 0x40>; ranges = <0 0x1e78a000 0x1000>; interrupts = <12>; clocks = <&clk_apb>; i2c0: i2c-bus@0x40 { reg = <0x40 0x40>; compatible = "aspeed,ast2400-i2c-bus"; bus = <0>; clock-frequency = <100000>; status = "okay"; eeprom@50 { compatible = "atmel,24c256"; reg = <0x50>; pagesize = <64>; }; rtc@68 { compatible = "dallas,ds3231"; reg = <0x68>; // interrupts = }; }; i2c1: i2c-bus@0x80 { reg = <0x80 0x40>; compatible = "aspeed,ast2400-i2c-bus"; bus = <1>; clock-frequency = <100000>; status = "okay"; }; i2c2: i2c-bus@0xC0 { reg = <0xC0 0x40>; compatible = "aspeed,ast2400-i2c-bus"; bus = <2>; clock-frequency = <100000>; status = "okay"; tmp423@4c { compatible = "ti,tmp423"; reg = <0x4c>; }; }; i2c3: i2c-bus@0x100 { reg = <0x100 0x40>; compatible = "aspeed,ast2400-i2c-bus"; bus = <3>; clock-frequency = <100000>; status = "okay"; }; i2c4: i2c-bus@0x140 { reg = <0x140 0x40>; compatible = "aspeed,ast2400-i2c-bus"; bus = <4>; clock-frequency = <100000>; status = "okay"; }; i2c5: i2c-bus@0x180 { reg = <0x180 0x40>; compatible = "aspeed,ast2400-i2c-bus"; bus = <5>; clock-frequency = <100000>; status = "okay"; }; i2c6: i2c-bus@0x1C0 { reg = <0x1C0 0x40>; compatible = "aspeed,ast2400-i2c-bus"; bus = <6>; clock-frequency = <100000>; status = "okay"; }; i2c7: i2c-bus@0x300 { reg = <0x300 0x40>; compatible = "aspeed,ast2400-i2c-bus"; bus = <7>; clock-frequency = <100000>; status = "okay"; }; i2c8: i2c-bus@0x340 { reg = <0x340 0x40>; compatible = "aspeed,ast2400-i2c-bus"; bus = <8>; clock-frequency = <100000>; status = "okay"; }; i2c9: i2c-bus@0x380 { reg = <0x380 0x40>; compatible = "aspeed,ast2400-i2c-bus"; bus = <9>; clock-frequency = <100000>; status = "disabled"; }; i2c10: i2c-bus@0x3C0 { reg = <0x380 0x40>; compatible = "aspeed,ast2400-i2c-bus"; bus = <10>; clock-frequency = <100000>; status = "disabled"; }; i2c11: i2c-bus@0x400 { reg = <0x400 0x40>; compatible = "aspeed,ast2400-i2c-bus"; bus = <11>; clock-frequency = <100000>; status = "disabled"; }; i2c12: i2c-bus@0x440 { reg = <0x400 0x40>; compatible = "aspeed,ast2400-i2c-bus"; bus = <12>; clock-frequency = <100000>; status = "disabled"; }; i2c13: i2c-bus@0x480 { reg = <0x480 0x40>; compatible = "aspeed,ast2400-i2c-bus"; bus = <13>; clock-frequency = <100000>; status = "disabled"; }; }; syscon: syscon@1e6e2000 { compatible = "aspeed,syscon", "syscon"; reg = <0x1e6e2000 0x1a8>; interrupts = <19>; clocks = <&clk_apb>; status = "okay"; }; wdt: wdt@1e785000 { compatible = "aspeed,wdt", "wdt"; reg = <0x1e785000 0x1c4>; interrupts = <27>; clocks = <&clk_apb>; }; rtc: rtc@1e781000 { compatible = "aspeed,rtc"; reg = <0x1e781000 0x18>; }; timer: timer@98400000 { compatible = "aspeed,timer"; reg = <0x1e782000 0x90>; // The moxart_timer driver registers only one interrupt // and assumes it's for timer 1 //interrupts = <16 17 18 35 36 37 38 39>; interrupts = <16>; clocks = <&clk_apb>; }; gpio: gpio@1e780000 { compatible = "aspeed,ast2400-gpio"; reg = <0x1e780000 0x1000>; interrupts = <20>; }; uart1: serial@1e783000 { compatible = "ns16550a"; reg = <0x1e783000 0x1000>; reg-shift = <2>; interrupts = <9>; clock-frequency = < 1843200 >; no-loopback-test; }; uart2: serial@1e78d000 { compatible = "ns16550a"; reg = <0x1e78d000 0x1000>; reg-shift = <2>; interrupts = <32>; clock-frequency = < 1843200 >; no-loopback-test; }; /* APSS UART */ uart3: serial@1e78e000 { compatible = "ns16550a"; reg = <0x1e78e000 0x1000>; reg-shift = <2>; interrupts = <33>; clock-frequency = < 1843200 >; no-loopback-test; }; /* Host UART */ uart4: serial@1e78f000 { compatible = "ns16550a"; reg = <0x1e78f000 0x1000>; reg-shift = <2>; interrupts = <34>; clock-frequency = < 1843200 >; current-speed = < 115200 >; no-loopback-test; }; #if 1 /* BMC UART */ uart5: serial@1e784000 { compatible = "ns16550a"; reg = <0x1e784000 0x1000>; reg-shift = <2>; interrupts = <10>; clock-frequency = < 1843200 >; current-speed = < 38400 >; no-loopback-test; }; #endif uart6: serial@1e787000 { compatible = "ns16550a"; reg = <0x1e787000 0x1000>; reg-shift = <2>; interrupts = <10>; clock-frequency = < 1843200 >; current-speed = < 38400 >; no-loopback-test; }; }; }; };