Commit dc64f487 authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'amlogic-fixes' of...

Merge tag 'amlogic-fixes' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into arm/fixes

arm-soc: Amlogic fixes for v5.5-rc

* tag 'amlogic-fixes' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  arm64: dts: meson-sm1-sei610: add gpio bluetooth interrupt
  dt-bindings: reset: meson8b: fix duplicate reset IDs
  soc: amlogic: meson-ee-pwrc: propagate errors from pm_genpd_init()
  soc: amlogic: meson-ee-pwrc: propagate PD provider registration errors
  ARM: dts: meson8: fix the size of the PMU registers
  arm64: dts: meson-sm1-sei610: gpio-keys: switch to IRQs

Link: https://lore.kernel.org/r/7hmuaweavi.fsf@baylibre.com


Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 9f1c2cb3 30388cc0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -253,7 +253,7 @@
&aobus {
	pmu: pmu@e0 {
		compatible = "amlogic,meson8-pmu", "syscon";
		reg = <0xe0 0x8>;
		reg = <0xe0 0x18>;
	};

	pinctrl_aobus: pinctrl@84 {
+26 −2
Original line number Diff line number Diff line
@@ -46,25 +46,47 @@
	};

	gpio-keys {
		compatible = "gpio-keys-polled";
		poll-interval = <100>;
		compatible = "gpio-keys";

		key1 {
			label = "A";
			linux,code = <BTN_0>;
			gpios = <&gpio GPIOH_6 GPIO_ACTIVE_LOW>;
			interrupt-parent = <&gpio_intc>;
			interrupts = <34 IRQ_TYPE_EDGE_BOTH>;
		};

		key2 {
			label = "B";
			linux,code = <BTN_1>;
			gpios = <&gpio GPIOH_7 GPIO_ACTIVE_LOW>;
			interrupt-parent = <&gpio_intc>;
			interrupts = <35 IRQ_TYPE_EDGE_BOTH>;
		};

		key3 {
			label = "C";
			linux,code = <BTN_2>;
			gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>;
			interrupt-parent = <&gpio_intc>;
			interrupts = <2 IRQ_TYPE_EDGE_BOTH>;
		};

		mic_mute {
			label = "MicMute";
			linux,code = <SW_MUTE_DEVICE>;
			linux,input-type = <EV_SW>;
			gpios = <&gpio_ao GPIOE_2 GPIO_ACTIVE_LOW>;
			interrupt-parent = <&gpio_intc>;
			interrupts = <99 IRQ_TYPE_EDGE_BOTH>;
		};

		power_key {
			label = "PowerKey";
			linux,code = <KEY_POWER>;
			gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_LOW>;
			interrupt-parent = <&gpio_intc>;
			interrupts = <3 IRQ_TYPE_EDGE_BOTH>;
		};
	};

@@ -569,6 +591,8 @@

	bluetooth {
		compatible = "brcm,bcm43438-bt";
		interrupt-parent = <&gpio_intc>;
		interrupts = <95 IRQ_TYPE_LEVEL_HIGH>;
		shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
		max-speed = <2000000>;
		clocks = <&wifi32k>;
+15 −9
Original line number Diff line number Diff line
@@ -323,6 +323,8 @@ static int meson_ee_pwrc_init_domain(struct platform_device *pdev,
				     struct meson_ee_pwrc *pwrc,
				     struct meson_ee_pwrc_domain *dom)
{
	int ret;

	dom->pwrc = pwrc;
	dom->num_rstc = dom->desc.reset_names_count;
	dom->num_clks = dom->desc.clk_names_count;
@@ -368,15 +370,21 @@ static int meson_ee_pwrc_init_domain(struct platform_device *pdev,
         * prepare/enable counters won't be in sync.
         */
	if (dom->num_clks && dom->desc.get_power && !dom->desc.get_power(dom)) {
		int ret = clk_bulk_prepare_enable(dom->num_clks, dom->clks);
		ret = clk_bulk_prepare_enable(dom->num_clks, dom->clks);
		if (ret)
			return ret;

		pm_genpd_init(&dom->base, &pm_domain_always_on_gov, false);
	} else
		pm_genpd_init(&dom->base, NULL,
		ret = pm_genpd_init(&dom->base, &pm_domain_always_on_gov,
				    false);
		if (ret)
			return ret;
	} else {
		ret = pm_genpd_init(&dom->base, NULL,
				    (dom->desc.get_power ?
				     dom->desc.get_power(dom) : true));
		if (ret)
			return ret;
	}

	return 0;
}
@@ -441,9 +449,7 @@ static int meson_ee_pwrc_probe(struct platform_device *pdev)
		pwrc->xlate.domains[i] = &dom->base;
	}

	of_genpd_add_provider_onecell(pdev->dev.of_node, &pwrc->xlate);

	return 0;
	return of_genpd_add_provider_onecell(pdev->dev.of_node, &pwrc->xlate);
}

static void meson_ee_pwrc_shutdown(struct platform_device *pdev)
+3 −3
Original line number Diff line number Diff line
@@ -46,9 +46,9 @@
#define RESET_VD_RMEM			64
#define RESET_AUDIN			65
#define RESET_DBLK			66
#define RESET_PIC_DC			66
#define RESET_PSC			66
#define RESET_NAND			66
#define RESET_PIC_DC			67
#define RESET_PSC			68
#define RESET_NAND			69
#define RESET_GE2D			70
#define RESET_PARSER_REG		71
#define RESET_PARSER_FETCH		72