Stefan Roese | ff7e4f0 | 2020-06-30 12:08:57 +0200 | [diff] [blame] | 1 | // SPDX-License-Identifier: GPL-2.0+ |
| 2 | /* |
| 3 | * Marvell / Cavium Inc. CN73xx |
| 4 | */ |
| 5 | |
| 6 | /dts-v1/; |
| 7 | |
Stefan Roese | a078c65 | 2020-07-30 13:56:17 +0200 | [diff] [blame] | 8 | #include <dt-bindings/clock/octeon-clock.h> |
| 9 | |
Stefan Roese | ff7e4f0 | 2020-06-30 12:08:57 +0200 | [diff] [blame] | 10 | / { |
| 11 | #address-cells = <2>; |
| 12 | #size-cells = <2>; |
| 13 | |
| 14 | soc0: soc@0 { |
| 15 | interrupt-parent = <&ciu3>; |
| 16 | compatible = "simple-bus"; |
| 17 | #address-cells = <2>; |
| 18 | #size-cells = <2>; |
| 19 | ranges; /* Direct mapping */ |
| 20 | |
| 21 | ciu3: interrupt-controller@1010000000000 { |
| 22 | compatible = "cavium,octeon-7890-ciu3"; |
| 23 | interrupt-controller; |
| 24 | /* |
| 25 | * Interrupts are specified by two parts: |
| 26 | * 1) Source number (20 significant bits) |
| 27 | * 2) Trigger type: (4 == level, 1 == edge) |
| 28 | */ |
| 29 | #address-cells = <0>; |
| 30 | #interrupt-cells = <2>; |
| 31 | reg = <0x10100 0x00000000 0x0 0xb0000000>; |
| 32 | }; |
| 33 | |
| 34 | bootbus: bootbus@1180000000000 { |
| 35 | compatible = "cavium,octeon-3860-bootbus","simple-bus"; |
| 36 | reg = <0x11800 0x00000000 0x0 0x200>; |
| 37 | /* The chip select number and offset */ |
| 38 | #address-cells = <2>; |
| 39 | /* The size of the chip select region */ |
| 40 | #size-cells = <1>; |
| 41 | }; |
| 42 | |
Stefan Roese | a078c65 | 2020-07-30 13:56:17 +0200 | [diff] [blame] | 43 | clk: clock { |
| 44 | compatible = "mrvl,octeon-clk"; |
| 45 | #clock-cells = <1>; |
| 46 | u-boot,dm-pre-reloc; |
| 47 | }; |
| 48 | |
Stefan Roese | fad5ec5 | 2020-07-30 13:56:14 +0200 | [diff] [blame] | 49 | gpio: gpio-controller@1070000000800 { |
| 50 | #gpio-cells = <2>; |
| 51 | compatible = "cavium,octeon-7890-gpio"; |
| 52 | reg = <0x10700 0x00000800 0x0 0x100>; |
| 53 | gpio-controller; |
| 54 | nr-gpios = <32>; |
| 55 | /* Interrupts are specified by two parts: |
| 56 | * 1) GPIO pin number (0..15) |
| 57 | * 2) Triggering (1 - edge rising |
| 58 | * 2 - edge falling |
| 59 | * 4 - level active high |
| 60 | * 8 - level active low) |
| 61 | */ |
| 62 | interrupt-controller; |
| 63 | #interrupt-cells = <2>; |
| 64 | /* The GPIO pins connect to 16 consecutive CUI bits */ |
| 65 | interrupts = <0x03000 4>, <0x03001 4>, |
| 66 | <0x03002 4>, <0x03003 4>, |
| 67 | <0x03004 4>, <0x03005 4>, |
| 68 | <0x03006 4>, <0x03007 4>, |
| 69 | <0x03008 4>, <0x03009 4>, |
| 70 | <0x0300a 4>, <0x0300b 4>, |
| 71 | <0x0300c 4>, <0x0300d 4>, |
| 72 | <0x0300e 4>, <0x0300f 4>; |
| 73 | }; |
| 74 | |
Stefan Roese | ff7e4f0 | 2020-06-30 12:08:57 +0200 | [diff] [blame] | 75 | reset: reset@1180006001600 { |
| 76 | compatible = "mrvl,cn7xxx-rst"; |
| 77 | reg = <0x11800 0x06001600 0x0 0x200>; |
| 78 | }; |
| 79 | |
| 80 | uart0: serial@1180000000800 { |
| 81 | compatible = "cavium,octeon-3860-uart","ns16550"; |
| 82 | reg = <0x11800 0x00000800 0x0 0x400>; |
| 83 | clock-frequency = <0>; |
| 84 | current-speed = <115200>; |
| 85 | reg-shift = <3>; |
| 86 | interrupts = <0x08000 4>; |
| 87 | }; |
| 88 | |
| 89 | uart1: serial@1180000000c00 { |
| 90 | compatible = "cavium,octeon-3860-uart","ns16550"; |
| 91 | reg = <0x11800 0x00000c00 0x0 0x400>; |
| 92 | clock-frequency = <0>; |
| 93 | current-speed = <115200>; |
| 94 | reg-shift = <3>; |
| 95 | interrupts = <0x08040 4>; |
| 96 | }; |
Stefan Roese | 7ab9328 | 2020-07-30 13:56:15 +0200 | [diff] [blame] | 97 | |
| 98 | i2c0: i2c@1180000001000 { |
| 99 | #address-cells = <1>; |
| 100 | #size-cells = <0>; |
| 101 | compatible = "cavium,octeon-7890-twsi"; |
| 102 | reg = <0x11800 0x00001000 0x0 0x200>; |
| 103 | /* INT_ST, INT_TS, INT_CORE */ |
| 104 | interrupts = <0x0b000 1>, <0x0b001 1>, <0x0b002 1>; |
| 105 | clock-frequency = <100000>; |
Stefan Roese | a078c65 | 2020-07-30 13:56:17 +0200 | [diff] [blame] | 106 | clocks = <&clk OCTEON_CLK_IO>; |
Stefan Roese | 7ab9328 | 2020-07-30 13:56:15 +0200 | [diff] [blame] | 107 | }; |
| 108 | |
| 109 | i2c1: i2c@1180000001200 { |
| 110 | #address-cells = <1>; |
| 111 | #size-cells = <0>; |
| 112 | compatible = "cavium,octeon-7890-twsi"; |
| 113 | reg = <0x11800 0x00001200 0x0 0x200>; |
| 114 | /* INT_ST, INT_TS, INT_CORE */ |
| 115 | interrupts = <0x0b100 1>, <0x0b101 1>, <0x0b102 1>; |
| 116 | clock-frequency = <100000>; |
Stefan Roese | a078c65 | 2020-07-30 13:56:17 +0200 | [diff] [blame] | 117 | clocks = <&clk OCTEON_CLK_IO>; |
Stefan Roese | 7ab9328 | 2020-07-30 13:56:15 +0200 | [diff] [blame] | 118 | }; |
Stefan Roese | 1032491 | 2020-07-30 13:56:19 +0200 | [diff] [blame^] | 119 | |
| 120 | spi: spi@1070000001000 { |
| 121 | compatible = "cavium,octeon-3010-spi"; |
| 122 | reg = <0x10700 0x00001000 0x0 0x100>; |
| 123 | interrupts = <0x05001 1>; |
| 124 | #address-cells = <1>; |
| 125 | #size-cells = <0>; |
| 126 | spi-max-frequency = <25000000>; |
| 127 | clocks = <&clk OCTEON_CLK_IO>; |
| 128 | }; |
Stefan Roese | ff7e4f0 | 2020-06-30 12:08:57 +0200 | [diff] [blame] | 129 | }; |
| 130 | }; |