1 --- a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
2 +++ b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
11 - clock-frequency = <200000>;
13 - pinctrl-0 = <&i2c4_pins>;
14 - pinctrl-names = "default";
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.
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,
31 - .flags = CLK_SET_PARENT_GATE,
32 + .flags = CLK_SET_PARENT_GATE | CLK_IGNORE_UNUSED,
36 @@ -823,7 +823,7 @@ static struct clk_branch gsbi7_qup_clk =
37 .parent_names = (const char *[]){ "gsbi7_qup_src" },
39 .ops = &clk_branch_ops,
40 - .flags = CLK_SET_RATE_PARENT,
41 + .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED,
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,