6b296377b6a11748b9689431b9f61c89b924c1cb
[openwrt/openwrt.git] / target / linux / ipq806x / patches-4.1 / 023-ARM-dts-ipq806x-Disable-i2c-device-on-gsbi4.patch
1 --- a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
2 +++ b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
3 @@ -46,15 +46,12 @@
4 serial@16340000 {
5 status = "ok";
6 };
7 -
8 - i2c4: i2c@16380000 {
9 - status = "ok";
10 -
11 - clock-frequency = <200000>;
12 -
13 - pinctrl-0 = <&i2c4_pins>;
14 - pinctrl-names = "default";
15 - };
16 + /*
17 + * The i2c device on gsbi4 should not be enabled.
18 + * On ipq806x designs gsbi4 i2c is meant for exclusive
19 + * RPM usage. Turning this on in kernel manifests as
20 + * i2c failure for the RPM.
21 + */
22 };
23
24 gsbi5: gsbi@1a200000 {
25 --- a/drivers/clk/qcom/gcc-ipq806x.c
26 +++ b/drivers/clk/qcom/gcc-ipq806x.c
27 @@ -807,7 +807,7 @@ static struct clk_rcg gsbi7_qup_src = {
28 .parent_names = gcc_pxo_pll8,
29 .num_parents = 2,
30 .ops = &clk_rcg_ops,
31 - .flags = CLK_SET_PARENT_GATE,
32 + .flags = CLK_SET_PARENT_GATE | CLK_IGNORE_UNUSED,
33 },
34 },
35 };
36 @@ -823,7 +823,7 @@ static struct clk_branch gsbi7_qup_clk =
37 .parent_names = (const char *[]){ "gsbi7_qup_src" },
38 .num_parents = 1,
39 .ops = &clk_branch_ops,
40 - .flags = CLK_SET_RATE_PARENT,
41 + .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED,
42 },
43 },
44 };
45 @@ -871,7 +871,7 @@ static struct clk_branch gsbi4_h_clk = {
46 .hw.init = &(struct clk_init_data){
47 .name = "gsbi4_h_clk",
48 .ops = &clk_branch_ops,
49 - .flags = CLK_IS_ROOT,
50 + .flags = CLK_IS_ROOT | CLK_IGNORE_UNUSED,
51 },
52 },
53 };