keembay-soc.dtsi 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
  2. /*
  3. * Copyright (C) 2020, Intel Corporation.
  4. *
  5. * Device tree describing Keem Bay SoC.
  6. */
  7. #include <dt-bindings/interrupt-controller/arm-gic.h>
  8. / {
  9. interrupt-parent = <&gic>;
  10. #address-cells = <2>;
  11. #size-cells = <2>;
  12. cpus {
  13. #address-cells = <1>;
  14. #size-cells = <0>;
  15. cpu@0 {
  16. compatible = "arm,cortex-a53";
  17. device_type = "cpu";
  18. reg = <0x0>;
  19. enable-method = "psci";
  20. };
  21. cpu@1 {
  22. compatible = "arm,cortex-a53";
  23. device_type = "cpu";
  24. reg = <0x1>;
  25. enable-method = "psci";
  26. };
  27. cpu@2 {
  28. compatible = "arm,cortex-a53";
  29. device_type = "cpu";
  30. reg = <0x2>;
  31. enable-method = "psci";
  32. };
  33. cpu@3 {
  34. compatible = "arm,cortex-a53";
  35. device_type = "cpu";
  36. reg = <0x3>;
  37. enable-method = "psci";
  38. };
  39. };
  40. psci {
  41. compatible = "arm,psci-0.2";
  42. method = "smc";
  43. };
  44. gic: interrupt-controller@20500000 {
  45. compatible = "arm,gic-v3";
  46. interrupt-controller;
  47. #interrupt-cells = <3>;
  48. reg = <0x0 0x20500000 0x0 0x20000>, /* GICD */
  49. <0x0 0x20580000 0x0 0x80000>; /* GICR */
  50. /* VGIC maintenance interrupt */
  51. interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
  52. };
  53. timer {
  54. compatible = "arm,armv8-timer";
  55. /* Secure, non-secure, virtual, and hypervisor */
  56. interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>,
  57. <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>,
  58. <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>,
  59. <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>;
  60. };
  61. pmu {
  62. compatible = "arm,armv8-pmuv3";
  63. interrupts = <GIC_PPI 0x7 IRQ_TYPE_LEVEL_HIGH>;
  64. };
  65. soc {
  66. compatible = "simple-bus";
  67. #address-cells = <2>;
  68. #size-cells = <2>;
  69. ranges;
  70. uart0: serial@20150000 {
  71. compatible = "snps,dw-apb-uart";
  72. reg = <0x0 0x20150000 0x0 0x100>;
  73. interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
  74. clock-frequency = <24000000>;
  75. reg-shift = <2>;
  76. reg-io-width = <4>;
  77. status = "disabled";
  78. };
  79. uart1: serial@20160000 {
  80. compatible = "snps,dw-apb-uart";
  81. reg = <0x0 0x20160000 0x0 0x100>;
  82. interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
  83. clock-frequency = <24000000>;
  84. reg-shift = <2>;
  85. reg-io-width = <4>;
  86. status = "disabled";
  87. };
  88. uart2: serial@20170000 {
  89. compatible = "snps,dw-apb-uart";
  90. reg = <0x0 0x20170000 0x0 0x100>;
  91. interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
  92. clock-frequency = <24000000>;
  93. reg-shift = <2>;
  94. reg-io-width = <4>;
  95. status = "disabled";
  96. };
  97. uart3: serial@20180000 {
  98. compatible = "snps,dw-apb-uart";
  99. reg = <0x0 0x20180000 0x0 0x100>;
  100. interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
  101. clock-frequency = <24000000>;
  102. reg-shift = <2>;
  103. reg-io-width = <4>;
  104. status = "disabled";
  105. };
  106. };
  107. };