sram.txt 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. Generic on-chip SRAM
  2. Simple IO memory regions to be managed by the genalloc API.
  3. Required properties:
  4. - compatible : mmio-sram
  5. - reg : SRAM iomem address range
  6. Reserving sram areas:
  7. ---------------------
  8. Each child of the sram node specifies a region of reserved memory. Each
  9. child node should use a 'reg' property to specify a specific range of
  10. reserved memory.
  11. Following the generic-names recommended practice, node names should
  12. reflect the purpose of the node. Unit address (@<address>) should be
  13. appended to the name.
  14. Required properties in the sram node:
  15. - #address-cells, #size-cells : should use the same values as the root node
  16. - ranges : standard definition, should translate from local addresses
  17. within the sram to bus addresses
  18. Optional properties in the sram node:
  19. - no-memory-wc : the flag indicating, that SRAM memory region has not to
  20. be remapped as write combining. WC is used by default.
  21. Required properties in the area nodes:
  22. - reg : iomem address range, relative to the SRAM range
  23. Optional properties in the area nodes:
  24. - compatible : standard definition, should contain a vendor specific string
  25. in the form <vendor>,[<device>-]<usage>
  26. - pool : indicates that the particular reserved SRAM area is addressable
  27. and in use by another device or devices
  28. - export : indicates that the reserved SRAM area may be accessed outside
  29. of the kernel, e.g. by bootloader or userspace
  30. - label : the name for the reserved partition, if omitted, the label
  31. is taken from the node name excluding the unit address.
  32. Example:
  33. sram: sram@5c000000 {
  34. compatible = "mmio-sram";
  35. reg = <0x5c000000 0x40000>; /* 256 KiB SRAM at address 0x5c000000 */
  36. #address-cells = <1>;
  37. #size-cells = <1>;
  38. ranges = <0 0x5c000000 0x40000>;
  39. smp-sram@100 {
  40. compatible = "socvendor,smp-sram";
  41. reg = <0x100 0x50>;
  42. };
  43. device-sram@1000 {
  44. reg = <0x1000 0x1000>;
  45. pool;
  46. };
  47. exported@20000 {
  48. reg = <0x20000 0x20000>;
  49. export;
  50. };
  51. };