023-ARM-dts-ipq806x-Disable-i2c-device-on-gsbi4.patch 1.3 KB

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