Subject: Re: [PATCH] [v7] net: emac: emac gigabit ethernet controller driver

From: Timur Tabi <[email-masked]>
Date: Wed, 17 Aug 2016 17:32:23 -0500

Timur Tabi wrote:
>>
>> Nothing prevents you from detailing in ACPI or DT sub-components of a
>> larger HW block, if there is such a desire, but just make it in a way
>> that it looks like what would be done for e.g: separate discrete parts,
>> only the parenting of nodes would change.
>
> So instead of just having a single property, instead create a child node
> just for the SGMII phy, with its own compatible string and various other
> properties (like interrupt and base register)?  That's not a bad idea.

I need help getting this to work.

	emac0: ethernet@38800000 {
		compatible = "qcom,qdf2432-emac";
		reg-names = "base", "csr";
                 reg = <0x0 0x38800000 0x0 0x10000 >,
                         <0x0 0x38816000 0x0 0x1000>,
                         <0x0 0x3881C000 0x0 0x4000>;
		interrupts = <0 0x100 0 0 0x104 0>;
		interrupt-names = "core0", "sgmii";

		sgmii-handle = <&emac_sgmii>;
		phy-handle = <&phy0>;

		#address-cells = <1>;
		#size-cells = <0>;
		phy0: ethernet-phy@4 {
			reg = <4>;
		};
	};

	emac_sgmii: ethernet-phy@410400 {
		compatible = "qcom,qdf2432-emac-phy";
		reg = <0x0 0x00410400 0x0 0x100>;
		interrupts = <0 0x104 0>;
	};

When my driver probes, the platform_device object points to the emac0 
node, as always.

How do I parse the emac_sgmii node?  How do I get functions like 
platform_get_resource() to work?  How do I create a new platform_device 
object that points to the emac_sgmii node?

-- 
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm
Technologies, Inc.  Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to [email-masked]
More majordomo info at  http://vger.kernel.org/majordomo-info.html