--- /dev/null
+From 650480191492845c8eb7e0c2e5b1e37cabc59eff Mon Sep 17 00:00:00 2001
+From: Pawel Dembicki <paweldembicki@gmail.com>
+Date: Fri, 13 Nov 2020 07:17:39 +0100
+Subject: [PATCH 1/2] arm64: dts: fsl-ls1012a-rdb: add i2c devices
+
+LS1012A-RDB equipped in some i2c devices:
+ - 3x GPIO Expander: PCAL9555A (NXP)
+ - Gyro: FXAS21002 (NXP)
+ - Accelerometer: FXOS8700 (NXP)
+ - Current & Power Monitor: INA220 (TI)
+
+This patch add listed devices to dts.
+
+Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
+---
+ .../boot/dts/freescale/fsl-ls1012a-rdb.dts | 66 +++++++++++++++++++
+ 1 file changed, 66 insertions(+)
+
+--- a/arch/arm64/boot/dts/freescale/fsl-ls1012a-rdb.dts
++++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a-rdb.dts
+@@ -7,6 +7,7 @@
+ */
+ /dts-v1/;
+
++#include <dt-bindings/interrupt-controller/irq.h>
+ #include "fsl-ls1012a.dtsi"
+
+ / {
+@@ -16,6 +17,25 @@
+ aliases {
+ ethernet0 = &pfe_mac0;
+ ethernet1 = &pfe_mac1;
++ serial0 = &duart0;
++ };
++
++ dummy3v3: dummy_reg {
++ compatible = "regulator-fixed";
++ regulator-name = "dummy_regulator_3v3";
++
++ regulator-min-microvolt = <3300000>;
++ regulator-max-microvolt = <3300000>;
++ regulator-always-on;
++ };
++
++ dummy1v8: dummy_reg {
++ compatible = "regulator-fixed";
++ regulator-name = "dummy_regulator_1v8";
++
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <1800000>;
++ regulator-always-on;
+ };
+ };
+
+@@ -42,6 +62,52 @@
+
+ &i2c0 {
+ status = "okay";
++
++ accelerometer@1e {
++ compatible = "nxp,fxos8700";
++ reg = <0x1e>;
++ interrupt-parent = <&gpio26>;
++ interrupts = <13 IRQ_TYPE_EDGE_RISING>;
++ interrupt-names = "INT1";
++ };
++
++ gyroscope@20 {
++ compatible = "nxp,fxas21002c";
++ reg = <0x20>;
++ vdd-supply = <&dummy3v3>;
++ vddio-supply = <&dummy1v8>;
++ };
++
++ gpio@24 {
++ compatible = "nxp,pcal9555a";
++ reg = <0x24>;
++ gpio-controller;
++ #gpio-cells = <2>;
++ };
++
++ gpio25: gpio@25 {
++ compatible = "nxp,pcal9555a";
++ reg = <0x25>;
++ gpio-controller;
++ #gpio-cells = <2>;
++ };
++
++ gpio26: gpio@26 {
++ compatible = "nxp,pcal9555a";
++ reg = <0x26>;
++ interrupt-parent = <&gpio0>;
++ interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
++ interrupt-controller;
++ #interrupt-cells = <2>;
++ gpio-controller;
++ #gpio-cells = <2>;
++ };
++
++ current-sensor@40 {
++ compatible = "ti,ina220";
++ reg = <0x40>;
++ shunt-resistor = <2000>;
++ };
+ };
+
+ &sata {
--- /dev/null
+From 12de4b5e7cbcd193d5abb753ca511fe8f2236846 Mon Sep 17 00:00:00 2001
+From: Pawel Dembicki <paweldembicki@gmail.com>
+Date: Fri, 13 Nov 2020 07:30:03 +0100
+Subject: [PATCH 1/1] gpio-pca953x: hack: Allow to use falling trigger
+
+Gpio-mpc8xxx driver of Layerscape gpio support only edge interrupts.
+Gpio-pca953x allow only low state trigger. This hack fix the problem.
+
+Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
+---
+
+--- a/drivers/gpio/gpio-pca953x.c
++++ b/drivers/gpio/gpio-pca953x.c
+@@ -879,10 +879,12 @@ static int pca953x_irq_setup(struct pca9
+ for (i = 0; i < NBANK(chip); i++)
+ chip->irq_stat[i] &= reg_direction[i];
+ mutex_init(&chip->irq_lock);
+-
++ /* gpio-mpc8xxx driver of Layerscape gpio support only edge interrupts.
++ * This hack fix the problem.
++ */
+ ret = devm_request_threaded_irq(&client->dev, client->irq,
+ NULL, pca953x_irq_handler,
+- IRQF_TRIGGER_LOW | IRQF_ONESHOT |
++ IRQF_TRIGGER_FALLING | IRQF_ONESHOT |
+ IRQF_SHARED,
+ dev_name(&client->dev), chip);
+ if (ret) {