• Home
  • Raw
  • Download

Lines Matching +full:pmu +full:- +full:sram

44 static struct regmap *pmu;  variable
52 ret = regmap_read(pmu, PMU_PWRDN_ST, &val); in pmu_power_domain_is_on()
66 np = dev->of_node; in rockchip_get_core_reset()
94 ret = regmap_update_bits(pmu, PMU_PWRDN_CON, BIT(pd), val); in pmu_set_power_domain()
101 ret = -1; in pmu_set_power_domain()
129 if (!sram_base_addr || (has_pmu && !pmu)) { in rockchip_boot_secondary()
130 pr_err("%s: sram or pmu missing for cpu boot\n", __func__); in rockchip_boot_secondary()
131 return -ENXIO; in rockchip_boot_secondary()
137 return -ENXIO; in rockchip_boot_secondary()
155 * (e.g: cpu frequency, bootrom frequency, sram frequency, ...) in rockchip_boot_secondary()
168 * rockchip_smp_prepare_sram - populate necessary sram block
169 * Starting cores execute the code residing at the start of the on-chip sram
170 * after power-on. Therefore make sure, this sram region is reserved and
172 * core to the real startup code in ram into the sram-region.
173 * @node: mmio-sram device node
177 unsigned int trampoline_sz = &rockchip_secondary_trampoline_end - in rockchip_smp_prepare_sram()
194 return -EINVAL; in rockchip_smp_prepare_sram()
197 /* set the boot function for the sram code */ in rockchip_smp_prepare_sram()
200 /* copy the trampoline to sram, that runs during startup of the core */ in rockchip_smp_prepare_sram()
211 .name = "rockchip-pmu",
223 * This function is only called via smp_ops->smp_prepare_cpu(). in rockchip_smp_prepare_pmu()
225 * and has an "enable-method" property that selects the SMP in rockchip_smp_prepare_pmu()
230 pmu = syscon_regmap_lookup_by_phandle(node, "rockchip,pmu"); in rockchip_smp_prepare_pmu()
232 if (!IS_ERR(pmu)) in rockchip_smp_prepare_pmu()
235 pmu = syscon_regmap_lookup_by_compatible("rockchip,rk3066-pmu"); in rockchip_smp_prepare_pmu()
236 if (!IS_ERR(pmu)) in rockchip_smp_prepare_pmu()
239 /* fallback, create our own regmap for the pmu area */ in rockchip_smp_prepare_pmu()
240 pmu = NULL; in rockchip_smp_prepare_pmu()
241 node = of_find_compatible_node(NULL, NULL, "rockchip,rk3066-pmu"); in rockchip_smp_prepare_pmu()
243 pr_err("%s: could not find pmu dt node\n", __func__); in rockchip_smp_prepare_pmu()
244 return -ENODEV; in rockchip_smp_prepare_pmu()
249 pr_err("%s: could not map pmu registers\n", __func__); in rockchip_smp_prepare_pmu()
250 return -ENOMEM; in rockchip_smp_prepare_pmu()
253 pmu = regmap_init_mmio(NULL, pmu_base, &rockchip_pmu_regmap_config); in rockchip_smp_prepare_pmu()
254 if (IS_ERR(pmu)) { in rockchip_smp_prepare_pmu()
255 int ret = PTR_ERR(pmu); in rockchip_smp_prepare_pmu()
258 pmu = NULL; in rockchip_smp_prepare_pmu()
271 node = of_find_compatible_node(NULL, NULL, "rockchip,rk3066-smp-sram"); in rockchip_smp_prepare_cpus()
273 pr_err("%s: could not find sram dt node\n", __func__); in rockchip_smp_prepare_cpus()
279 pr_err("%s: could not map sram registers\n", __func__); in rockchip_smp_prepare_cpus()
293 node = of_find_compatible_node(NULL, NULL, "arm,cortex-a9-scu"); in rockchip_smp_prepare_cpus()
373 CPU_METHOD_OF_DECLARE(rk3036_smp, "rockchip,rk3036-smp", &rk3036_smp_ops);
374 CPU_METHOD_OF_DECLARE(rk3066_smp, "rockchip,rk3066-smp", &rockchip_smp_ops);