qcom,emac-dwc-eqos.txt 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. Qualcomm Technologies Inc. EMAC Gigabit Ethernet controller
  2. This network controller consists of the MAC and
  3. RGMII IO Macro for interfacing with PHY.
  4. Required properties:
  5. emac_hw node:
  6. - compatible: Should be "qcom,emac-dwc-eqos"
  7. - reg: Offset and length of the register regions for the mac and io-macro
  8. - interrupts: Interrupt number used by this controller
  9. - io-macro-info: Internal io-macro-info
  10. - emac_emb_smmu: Internal emac smmu node
  11. Optional:
  12. - qcom,msm-bus,name: String representing the client-name
  13. - qcom,msm-bus,num-cases: Total number of usecases
  14. - qcom,msm-bus,num-paths: Total number of master-slave pairs
  15. - qcom,msm-bus,vectors-KBps: Arrays of unsigned integers representing:
  16. master-id, slave-id, arbitrated bandwidth
  17. in KBps, instantaneous bandwidth in KBps
  18. qcom,bus-vector-names: specifies string IDs for the corresponding bus vectors
  19. in the same order as qcom,msm-bus,vectors-KBps property.
  20. - qcom,arm-smmu: Boolean, if present enables EMAC SMMU support in sdxpoorwills.
  21. Internal io-macro-info:
  22. - io-macro-bypass-mode: <0 or 1> internal or external delay configuration
  23. - io-interface: <rgmii/mii/rmii> PHY interface used
  24. Internal emac_emb_smmu:
  25. - compatible: Should be "qcom,emac-smmu-embedded".
  26. - qcom,smmu-s1-bypass: Boolean, if present S1 bypass is enabled.
  27. - iommus: Includes the <&smmu_phandle stream_id size> pair for each context
  28. bank.
  29. - qcom,iova-mapping: <starting_address size> of the smmu context bank.
  30. Example:
  31. soc {
  32. emac_hw: qcom,emac@00020000 {
  33. compatible = "qcom,emac-dwc-eqos";
  34. qcom,arm-smmu;
  35. reg = <0x20000 0x10000>,
  36. <0x36000 0x100>;
  37. reg-names = "emac-base", "rgmii-base";
  38. interrupts = <0 62 4>, <0 60 4>,
  39. <0 49 4>, <0 50 4>,
  40. <0 51 4>, <0 52 4>,
  41. <0 53 4>, <0 54 4>,
  42. <0 55 4>, <0 56 4>,
  43. <0 57 4>;
  44. interrupt-names = "sbd-intr", "lpi-intr",
  45. "tx-ch0-intr", "tx-ch1-intr",
  46. "tx-ch2-intr", "tx-ch3-intr",
  47. "tx-ch4-intr", "rx-ch0-intr",
  48. "rx-ch1-intr", "rx-ch2-intr",
  49. "rx-ch3-intr";
  50. qcom,msm-bus,name = "emac";
  51. qcom,msm-bus,num-cases = <3>;
  52. qcom,msm-bus,num-paths = <2>;
  53. qcom,msm-bus,vectors-KBps =
  54. <98 512 1250 0>, <1 781 0 40000>, /* 10Mbps vote */
  55. <98 512 12500 0>, <1 781 0 40000>, /* 100Mbps vote */
  56. <98 512 125000 0>, <1 781 0 40000>; /* 1000Mbps vote */
  57. qcom,bus-vector-names = "10", "100", "1000";
  58. io-macro-info {
  59. io-macro-bypass-mode = <0>;
  60. io-interface = "rgmii";
  61. };
  62. emac_emb_smmu: emac_emb_smmu {
  63. compatible = "qcom,emac-smmu-embedded";
  64. qcom,smmu-s1-bypass;
  65. iommus = <&apps_smmu 0x220 0xf>;
  66. qcom,iova-mapping = <0x80000000 0x40000000>;
  67. };
  68. };
  69. }