]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
Merge tag 'u-boot-amlogic-20210112' of https://gitlab.denx.de/u-boot/custodians/u...
authorTom Rini <trini@konsulko.com>
Tue, 12 Jan 2021 20:46:52 +0000 (15:46 -0500)
committerTom Rini <trini@konsulko.com>
Wed, 13 Jan 2021 12:32:02 +0000 (07:32 -0500)
- sync amlogic GX & AXG DT to Linux 5.10
- Add new MESON_EE driver support for GXBB & AXG
- Add support for Libretech-CC v2, Wetek Core2, Beelink GT-King/Pro boards
- add driver for TDO tl070wsh30 panel driver
- meson: isolate loading of socinfo
- Add soc_rev to environment
- Enable G12A support for saradc
- Add correct mmcdev on VIM3(L) & Odroid-N2(C4)
- Read MAC from fuses for VIM3 & VIM3L boards

1  2 
arch/arm/dts/Makefile
drivers/adc/meson-saradc.c
drivers/clk/meson/g12a-ao.c
drivers/power/domain/meson-ee-pwrc.c
drivers/video/Kconfig
drivers/video/Makefile

Simple merge
Simple merge
index 0000000000000000000000000000000000000000,7a0abea77c4859f729eaf6d93e20833fb6428457..0148529e04f0edf691b8e27001cb49637d0725b5
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,83 +1,83 @@@
 -      priv->map = syscon_node_to_regmap(dev_get_parent(dev)->node);
+ // SPDX-License-Identifier: GPL-2.0+
+ #include <common.h>
+ #include <log.h>
+ #include <asm/io.h>
+ #include <clk-uclass.h>
+ #include <dm.h>
+ #include <regmap.h>
+ #include <syscon.h>
+ #include <dt-bindings/clock/g12a-aoclkc.h>
+ #include "clk_meson.h"
+ struct meson_clk {
+       struct regmap *map;
+ };
+ #define AO_CLK_GATE0          0x4c
+ #define AO_SAR_CLK            0x90
+ static struct meson_gate gates[] = {
+       MESON_GATE(CLKID_AO_SAR_ADC, AO_CLK_GATE0, 8),
+       MESON_GATE(CLKID_AO_SAR_ADC_CLK, AO_SAR_CLK, 8),
+ };
+ static int meson_set_gate(struct clk *clk, bool on)
+ {
+       struct meson_clk *priv = dev_get_priv(clk->dev);
+       struct meson_gate *gate;
+       if (clk->id >= ARRAY_SIZE(gates))
+               return -ENOENT;
+       gate = &gates[clk->id];
+       if (gate->reg == 0)
+               return 0;
+       regmap_update_bits(priv->map, gate->reg,
+                          BIT(gate->bit), on ? BIT(gate->bit) : 0);
+       return 0;
+ }
+ static int meson_clk_enable(struct clk *clk)
+ {
+       return meson_set_gate(clk, true);
+ }
+ static int meson_clk_disable(struct clk *clk)
+ {
+       return meson_set_gate(clk, false);
+ }
+ static int meson_clk_probe(struct udevice *dev)
+ {
+       struct meson_clk *priv = dev_get_priv(dev);
 -      .priv_auto_alloc_size = sizeof(struct meson_clk),
++      priv->map = syscon_node_to_regmap(dev_ofnode(dev_get_parent(dev)));
+       if (IS_ERR(priv->map))
+               return PTR_ERR(priv->map);
+       return 0;
+ }
+ static struct clk_ops meson_clk_ops = {
+       .disable        = meson_clk_disable,
+       .enable         = meson_clk_enable,
+ };
+ static const struct udevice_id meson_clk_ids[] = {
+       { .compatible = "amlogic,meson-g12a-aoclkc" },
+       { }
+ };
+ U_BOOT_DRIVER(meson_clk_axg) = {
+       .name           = "meson_clk_g12a_ao",
+       .id             = UCLASS_CLK,
+       .of_match       = meson_clk_ids,
++      .priv_auto      = sizeof(struct meson_clk),
+       .ops            = &meson_clk_ops,
+       .probe          = meson_clk_probe,
+ };
Simple merge
Simple merge
Simple merge