luton.dtsi 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. // SPDX-License-Identifier: (GPL-2.0 OR MIT)
  2. /* Copyright (c) 2020 Microsemi Corporation */
  3. / {
  4. #address-cells = <1>;
  5. #size-cells = <1>;
  6. compatible = "mscc,luton";
  7. cpus {
  8. #address-cells = <1>;
  9. #size-cells = <0>;
  10. cpu@0 {
  11. compatible = "mips,mips24KEc";
  12. device_type = "cpu";
  13. clocks = <&cpu_clk>;
  14. reg = <0>;
  15. };
  16. };
  17. aliases {
  18. serial0 = &uart0;
  19. };
  20. cpuintc: interrupt-controller {
  21. #address-cells = <0>;
  22. #interrupt-cells = <1>;
  23. interrupt-controller;
  24. compatible = "mti,cpu-interrupt-controller";
  25. };
  26. cpu_clk: cpu-clock {
  27. compatible = "fixed-clock";
  28. #clock-cells = <0>;
  29. clock-frequency = <416666666>;
  30. };
  31. ahb_clk: ahb-clk {
  32. compatible = "fixed-factor-clock";
  33. #clock-cells = <0>;
  34. clocks = <&cpu_clk>;
  35. clock-div = <2>;
  36. clock-mult = <1>;
  37. };
  38. ahb@60000000 {
  39. compatible = "simple-bus";
  40. #address-cells = <1>;
  41. #size-cells = <1>;
  42. ranges = <0 0x60000000 0x20000000>;
  43. interrupt-parent = <&intc>;
  44. cpu_ctrl: syscon@10000000 {
  45. compatible = "mscc,ocelot-cpu-syscon", "syscon";
  46. reg = <0x10000000 0x2c>;
  47. };
  48. intc: interrupt-controller@10000084 {
  49. compatible = "mscc,luton-icpu-intr";
  50. reg = <0x10000084 0x70>;
  51. #interrupt-cells = <1>;
  52. interrupt-controller;
  53. interrupt-parent = <&cpuintc>;
  54. interrupts = <2>;
  55. };
  56. uart0: serial@10100000 {
  57. pinctrl-0 = <&uart_pins>;
  58. pinctrl-names = "default";
  59. compatible = "ns16550a";
  60. reg = <0x10100000 0x20>;
  61. interrupts = <6>;
  62. clocks = <&ahb_clk>;
  63. reg-io-width = <4>;
  64. reg-shift = <2>;
  65. status = "disabled";
  66. };
  67. i2c0: i2c@10100400 {
  68. compatible = "mscc,ocelot-i2c", "snps,designware-i2c";
  69. pinctrl-0 = <&i2c_pins>;
  70. pinctrl-names = "default";
  71. reg = <0x10100400 0x100>, <0x100002a4 0x8>;
  72. #address-cells = <1>;
  73. #size-cells = <0>;
  74. interrupts = <11>;
  75. clocks = <&ahb_clk>;
  76. status = "disabled";
  77. };
  78. gpio: pinctrl@70068 {
  79. compatible = "mscc,luton-pinctrl";
  80. reg = <0x70068 0x28>;
  81. gpio-controller;
  82. #gpio-cells = <2>;
  83. gpio-ranges = <&gpio 0 0 32>;
  84. interrupt-controller;
  85. interrupts = <13>;
  86. #interrupt-cells = <2>;
  87. i2c_pins: i2c-pins {
  88. pins = "GPIO_5", "GPIO_6";
  89. function = "twi";
  90. };
  91. uart_pins: uart-pins {
  92. pins = "GPIO_30", "GPIO_31";
  93. function = "uart";
  94. };
  95. };
  96. };
  97. };