// SPDX-License-Identifier: GPL-2.0+ #include <linux/device.h> #include <linux/regmap.h> #include <linux/mfd/syscon.h> #include <linux/bitops.h> #include <linux/module.h> #include "pl111_nomadik.h" #define PMU_CTRL_OFFSET 0x0000 #define PMU_CTRL_LCDNDIF BIT(26) void pl111_nomadik_init(struct device *dev) { struct regmap *pmu_regmap; /* * Just bail out of this is not found, we could be running * multiplatform on something else than Nomadik. */ pmu_regmap = syscon_regmap_lookup_by_compatible("stericsson,nomadik-pmu"); if (IS_ERR(pmu_regmap)) return; /* * This bit in the PMU controller multiplexes the two graphics * blocks found in the Nomadik STn8815. The other one is called * MDIF (Master Display Interface) and gets muxed out here. */ regmap_update_bits(pmu_regmap, PMU_CTRL_OFFSET, PMU_CTRL_LCDNDIF, 0); dev_info(dev, "set Nomadik PMU mux to CLCD mode\n"); } EXPORT_SYMBOL_GPL(pl111_nomadik_init);