1b2441318SGreg Kroah-Hartman// SPDX-License-Identifier: GPL-2.0 2ff1930c6SPaul Burton#include <dt-bindings/clock/jz4740-cgu.h> 3ff1930c6SPaul Burton 4ffb1843dSPaul Burton/ { 5ffb1843dSPaul Burton #address-cells = <1>; 6ffb1843dSPaul Burton #size-cells = <1>; 7ffb1843dSPaul Burton compatible = "ingenic,jz4740"; 88e8261ebSPaul Burton 95214cae7SAntony Pavlov cpuintc: interrupt-controller { 108e8261ebSPaul Burton #address-cells = <0>; 118e8261ebSPaul Burton #interrupt-cells = <1>; 128e8261ebSPaul Burton interrupt-controller; 138e8261ebSPaul Burton compatible = "mti,cpu-interrupt-controller"; 148e8261ebSPaul Burton }; 15adbdce77SPaul Burton 16adbdce77SPaul Burton intc: interrupt-controller@10001000 { 17adbdce77SPaul Burton compatible = "ingenic,jz4740-intc"; 18adbdce77SPaul Burton reg = <0x10001000 0x14>; 19adbdce77SPaul Burton 20adbdce77SPaul Burton interrupt-controller; 21adbdce77SPaul Burton #interrupt-cells = <1>; 22adbdce77SPaul Burton 23adbdce77SPaul Burton interrupt-parent = <&cpuintc>; 24adbdce77SPaul Burton interrupts = <2>; 25adbdce77SPaul Burton }; 26ff1930c6SPaul Burton 27ff1930c6SPaul Burton ext: ext { 28ff1930c6SPaul Burton compatible = "fixed-clock"; 29ff1930c6SPaul Burton #clock-cells = <0>; 30ff1930c6SPaul Burton }; 31ff1930c6SPaul Burton 32ff1930c6SPaul Burton rtc: rtc { 33ff1930c6SPaul Burton compatible = "fixed-clock"; 34ff1930c6SPaul Burton #clock-cells = <0>; 35ff1930c6SPaul Burton clock-frequency = <32768>; 36ff1930c6SPaul Burton }; 37ff1930c6SPaul Burton 38ff1930c6SPaul Burton cgu: jz4740-cgu@10000000 { 39ff1930c6SPaul Burton compatible = "ingenic,jz4740-cgu"; 40ff1930c6SPaul Burton reg = <0x10000000 0x100>; 41ff1930c6SPaul Burton 42ff1930c6SPaul Burton clocks = <&ext>, <&rtc>; 43ff1930c6SPaul Burton clock-names = "ext", "rtc"; 44ff1930c6SPaul Burton 45ff1930c6SPaul Burton #clock-cells = <1>; 46ff1930c6SPaul Burton }; 478838245dSPaul Burton 48fbc23c71SPaul Cercueil watchdog: watchdog@10002000 { 49fbc23c71SPaul Cercueil compatible = "ingenic,jz4740-watchdog"; 50fbc23c71SPaul Cercueil reg = <0x10002000 0x10>; 51fbc23c71SPaul Cercueil 52fbc23c71SPaul Cercueil clocks = <&cgu JZ4740_CLK_RTC>; 53fbc23c71SPaul Cercueil clock-names = "rtc"; 54fbc23c71SPaul Cercueil }; 55fbc23c71SPaul Cercueil 56*36aafdbdSPaul Cercueil tcu: timer@10002000 { 57*36aafdbdSPaul Cercueil compatible = "ingenic,jz4740-tcu", "simple-mfd"; 58*36aafdbdSPaul Cercueil reg = <0x10002000 0x1000>; 59*36aafdbdSPaul Cercueil #address-cells = <1>; 60*36aafdbdSPaul Cercueil #size-cells = <1>; 61*36aafdbdSPaul Cercueil ranges = <0x0 0x10002000 0x1000>; 62*36aafdbdSPaul Cercueil 63*36aafdbdSPaul Cercueil #clock-cells = <1>; 64*36aafdbdSPaul Cercueil 65*36aafdbdSPaul Cercueil clocks = <&cgu JZ4740_CLK_RTC 66*36aafdbdSPaul Cercueil &cgu JZ4740_CLK_EXT 67*36aafdbdSPaul Cercueil &cgu JZ4740_CLK_PCLK 68*36aafdbdSPaul Cercueil &cgu JZ4740_CLK_TCU>; 69*36aafdbdSPaul Cercueil clock-names = "rtc", "ext", "pclk", "tcu"; 70*36aafdbdSPaul Cercueil 71*36aafdbdSPaul Cercueil interrupt-controller; 72*36aafdbdSPaul Cercueil #interrupt-cells = <1>; 73*36aafdbdSPaul Cercueil 74*36aafdbdSPaul Cercueil interrupt-parent = <&intc>; 75*36aafdbdSPaul Cercueil interrupts = <23 22 21>; 76*36aafdbdSPaul Cercueil }; 77*36aafdbdSPaul Cercueil 78262d62cbSPaul Cercueil rtc_dev: rtc@10003000 { 79262d62cbSPaul Cercueil compatible = "ingenic,jz4740-rtc"; 80262d62cbSPaul Cercueil reg = <0x10003000 0x40>; 81262d62cbSPaul Cercueil 82262d62cbSPaul Cercueil interrupt-parent = <&intc>; 83262d62cbSPaul Cercueil interrupts = <15>; 84262d62cbSPaul Cercueil 85262d62cbSPaul Cercueil clocks = <&cgu JZ4740_CLK_RTC>; 86262d62cbSPaul Cercueil clock-names = "rtc"; 87262d62cbSPaul Cercueil }; 88262d62cbSPaul Cercueil 893951cbb5SPaul Cercueil pinctrl: pin-controller@10010000 { 903951cbb5SPaul Cercueil compatible = "ingenic,jz4740-pinctrl"; 913951cbb5SPaul Cercueil reg = <0x10010000 0x400>; 923951cbb5SPaul Cercueil 933951cbb5SPaul Cercueil #address-cells = <1>; 943951cbb5SPaul Cercueil #size-cells = <0>; 953951cbb5SPaul Cercueil 963951cbb5SPaul Cercueil gpa: gpio@0 { 973951cbb5SPaul Cercueil compatible = "ingenic,jz4740-gpio"; 983951cbb5SPaul Cercueil reg = <0>; 993951cbb5SPaul Cercueil 1003951cbb5SPaul Cercueil gpio-controller; 1013951cbb5SPaul Cercueil gpio-ranges = <&pinctrl 0 0 32>; 1023951cbb5SPaul Cercueil #gpio-cells = <2>; 1033951cbb5SPaul Cercueil 1043951cbb5SPaul Cercueil interrupt-controller; 1053951cbb5SPaul Cercueil #interrupt-cells = <2>; 1063951cbb5SPaul Cercueil 1073951cbb5SPaul Cercueil interrupt-parent = <&intc>; 1083951cbb5SPaul Cercueil interrupts = <28>; 1093951cbb5SPaul Cercueil }; 1103951cbb5SPaul Cercueil 1113951cbb5SPaul Cercueil gpb: gpio@1 { 1123951cbb5SPaul Cercueil compatible = "ingenic,jz4740-gpio"; 1133951cbb5SPaul Cercueil reg = <1>; 1143951cbb5SPaul Cercueil 1153951cbb5SPaul Cercueil gpio-controller; 1163951cbb5SPaul Cercueil gpio-ranges = <&pinctrl 0 32 32>; 1173951cbb5SPaul Cercueil #gpio-cells = <2>; 1183951cbb5SPaul Cercueil 1193951cbb5SPaul Cercueil interrupt-controller; 1203951cbb5SPaul Cercueil #interrupt-cells = <2>; 1213951cbb5SPaul Cercueil 1223951cbb5SPaul Cercueil interrupt-parent = <&intc>; 1233951cbb5SPaul Cercueil interrupts = <27>; 1243951cbb5SPaul Cercueil }; 1253951cbb5SPaul Cercueil 1263951cbb5SPaul Cercueil gpc: gpio@2 { 1273951cbb5SPaul Cercueil compatible = "ingenic,jz4740-gpio"; 1283951cbb5SPaul Cercueil reg = <2>; 1293951cbb5SPaul Cercueil 1303951cbb5SPaul Cercueil gpio-controller; 1313951cbb5SPaul Cercueil gpio-ranges = <&pinctrl 0 64 32>; 1323951cbb5SPaul Cercueil #gpio-cells = <2>; 1333951cbb5SPaul Cercueil 1343951cbb5SPaul Cercueil interrupt-controller; 1353951cbb5SPaul Cercueil #interrupt-cells = <2>; 1363951cbb5SPaul Cercueil 1373951cbb5SPaul Cercueil interrupt-parent = <&intc>; 1383951cbb5SPaul Cercueil interrupts = <26>; 1393951cbb5SPaul Cercueil }; 1403951cbb5SPaul Cercueil 1413951cbb5SPaul Cercueil gpd: gpio@3 { 1423951cbb5SPaul Cercueil compatible = "ingenic,jz4740-gpio"; 1433951cbb5SPaul Cercueil reg = <3>; 1443951cbb5SPaul Cercueil 1453951cbb5SPaul Cercueil gpio-controller; 1463951cbb5SPaul Cercueil gpio-ranges = <&pinctrl 0 96 32>; 1473951cbb5SPaul Cercueil #gpio-cells = <2>; 1483951cbb5SPaul Cercueil 1493951cbb5SPaul Cercueil interrupt-controller; 1503951cbb5SPaul Cercueil #interrupt-cells = <2>; 1513951cbb5SPaul Cercueil 1523951cbb5SPaul Cercueil interrupt-parent = <&intc>; 1533951cbb5SPaul Cercueil interrupts = <25>; 1543951cbb5SPaul Cercueil }; 1553951cbb5SPaul Cercueil }; 1563951cbb5SPaul Cercueil 1578838245dSPaul Burton uart0: serial@10030000 { 1588838245dSPaul Burton compatible = "ingenic,jz4740-uart"; 1598838245dSPaul Burton reg = <0x10030000 0x100>; 1608838245dSPaul Burton 1618838245dSPaul Burton interrupt-parent = <&intc>; 1628838245dSPaul Burton interrupts = <9>; 1638838245dSPaul Burton 1648838245dSPaul Burton clocks = <&ext>, <&cgu JZ4740_CLK_UART0>; 1658838245dSPaul Burton clock-names = "baud", "module"; 1668838245dSPaul Burton }; 1678838245dSPaul Burton 1688838245dSPaul Burton uart1: serial@10031000 { 1698838245dSPaul Burton compatible = "ingenic,jz4740-uart"; 1708838245dSPaul Burton reg = <0x10031000 0x100>; 1718838245dSPaul Burton 1728838245dSPaul Burton interrupt-parent = <&intc>; 1738838245dSPaul Burton interrupts = <8>; 1748838245dSPaul Burton 1758838245dSPaul Burton clocks = <&ext>, <&cgu JZ4740_CLK_UART1>; 1768838245dSPaul Burton clock-names = "baud", "module"; 1778838245dSPaul Burton }; 1789d1e7875SMaarten ter Huurne 179d426c517SPaul Cercueil dmac: dma-controller@13020000 { 180d426c517SPaul Cercueil compatible = "ingenic,jz4740-dma"; 181d426c517SPaul Cercueil reg = <0x13020000 0xbc 182d426c517SPaul Cercueil 0x13020300 0x14>; 183d426c517SPaul Cercueil #dma-cells = <2>; 184d426c517SPaul Cercueil 185d426c517SPaul Cercueil interrupt-parent = <&intc>; 18670999ec1SPaul Cercueil interrupts = <20>; 187d426c517SPaul Cercueil 188d426c517SPaul Cercueil clocks = <&cgu JZ4740_CLK_DMA>; 189d426c517SPaul Cercueil 190d426c517SPaul Cercueil /* Disable dmac until we have something that uses it */ 191d426c517SPaul Cercueil status = "disabled"; 192d426c517SPaul Cercueil }; 193d426c517SPaul Cercueil 1949d1e7875SMaarten ter Huurne uhc: uhc@13030000 { 1959d1e7875SMaarten ter Huurne compatible = "ingenic,jz4740-ohci", "generic-ohci"; 1969d1e7875SMaarten ter Huurne reg = <0x13030000 0x1000>; 1979d1e7875SMaarten ter Huurne 1989d1e7875SMaarten ter Huurne clocks = <&cgu JZ4740_CLK_UHC>; 1999d1e7875SMaarten ter Huurne assigned-clocks = <&cgu JZ4740_CLK_UHC>; 2009d1e7875SMaarten ter Huurne assigned-clock-rates = <48000000>; 2019d1e7875SMaarten ter Huurne 2029d1e7875SMaarten ter Huurne interrupt-parent = <&intc>; 2039d1e7875SMaarten ter Huurne interrupts = <3>; 2049d1e7875SMaarten ter Huurne 2059d1e7875SMaarten ter Huurne status = "disabled"; 2069d1e7875SMaarten ter Huurne }; 207ffb1843dSPaul Burton}; 208