123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- Qualcomm Technologies Inc. EMAC Gigabit Ethernet controller
- This network controller consists of the MAC and
- RGMII IO Macro for interfacing with PHY.
- Required properties:
- emac_hw node:
- - compatible: Should be "qcom,emac-dwc-eqos"
- - reg: Offset and length of the register regions for the mac and io-macro
- - interrupts: Interrupt number used by this controller
- - io-macro-info: Internal io-macro-info
- - emac_emb_smmu: Internal emac smmu node
- Optional:
- - qcom,msm-bus,name: String representing the client-name
- - qcom,msm-bus,num-cases: Total number of usecases
- - qcom,msm-bus,num-paths: Total number of master-slave pairs
- - qcom,msm-bus,vectors-KBps: Arrays of unsigned integers representing:
- master-id, slave-id, arbitrated bandwidth
- in KBps, instantaneous bandwidth in KBps
- qcom,bus-vector-names: specifies string IDs for the corresponding bus vectors
- in the same order as qcom,msm-bus,vectors-KBps property.
- - qcom,arm-smmu: Boolean, if present enables EMAC SMMU support in sdxpoorwills.
- Internal io-macro-info:
- - io-macro-bypass-mode: <0 or 1> internal or external delay configuration
- - io-interface: <rgmii/mii/rmii> PHY interface used
- Internal emac_emb_smmu:
- - compatible: Should be "qcom,emac-smmu-embedded".
- - qcom,smmu-s1-bypass: Boolean, if present S1 bypass is enabled.
- - iommus: Includes the <&smmu_phandle stream_id size> pair for each context
- bank.
- - qcom,iova-mapping: <starting_address size> of the smmu context bank.
- Example:
- soc {
- emac_hw: qcom,emac@00020000 {
- compatible = "qcom,emac-dwc-eqos";
- qcom,arm-smmu;
- reg = <0x20000 0x10000>,
- <0x36000 0x100>;
- reg-names = "emac-base", "rgmii-base";
- interrupts = <0 62 4>, <0 60 4>,
- <0 49 4>, <0 50 4>,
- <0 51 4>, <0 52 4>,
- <0 53 4>, <0 54 4>,
- <0 55 4>, <0 56 4>,
- <0 57 4>;
- interrupt-names = "sbd-intr", "lpi-intr",
- "tx-ch0-intr", "tx-ch1-intr",
- "tx-ch2-intr", "tx-ch3-intr",
- "tx-ch4-intr", "rx-ch0-intr",
- "rx-ch1-intr", "rx-ch2-intr",
- "rx-ch3-intr";
- qcom,msm-bus,name = "emac";
- qcom,msm-bus,num-cases = <3>;
- qcom,msm-bus,num-paths = <2>;
- qcom,msm-bus,vectors-KBps =
- <98 512 1250 0>, <1 781 0 40000>, /* 10Mbps vote */
- <98 512 12500 0>, <1 781 0 40000>, /* 100Mbps vote */
- <98 512 125000 0>, <1 781 0 40000>; /* 1000Mbps vote */
- qcom,bus-vector-names = "10", "100", "1000";
- io-macro-info {
- io-macro-bypass-mode = <0>;
- io-interface = "rgmii";
- };
- emac_emb_smmu: emac_emb_smmu {
- compatible = "qcom,emac-smmu-embedded";
- qcom,smmu-s1-bypass;
- iommus = <&apps_smmu 0x220 0xf>;
- qcom,iova-mapping = <0x80000000 0x40000000>;
- };
- };
- }
|