Commit 628a96e7 authored by David S. Miller's avatar David S. Miller

Merge branch 'hisi-fixes'

Kejian Yan says:

====================
dts: hisi: fixes no syscon fault when init mdio

This patchset fixes the bug that eth can't initial successful on hip05-D02
because the dts files doesn't match the source code.
====================
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 9207f9d4 28052e75
...@@ -187,6 +187,22 @@ Example: ...@@ -187,6 +187,22 @@ Example:
reg = <0xb0000000 0x10000>; reg = <0xb0000000 0x10000>;
}; };
Hisilicon HiP05 PERISUB system controller
Required properties:
- compatible : "hisilicon,hip05-perisubc", "syscon";
- reg : Register address and size
The HiP05 PERISUB system controller is shared by peripheral controllers in
HiP05 Soc to implement some basic configurations. The peripheral
controllers include mdio, ddr, iic, uart, timer and so on.
Example:
/* for HiP05 perisub-ctrl-c system */
peri_c_subctrl: syscon@80000000 {
compatible = "hisilicon,hip05-perisubc", "syscon";
reg = <0x0 0x80000000 0x0 0x10000>;
};
----------------------------------------------------------------------- -----------------------------------------------------------------------
Hisilicon CPU controller Hisilicon CPU controller
......
...@@ -246,6 +246,11 @@ refclk200mhz: refclk200mhz { ...@@ -246,6 +246,11 @@ refclk200mhz: refclk200mhz {
clock-frequency = <200000000>; clock-frequency = <200000000>;
}; };
peri_c_subctrl: syscon@80000000 {
compatible = "hisilicon,hip05-perisubc", "syscon";
reg = < 0x0 0x80000000 0x0 0x10000>;
};
uart0: uart@80300000 { uart0: uart@80300000 {
compatible = "snps,dw-apb-uart"; compatible = "snps,dw-apb-uart";
reg = <0x0 0x80300000 0x0 0x10000>; reg = <0x0 0x80300000 0x0 0x10000>;
......
...@@ -10,8 +10,8 @@ soc0_mdio0: mdio@803c0000 { ...@@ -10,8 +10,8 @@ soc0_mdio0: mdio@803c0000 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
compatible = "hisilicon,hns-mdio"; compatible = "hisilicon,hns-mdio";
reg = <0x0 0x803c0000 0x0 0x10000 reg = <0x0 0x803c0000 0x0 0x10000>;
0x0 0x80000000 0x0 0x10000>; subctrl-vbase = <&peri_c_subctrl>;
soc0_phy0: ethernet-phy@0 { soc0_phy0: ethernet-phy@0 {
reg = <0x0>; reg = <0x0>;
......
...@@ -458,7 +458,7 @@ static int hns_mdio_probe(struct platform_device *pdev) ...@@ -458,7 +458,7 @@ static int hns_mdio_probe(struct platform_device *pdev)
} }
mdio_dev->subctrl_vbase = mdio_dev->subctrl_vbase =
syscon_node_to_regmap(of_parse_phandle(np, "subctrl_vbase", 0)); syscon_node_to_regmap(of_parse_phandle(np, "subctrl-vbase", 0));
if (IS_ERR(mdio_dev->subctrl_vbase)) { if (IS_ERR(mdio_dev->subctrl_vbase)) {
dev_warn(&pdev->dev, "no syscon hisilicon,peri-c-subctrl\n"); dev_warn(&pdev->dev, "no syscon hisilicon,peri-c-subctrl\n");
mdio_dev->subctrl_vbase = NULL; mdio_dev->subctrl_vbase = NULL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment