1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Copyright (C) 2012 Marvell Technology Group Ltd. 4*4882a593Smuzhiyun * Author: Haojian Zhuang <haojian.zhuang@marvell.com> 5*4882a593Smuzhiyun */ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun#include <dt-bindings/clock/marvell,pxa168.h> 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun/ { 10*4882a593Smuzhiyun #address-cells = <1>; 11*4882a593Smuzhiyun #size-cells = <1>; 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun aliases { 14*4882a593Smuzhiyun serial0 = &uart1; 15*4882a593Smuzhiyun serial1 = &uart2; 16*4882a593Smuzhiyun serial2 = &uart3; 17*4882a593Smuzhiyun i2c0 = &twsi1; 18*4882a593Smuzhiyun i2c1 = &twsi2; 19*4882a593Smuzhiyun }; 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun soc { 22*4882a593Smuzhiyun #address-cells = <1>; 23*4882a593Smuzhiyun #size-cells = <1>; 24*4882a593Smuzhiyun compatible = "simple-bus"; 25*4882a593Smuzhiyun interrupt-parent = <&intc>; 26*4882a593Smuzhiyun ranges; 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun axi@d4200000 { /* AXI */ 29*4882a593Smuzhiyun compatible = "mrvl,axi-bus", "simple-bus"; 30*4882a593Smuzhiyun #address-cells = <1>; 31*4882a593Smuzhiyun #size-cells = <1>; 32*4882a593Smuzhiyun reg = <0xd4200000 0x00200000>; 33*4882a593Smuzhiyun ranges; 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun intc: interrupt-controller@d4282000 { 36*4882a593Smuzhiyun compatible = "mrvl,mmp-intc"; 37*4882a593Smuzhiyun interrupt-controller; 38*4882a593Smuzhiyun #interrupt-cells = <1>; 39*4882a593Smuzhiyun reg = <0xd4282000 0x1000>; 40*4882a593Smuzhiyun mrvl,intc-nr-irqs = <64>; 41*4882a593Smuzhiyun }; 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun }; 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun apb@d4000000 { /* APB */ 46*4882a593Smuzhiyun compatible = "mrvl,apb-bus", "simple-bus"; 47*4882a593Smuzhiyun #address-cells = <1>; 48*4882a593Smuzhiyun #size-cells = <1>; 49*4882a593Smuzhiyun reg = <0xd4000000 0x00200000>; 50*4882a593Smuzhiyun ranges; 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun timer0: timer@d4014000 { 53*4882a593Smuzhiyun compatible = "mrvl,mmp-timer"; 54*4882a593Smuzhiyun reg = <0xd4014000 0x100>; 55*4882a593Smuzhiyun interrupts = <13>; 56*4882a593Smuzhiyun }; 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun uart1: serial@d4017000 { 59*4882a593Smuzhiyun compatible = "mrvl,mmp-uart", "intel,xscale-uart"; 60*4882a593Smuzhiyun reg = <0xd4017000 0x1000>; 61*4882a593Smuzhiyun reg-shift = <2>; 62*4882a593Smuzhiyun interrupts = <27>; 63*4882a593Smuzhiyun clocks = <&soc_clocks PXA168_CLK_UART0>; 64*4882a593Smuzhiyun resets = <&soc_clocks PXA168_CLK_UART0>; 65*4882a593Smuzhiyun status = "disabled"; 66*4882a593Smuzhiyun }; 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun uart2: serial@d4018000 { 69*4882a593Smuzhiyun compatible = "mrvl,mmp-uart", "intel,xscale-uart"; 70*4882a593Smuzhiyun reg = <0xd4018000 0x1000>; 71*4882a593Smuzhiyun reg-shift = <2>; 72*4882a593Smuzhiyun interrupts = <28>; 73*4882a593Smuzhiyun clocks = <&soc_clocks PXA168_CLK_UART1>; 74*4882a593Smuzhiyun resets = <&soc_clocks PXA168_CLK_UART1>; 75*4882a593Smuzhiyun status = "disabled"; 76*4882a593Smuzhiyun }; 77*4882a593Smuzhiyun 78*4882a593Smuzhiyun uart3: serial@d4026000 { 79*4882a593Smuzhiyun compatible = "mrvl,mmp-uart", "intel,xscale-uart"; 80*4882a593Smuzhiyun reg = <0xd4026000 0x1000>; 81*4882a593Smuzhiyun reg-shift = <2>; 82*4882a593Smuzhiyun interrupts = <29>; 83*4882a593Smuzhiyun clocks = <&soc_clocks PXA168_CLK_UART2>; 84*4882a593Smuzhiyun resets = <&soc_clocks PXA168_CLK_UART2>; 85*4882a593Smuzhiyun status = "disabled"; 86*4882a593Smuzhiyun }; 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun gpio@d4019000 { 89*4882a593Smuzhiyun compatible = "marvell,mmp-gpio"; 90*4882a593Smuzhiyun #address-cells = <1>; 91*4882a593Smuzhiyun #size-cells = <1>; 92*4882a593Smuzhiyun reg = <0xd4019000 0x1000>; 93*4882a593Smuzhiyun gpio-controller; 94*4882a593Smuzhiyun #gpio-cells = <2>; 95*4882a593Smuzhiyun interrupts = <49>; 96*4882a593Smuzhiyun clocks = <&soc_clocks PXA168_CLK_GPIO>; 97*4882a593Smuzhiyun resets = <&soc_clocks PXA168_CLK_GPIO>; 98*4882a593Smuzhiyun interrupt-names = "gpio_mux"; 99*4882a593Smuzhiyun interrupt-controller; 100*4882a593Smuzhiyun #interrupt-cells = <2>; 101*4882a593Smuzhiyun ranges; 102*4882a593Smuzhiyun 103*4882a593Smuzhiyun gcb0: gpio@d4019000 { 104*4882a593Smuzhiyun reg = <0xd4019000 0x4>; 105*4882a593Smuzhiyun }; 106*4882a593Smuzhiyun 107*4882a593Smuzhiyun gcb1: gpio@d4019004 { 108*4882a593Smuzhiyun reg = <0xd4019004 0x4>; 109*4882a593Smuzhiyun }; 110*4882a593Smuzhiyun 111*4882a593Smuzhiyun gcb2: gpio@d4019008 { 112*4882a593Smuzhiyun reg = <0xd4019008 0x4>; 113*4882a593Smuzhiyun }; 114*4882a593Smuzhiyun 115*4882a593Smuzhiyun gcb3: gpio@d4019100 { 116*4882a593Smuzhiyun reg = <0xd4019100 0x4>; 117*4882a593Smuzhiyun }; 118*4882a593Smuzhiyun }; 119*4882a593Smuzhiyun 120*4882a593Smuzhiyun twsi1: i2c@d4011000 { 121*4882a593Smuzhiyun compatible = "mrvl,mmp-twsi"; 122*4882a593Smuzhiyun #address-cells = <1>; 123*4882a593Smuzhiyun #size-cells = <0>; 124*4882a593Smuzhiyun reg = <0xd4011000 0x1000>; 125*4882a593Smuzhiyun interrupts = <7>; 126*4882a593Smuzhiyun clocks = <&soc_clocks PXA168_CLK_TWSI0>; 127*4882a593Smuzhiyun resets = <&soc_clocks PXA168_CLK_TWSI0>; 128*4882a593Smuzhiyun mrvl,i2c-fast-mode; 129*4882a593Smuzhiyun status = "disabled"; 130*4882a593Smuzhiyun }; 131*4882a593Smuzhiyun 132*4882a593Smuzhiyun twsi2: i2c@d4025000 { 133*4882a593Smuzhiyun compatible = "mrvl,mmp-twsi"; 134*4882a593Smuzhiyun #address-cells = <1>; 135*4882a593Smuzhiyun #size-cells = <0>; 136*4882a593Smuzhiyun reg = <0xd4025000 0x1000>; 137*4882a593Smuzhiyun interrupts = <58>; 138*4882a593Smuzhiyun clocks = <&soc_clocks PXA168_CLK_TWSI1>; 139*4882a593Smuzhiyun resets = <&soc_clocks PXA168_CLK_TWSI1>; 140*4882a593Smuzhiyun status = "disabled"; 141*4882a593Smuzhiyun }; 142*4882a593Smuzhiyun 143*4882a593Smuzhiyun rtc: rtc@d4010000 { 144*4882a593Smuzhiyun compatible = "mrvl,mmp-rtc"; 145*4882a593Smuzhiyun reg = <0xd4010000 0x1000>; 146*4882a593Smuzhiyun interrupts = <5>, <6>; 147*4882a593Smuzhiyun interrupt-names = "rtc 1Hz", "rtc alarm"; 148*4882a593Smuzhiyun clocks = <&soc_clocks PXA168_CLK_RTC>; 149*4882a593Smuzhiyun resets = <&soc_clocks PXA168_CLK_RTC>; 150*4882a593Smuzhiyun status = "disabled"; 151*4882a593Smuzhiyun }; 152*4882a593Smuzhiyun }; 153*4882a593Smuzhiyun 154*4882a593Smuzhiyun soc_clocks: clocks{ 155*4882a593Smuzhiyun compatible = "marvell,pxa168-clock"; 156*4882a593Smuzhiyun reg = <0xd4050000 0x1000>, 157*4882a593Smuzhiyun <0xd4282800 0x400>, 158*4882a593Smuzhiyun <0xd4015000 0x1000>; 159*4882a593Smuzhiyun reg-names = "mpmu", "apmu", "apbc"; 160*4882a593Smuzhiyun #clock-cells = <1>; 161*4882a593Smuzhiyun #reset-cells = <1>; 162*4882a593Smuzhiyun }; 163*4882a593Smuzhiyun }; 164*4882a593Smuzhiyun}; 165