cpsw: add a DT field for the cpts offset
authorRichard Cochran <richardcochran@gmail.com>
Mon, 29 Oct 2012 08:45:17 +0000 (08:45 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 1 Nov 2012 16:21:32 +0000 (12:21 -0400)
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Documentation/devicetree/bindings/net/cpsw.txt
drivers/net/ethernet/ti/cpsw.c
include/linux/platform_data/cpsw.h

index 3af47b78caeaa7209b47785b749413de40e11ab2..dba014fc5e7b99d56326e886b7265eb696559b90 100644 (file)
@@ -16,6 +16,7 @@ Required properties:
 - ale_entries          : Specifies No of entries ALE can hold
 - host_port_reg_ofs    : Specifies host port register offset
 - hw_stats_reg_ofs     : Specifies hardware statistics register offset
+- cpts_reg_ofs         : Specifies the offset of the CPTS registers
 - bd_ram_ofs           : Specifies internal desciptor RAM offset
 - bd_ram_size          : Specifies internal descriptor RAM size
 - rx_descs             : Specifies number of Rx descriptors
@@ -52,6 +53,7 @@ Examples:
                ale_entries = <1024>;
                host_port_reg_ofs = <0x108>;
                hw_stats_reg_ofs = <0x900>;
+               cpts_reg_ofs = <0xc00>;
                bd_ram_ofs = <0x2000>;
                bd_ram_size = <0x2000>;
                no_bd_ram = <0>;
@@ -86,6 +88,7 @@ Examples:
                ale_entries = <1024>;
                host_port_reg_ofs = <0x108>;
                hw_stats_reg_ofs = <0x900>;
+               cpts_reg_ofs = <0xc00>;
                bd_ram_ofs = <0x2000>;
                bd_ram_size = <0x2000>;
                no_bd_ram = <0>;
index 588f5c3404901fa345506bd69c16919c47518a59..f1af5e08cabb7aef02c0e71817638bbad60608a3 100644 (file)
@@ -912,6 +912,13 @@ static int cpsw_probe_dt(struct cpsw_platform_data *data,
        }
        data->hw_stats_reg_ofs = prop;
 
+       if (of_property_read_u32(node, "cpts_reg_ofs", &prop)) {
+               pr_err("Missing cpts_reg_ofs property in the DT.\n");
+               ret = -EINVAL;
+               goto error_ret;
+       }
+       data->cpts_reg_ofs = prop;
+
        if (of_property_read_u32(node, "bd_ram_ofs", &prop)) {
                pr_err("Missing bd_ram_ofs property in the DT.\n");
                ret = -EINVAL;
index c4e23d0294987a64a3fbc6202df4bb3dbe6f8ff5..a052b1dca9573fd00af21a2555898e3abdce239f 100644 (file)
@@ -41,6 +41,7 @@ struct cpsw_platform_data {
        u32     host_port_num; /* The port number for the host port */
 
        u32     hw_stats_reg_ofs;  /* cpsw hardware statistics counters */
+       u32     cpts_reg_ofs;      /* cpts registers */
 
        u32     bd_ram_ofs;   /* embedded buffer descriptor RAM offset*/
        u32     bd_ram_size;  /*buffer descriptor ram size */