From: Andrey Panov <rockford@yandex.ru>
To: barebox@lists.infradead.org
Subject: [PATCH 10/18] NET: arc_emac: Update for newer DTS, support for Rockchip .compatible.
Date: Mon, 2 Mar 2015 23:21:54 +0300 [thread overview]
Message-ID: <1425327722-28232-11-git-send-email-rockford@yandex.ru> (raw)
In-Reply-To: <1425327722-28232-1-git-send-email-rockford@yandex.ru>
Signed-off-by: Andrey Panov <rockford@yandex.ru>
---
drivers/net/arc_emac.c | 24 +++++++++++++++++-------
1 file changed, 17 insertions(+), 7 deletions(-)
diff --git a/drivers/net/arc_emac.c b/drivers/net/arc_emac.c
index 4bf456e..5a056d3 100644
--- a/drivers/net/arc_emac.c
+++ b/drivers/net/arc_emac.c
@@ -23,6 +23,7 @@
#include <io.h>
#include <init.h>
#include <linux/err.h>
+#include <linux/clk.h>
/* ARC EMAC register set combines entries for MAC and MDIO */
enum {
@@ -99,6 +100,8 @@ struct arc_emac_priv {
u8 *rxbuf;
unsigned int txbd_curr;
unsigned int last_rx_bd;
+ struct clk *clk;
+ struct clk *refclk;
};
/**
@@ -384,20 +387,18 @@ static int arc_emac_mdio_write(struct mii_bus *bus, int phy_addr, int reg_num,
return arc_mdio_complete_wait(priv);
}
+#define DEFAULT_EMAC_CLOCK_FREQUENCY 50000000UL;
+
static int arc_emac_probe(struct device_d *dev)
{
struct eth_device *edev;
struct arc_emac_priv *priv;
- unsigned int clock_frequency;
+ unsigned long clock_frequency;
struct mii_bus *miibus;
u32 id;
- /* Get CPU clock frequency from device tree */
- if (of_property_read_u32(dev->device_node, "clock-frequency",
- &clock_frequency)) {
- dev_err(dev, "failed to retrieve <clock-frequency> from device tree\n");
- return -EINVAL;
- }
+ /* clock-frequency is dropped from DTS, so hardcode it here */
+ clock_frequency = DEFAULT_EMAC_CLOCK_FREQUENCY;
edev = xzalloc(sizeof(struct eth_device) +
sizeof(struct arc_emac_priv));
@@ -410,6 +411,13 @@ static int arc_emac_probe(struct device_d *dev)
return PTR_ERR(priv->regs);
priv->bus = miibus;
+ priv->clk = clk_get(dev, "hclk");
+ clk_enable(priv->clk);
+
+ priv->refclk = clk_get(dev, "macref");
+ clk_set_rate(priv->refclk,clock_frequency);
+ clk_enable(priv->refclk);
+
id = arc_reg_get(priv, R_ID);
/* Check for EMAC revision 5 or 7, magic number */
if (!(id == 0x0005fd02 || id == 0x0007fd02)) {
@@ -455,6 +463,8 @@ static __maybe_unused struct of_device_id arc_emac_dt_ids[] = {
{
.compatible = "snps,arc-emac",
}, {
+ .compatible = "rockchip,rk3188-emac",
+ }, {
/* sentinel */
}
};
--
2.1.4
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
next prev parent reply other threads:[~2015-03-02 20:22 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-02 20:21 [PATCH 00/18] Update support for RK3188, Radxa Rock board Andrey Panov
2015-03-02 20:21 ` [PATCH 01/18] lib: Add gcd() function Andrey Panov
2015-03-03 7:45 ` Sascha Hauer
2015-03-02 20:21 ` [PATCH 02/18] CLK: Add support for composite clock from Linux kernel Andrey Panov
2015-03-03 7:48 ` Sascha Hauer
2015-03-02 20:21 ` [PATCH 03/18] CLK: Add fractional divider clock support " Andrey Panov
2015-03-03 7:51 ` Sascha Hauer
2015-03-02 20:21 ` [PATCH 04/18] CLK: clk-mux: Respect CLK_MUX_HIWORD_MASK flag Andrey Panov
2015-03-02 20:21 ` [PATCH 05/18] CLK: clk-divider: Respect CLK_DIVIDER_HIWORD_MASK flag Andrey Panov
2015-03-02 20:21 ` [PATCH 06/18] CLK: clk-divider: Introduce clk_divider_alloc() and *_free() routines Andrey Panov
2015-03-02 20:21 ` [PATCH 07/18] CLK: clk-divider: Respect CLK_DIVIDER_POWER_OF_TWO flag Andrey Panov
2015-03-02 20:21 ` [PATCH 08/18] CLK: Check and do not allow to register clock twice Andrey Panov
2015-03-03 9:03 ` Sascha Hauer
2015-03-02 20:21 ` [PATCH 09/18] CLK: Add helper defines to barebox-wrapper.h for easier porting of drivers from Linux kernel Andrey Panov
2015-03-02 20:21 ` Andrey Panov [this message]
2015-03-02 20:21 ` [PATCH 11/18] MMC: dw_mmc: Add support for PIO mode and Rockchip variant of this hardware Andrey Panov
2015-03-02 20:21 ` [PATCH 12/18] ARM: Rockchip: Remove unused files from mach-rockchip Andrey Panov
2015-03-02 20:21 ` [PATCH 13/18] ARM: Rockchip: Update Kconfig Andrey Panov
2015-03-02 20:21 ` [PATCH 14/18] ARM: Rockchip: Update clk driver from Linux kernel for use with newer DTS Andrey Panov
2015-03-02 20:21 ` [PATCH 15/18] ARM: Rockchip: Use newer DTS for Radxa Rock board Andrey Panov
2015-03-02 20:22 ` [PATCH 16/18] ARM: Rockchip: Update " Andrey Panov
2015-03-02 20:22 ` [PATCH 17/18] ARM: Rockchip: Add Radxa Rock defconfig Andrey Panov
2015-03-02 20:22 ` [PATCH 18/18] ARM: Rockchip: Add documentation Andrey Panov
2015-03-02 20:54 ` [PATCH 00/18] Update support for RK3188, Radxa Rock board Antony Pavlov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1425327722-28232-11-git-send-email-rockford@yandex.ru \
--to=rockford@yandex.ru \
--cc=barebox@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox