CHROMIUM: dts: ipq806x: Disable i2c device on gsbi4

Disable the i2c device on gsbi4 and mark gsbi4_h and gsbi4_qup clks as
unused. If they are enabled, clock framework will turn them off at end
of probe. On ipq806x by design gsbi4_qup, gsbi4_h clks and i2c on gsbi4
are meant for RPM usage. So turning them off in kernel is incorrect.

BUG=chrome-os-partner:38770
TEST=build/boot on whirlwind succeded. Ran stressapptest using cmd
"stressapptest -M 562 -s 36000 -m 2 -W -f sat.diskthread.a -f
sat.diskthread.b -l xxx.log" and verified no errors are reported.

Change-Id: If039984354793d22a02f3350e85e86c173f086e5
Signed-off-by: Viswanath Kraleti <vkraleti@codeaurora.org>
Signed-off-by: Sourabh Banerjee <sbanerje@codeaurora.org>
Reviewed-on: https://chromium-review.googlesource.com/269931
Reviewed-by: Toshi Kikuchi <toshik@chromium.org>
Commit-Queue: Zhifeng Cai <caiz@chromium.org>
This commit is contained in:
Viswanath Kraleti
2015-05-07 14:05:53 +05:30
committed by ChromeOS Commit Bot
parent 2183cdfb51
commit ec1fbb849e
6 changed files with 33 additions and 48 deletions

View File

@@ -117,15 +117,12 @@
serial@16340000 {
status = "ok";
};
i2c4: i2c@16380000 {
status = "ok";
clock-frequency = <200000>;
pinctrl-0 = <&i2c4_pins>;
pinctrl-names = "default";
};
/*
* The i2c device on gsbi4 should not be enabled.
* On ipq806x designs gsbi4 i2c is meant for exclusive
* RPM usage. Turning this on in kernel manifests as
* i2c failure for the RPM.
*/
};
gsbi5: gsbi@1a200000 {

View File

@@ -285,15 +285,12 @@
serial@16340000 {
status = "ok";
};
i2c4: i2c@16380000 {
status = "ok";
clock-frequency = <200000>;
pinctrl-0 = <&i2c4_pins>;
pinctrl-names = "default";
};
/*
* The i2c device on gsbi4 should not be enabled.
* On ipq806x designs gsbi4 i2c is meant for exclusive
* RPM usage. Turning this on in kernel manifests as
* i2c failure for the RPM.
*/
};
gsbi5: gsbi@1a200000 {

View File

@@ -279,15 +279,12 @@
serial@16340000 {
status = "ok";
};
i2c4: i2c@16380000 {
status = "ok";
clock-frequency = <200000>;
pinctrl-0 = <&i2c4_pins>;
pinctrl-names = "default";
};
/*
* The i2c device on gsbi4 should not be enabled.
* On ipq806x designs gsbi4 i2c is meant for exclusive
* RPM usage. Turning this on in kernel manifests as
* i2c failure for the RPM.
*/
};
gsbi5: gsbi@1a200000 {

View File

@@ -279,15 +279,12 @@
serial@16340000 {
status = "ok";
};
i2c4: i2c@16380000 {
status = "ok";
clock-frequency = <200000>;
pinctrl-0 = <&i2c4_pins>;
pinctrl-names = "default";
};
/*
* The i2c device on gsbi4 should not be enabled.
* On ipq806x designs gsbi4 i2c is meant for exclusive
* RPM usage. Turning this on in kernel manifests as
* i2c failure for the RPM.
*/
};
gsbi5: gsbi@1a200000 {

View File

@@ -285,15 +285,12 @@
serial@16340000 {
status = "ok";
};
i2c4: i2c@16380000 {
status = "ok";
clock-frequency = <200000>;
pinctrl-0 = <&i2c4_pins>;
pinctrl-names = "default";
};
/*
* The i2c device on gsbi4 should not be enabled.
* On ipq806x designs gsbi4 i2c is meant for exclusive
* RPM usage. Turning this on in kernel manifests as
* i2c failure for the RPM.
*/
};
gsbi5: gsbi@1a200000 {

View File

@@ -789,7 +789,7 @@ static struct clk_rcg gsbi4_qup_src = {
.parent_names = gcc_pxo_pll8,
.num_parents = 2,
.ops = &clk_rcg_ops,
.flags = CLK_SET_PARENT_GATE,
.flags = CLK_SET_PARENT_GATE | CLK_IGNORE_UNUSED,
},
},
};
@@ -805,7 +805,7 @@ static struct clk_branch gsbi4_qup_clk = {
.parent_names = (const char *[]){ "gsbi4_qup_src" },
.num_parents = 1,
.ops = &clk_branch_ops,
.flags = CLK_SET_RATE_PARENT,
.flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED,
},
},
};
@@ -1000,7 +1000,7 @@ static struct clk_branch gsbi4_h_clk = {
.hw.init = &(struct clk_init_data){
.name = "gsbi4_h_clk",
.ops = &clk_branch_ops,
.flags = CLK_IS_ROOT,
.flags = CLK_IS_ROOT | CLK_IGNORE_UNUSED,
},
},
};