Enable buffered-mode for accel/gyro sensors
[AGL/meta-agl-refhw.git] / meta-agl-refhw-gen3 / recipes-kernel / linux / files / 0001-add-agl-refhw.patch
index 12df0d8..f9c9726 100644 (file)
@@ -4,20 +4,21 @@ Upstream-Status: pending
 
 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
+[asm330lhh interrupt fix]
+Signed-off-by: Hiroyuki Ishii <ishii.hiroyuki002@jp.panasonic.com>
 
 ---
- arch/arm64/boot/dts/renesas/agl-refhw-common.dtsi | 912 ++++++++++++++++++++++
- arch/arm64/boot/dts/renesas/r8a7795-agl-refhw.dts | 378 +++++++++
- drivers/media/i2c/adv748x/adv748x-core.c          |  48 +-
- drivers/media/i2c/adv748x/adv748x.h               |  12 +
- 4 files changed, 1346 insertions(+), 4 deletions(-)
+ arch/arm64/boot/dts/renesas/agl-refhw-common.dtsi | 919 ++++++++++++++++++++++
+ arch/arm64/boot/dts/renesas/r8a7795-agl-refhw.dts | 392 +++++++++
+ drivers/media/i2c/adv748x/adv748x-core.c          |  24 +-
+ 3 files changed, 1334 insertions(+), 1 deletion(-)
 
 diff --git a/arch/arm64/boot/dts/renesas/agl-refhw-common.dtsi b/arch/arm64/boot/dts/renesas/agl-refhw-common.dtsi
 new file mode 100644
-index 000000000000..a35cd24b27b9
+index 000000000000..7474ed578c21
 --- /dev/null
 +++ b/arch/arm64/boot/dts/renesas/agl-refhw-common.dtsi
-@@ -0,0 +1,918 @@
+@@ -0,0 +1,919 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
 + * Device Tree Source for common parts of AGL Reference Hardware board variants
@@ -150,7 +151,7 @@ index 000000000000..a35cd24b27b9
 +      sound_card: sound {
 +              compatible = "audio-graph-card";
 +
-+              label = "rcar-sound";
++              label = "ak4613";
 +
 +              dais = <&rsnd_port0>;
 +      };
@@ -448,15 +449,16 @@ index 000000000000..a35cd24b27b9
 +
 +      status = "okay";
 +
-+      clock-frequency = <100000>;
++      clock-frequency = <400000>;
 +
 +      asm330lhh@6a {
 +              compatible = "st,asm330lhh";
 +              reg = <0x6a>;
 +
 +              interrupt-names = "int1", "int2";
-+              interrupts = <&gpio6 23 IRQ_TYPE_EDGE_RISING>,
-+                           <&gpio2 6 IRQ_TYPE_EDGE_RISING>;
++              interrupts-extended = <&gpio6 23 IRQ_TYPE_EDGE_RISING>,
++                                    <&gpio2 6 IRQ_TYPE_EDGE_RISING>;
++              st,drdy-int-pin = <1>;
 +      };
 +};
 +
@@ -708,7 +710,7 @@ index 000000000000..a35cd24b27b9
 +      };
 +
 +      usb1_pins: usb1 {
-+              groups = "usb1";
++              groups = "usb1_ovc";
 +              function = "usb1";
 +      };
 +
@@ -938,10 +940,10 @@ index 000000000000..a35cd24b27b9
 +};
 diff --git a/arch/arm64/boot/dts/renesas/r8a7795-agl-refhw.dts b/arch/arm64/boot/dts/renesas/r8a7795-agl-refhw.dts
 new file mode 100644
-index 000000000000..0a63d2e7a64b
+index 000000000000..6c846a94afe2
 --- /dev/null
 +++ b/arch/arm64/boot/dts/renesas/r8a7795-agl-refhw.dts
-@@ -0,0 +1,378 @@
+@@ -0,0 +1,392 @@
 +/*
 + * Device Tree Source for the AGL reference hardware board with R-Car H3 ES3.0
 + *
@@ -1320,11 +1322,25 @@ index 000000000000..0a63d2e7a64b
 +      /delete-property/ wp-gpios;
 +      non-removable;
 +};
++
++&gpio6 {
++      /* Enable the CAN 1 & 2 transceivers */
++      can-1-transceiver-stb {
++              gpio-hog;
++              gpios = <21 GPIO_ACTIVE_HIGH>;
++              output-low;
++      };
++      can-2-transceiver-stb {
++              gpio-hog;
++              gpios = <12 GPIO_ACTIVE_HIGH>;
++              output-low;
++      };
++};
 diff --git a/drivers/media/i2c/adv748x/adv748x-core.c b/drivers/media/i2c/adv748x/adv748x-core.c
-index da8f0621a10b..c2b37f70f711 100644
+index 87092ce5ba73..357c334113aa 100644
 --- a/drivers/media/i2c/adv748x/adv748x-core.c
 +++ b/drivers/media/i2c/adv748x/adv748x-core.c
-@@ -97,6 +97,21 @@ static const struct adv748x_register_map
+@@ -97,6 +97,21 @@ static const struct adv748x_register_map adv748x_default_addresses[] = {
        [ADV748X_PAGE_TXA] = { "txa", 0x4a },
  };
  
@@ -1346,7 +1362,7 @@ index da8f0621a10b..c2b37f70f711 100644
  static int adv748x_read_check(struct adv748x_state *state,
                              int client_page, u8 reg)
  {
-@@ -183,10 +198,17 @@ static int adv748x_initialise_clients(st
+@@ -183,10 +198,17 @@ static int adv748x_initialise_clients(struct adv748x_state *state)
        int ret;
  
        for (i = ADV748X_PAGE_DPLL; i < ADV748X_PAGE_MAX; ++i) {
@@ -1365,5 +1381,3 @@ index da8f0621a10b..c2b37f70f711 100644
  
                if (IS_ERR(state->i2c_clients[i])) {
                        adv_err(state, "failed to create i2c client %u\n", i);
-
-