lkml.org 
[lkml]   [2016]   [Apr]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH 1/2] [v4] net: emac: emac gigabit ethernet controller driver
    From
    Date
    Rob Herring wrote:
    > You may only care about the size, but the binding has to handle the
    > more complex case. Here's an example
    >
    > <0x0 0x2 0x0 0x1 0x0>
    >
    > dma address 0 (cell 0) maps to cpu (parent) address 0x2_00000000 (cell
    > 1-2) and the range/size is 4G (cell 3-4).
    >
    > If you have the same base address, then use the same address. The core
    > will calculate the mask based on the size. IIRC, we also handle ~0 as
    > a special case to support 4G for #size-cell=1.

    So the first thing I noticed is that Gilad had this:

    reg = <0xfeb20000 0x10000>,
    <0xfeb36000 0x1000>,
    <0xfeb3c000 0x4000>,
    <0xfeb38000 0x400>;
    #address-cells = <0>;

    Shouldn't address-cells have been 1 instead?

    Ok, let me see if I get this right:

    32-bit:

    soc {
    #address-cells = <1>;
    #size-cells = <1>;

    emac0: qcom,emac@feb20000 {
    compatible = "qcom,fsm9900-emac";
    #address-cells = <1>;
    #size-cells = <1>;
    reg-names = "base", "csr", "ptp", "sgmii";
    reg = <0xfeb20000 0x10000>,
    <0xfeb36000 0x1000>,
    <0xfeb3c000 0x4000>,
    <0xfeb38000 0x400>;
    dma-ranges = <0 0 0xffffffff>;
    interrupt-parent = <&emac0>;

    64-bit

    soc {
    #address-cells = <2>;
    #size-cells = <2>;

    emac0: qcom,emac@feb20000 {
    compatible = "qcom,fsm9900-emac";
    #address-cells = <2>;
    #size-cells = <2>;
    reg-names = "base", "csr", "ptp", "sgmii";
    reg = <0 0xfeb20000 0 0x10000>,
    <0 0xfeb36000 0 0x1000>,
    <0 0xfeb3c000 0 0x4000>,
    <0 0xfeb38000 0 0x400>;
    dma-ranges = <0 0 0 0 0xffffffff 0xffffffff>;

    This seems inelegant, though.

    --
    Qualcomm Innovation Center, Inc.
    The Qualcomm Innovation Center, Inc. is a member of the Code Aurora
    Forum, a Linux Foundation collaborative project.

    \
     
     \ /
      Last update: 2016-04-15 19:41    [W:2.975 / U:0.988 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site