• Home
  • Raw
  • Download

Lines Matching full:sysc

2  * ti-sysc.c - Texas Instruments sysc interconnect target driver
28 #include <linux/platform_data/ti-sysc.h>
30 #include <dt-bindings/bus/ti-sysc.h>
34 static const char * const reg_names[] = { "rev", "sysc", "syss", };
56 * struct sysc - TI sysc interconnect target module registers and capabilities
72 struct sysc { struct
94 static void sysc_parse_dts_quirks(struct sysc *ddata, struct device_node *np, argument
97 void sysc_write(struct sysc *ddata, int offset, u32 value) in sysc_write()
102 static u32 sysc_read(struct sysc *ddata, int offset) in sysc_read()
116 static bool sysc_opt_clks_needed(struct sysc *ddata) in sysc_opt_clks_needed()
121 static u32 sysc_read_revision(struct sysc *ddata) in sysc_read_revision()
131 static int sysc_get_one_clock(struct sysc *ddata, const char *name) in sysc_get_one_clock()
176 static int sysc_get_clocks(struct sysc *ddata) in sysc_get_clocks()
246 static int sysc_init_resets(struct sysc *ddata) in sysc_init_resets()
274 * In general we only need rev, syss, and sysc registers and not the whole
279 static int sysc_parse_and_check_child_range(struct sysc *ddata) in sysc_parse_and_check_child_range()
324 static void sysc_init_stdout_path(struct sysc *ddata) in sysc_init_stdout_path()
355 static void sysc_check_quirk_stdout(struct sysc *ddata, in sysc_check_quirk_stdout()
375 static int sysc_check_one_child(struct sysc *ddata, in sysc_check_one_child()
390 static int sysc_check_children(struct sysc *ddata) in sysc_check_children()
410 static void sysc_check_quirk_16bit(struct sysc *ddata, struct resource *res) in sysc_check_quirk_16bit()
421 static int sysc_parse_one(struct sysc *ddata, enum sysc_registers reg) in sysc_parse_one()
451 static int sysc_parse_registers(struct sysc *ddata) in sysc_parse_registers()
468 static int sysc_check_registers(struct sysc *ddata) in sysc_check_registers()
519 static int sysc_ioremap(struct sysc *ddata) in sysc_ioremap()
543 static int sysc_map_and_check_registers(struct sysc *ddata) in sysc_map_and_check_registers()
575 static int sysc_show_rev(char *bufp, struct sysc *ddata) in sysc_show_rev()
587 static int sysc_show_reg(struct sysc *ddata, in sysc_show_reg()
596 static int sysc_show_name(char *bufp, struct sysc *ddata) in sysc_show_name()
608 static void sysc_show_registers(struct sysc *ddata) in sysc_show_registers()
628 struct sysc *ddata; in sysc_runtime_suspend()
671 struct sysc *ddata; in sysc_runtime_resume()
716 struct sysc *ddata; in sysc_suspend()
747 struct sysc *ddata; in sysc_resume()
777 struct sysc *ddata; in sysc_noirq_suspend()
800 struct sysc *ddata; in sysc_noirq_resume()
928 static void sysc_init_revision_quirks(struct sysc *ddata) in sysc_init_revision_quirks()
960 static int sysc_reset(struct sysc *ddata) in sysc_reset()
991 static int sysc_init_module(struct sysc *ddata) in sysc_init_module()
1024 static int sysc_init_sysc_mask(struct sysc *ddata) in sysc_init_sysc_mask()
1030 error = of_property_read_u32(np, "ti,sysc-mask", &val); in sysc_init_sysc_mask()
1039 static int sysc_init_idlemode(struct sysc *ddata, u8 *idlemodes, in sysc_init_idlemode()
1058 static int sysc_init_idlemodes(struct sysc *ddata) in sysc_init_idlemodes()
1063 "ti,sysc-midle"); in sysc_init_idlemodes()
1068 "ti,sysc-sidle"); in sysc_init_idlemodes()
1080 * Depends on SYSC being parsed first.
1082 static int sysc_init_syss_mask(struct sysc *ddata) in sysc_init_syss_mask()
1110 static int sysc_child_add_named_clock(struct sysc *ddata, in sysc_child_add_named_clock()
1141 static int sysc_child_add_clocks(struct sysc *ddata, in sysc_child_add_clocks()
1164 static struct sysc *sysc_child_to_parent(struct device *dev) in sysc_child_to_parent()
1176 struct sysc *ddata; in sysc_child_runtime_suspend()
1193 struct sysc *ddata; in sysc_child_runtime_resume()
1211 struct sysc *ddata; in sysc_child_suspend_noirq()
1252 struct sysc *ddata; in sysc_child_resume_noirq()
1304 static void sysc_legacy_idle_quirk(struct sysc *ddata, struct device *child) in sysc_legacy_idle_quirk()
1317 struct sysc *ddata; in sysc_notifier_call()
1355 static void sysc_parse_dts_quirks(struct sysc *ddata, struct device_node *np, in sysc_parse_dts_quirks()
1377 static int sysc_init_dts_quirks(struct sysc *ddata) in sysc_init_dts_quirks()
1386 error = of_property_read_u32(np, "ti,sysc-delay-us", &val); in sysc_init_dts_quirks()
1389 dev_warn(ddata->dev, "bad ti,sysc-delay-us: %i\n", in sysc_init_dts_quirks()
1399 static void sysc_unprepare(struct sysc *ddata) in sysc_unprepare()
1413 * Common sysc register bits found on omap2, also known as type1
1445 * SHAM2 (SHA1/MD5) sysc found on omap3, a variant of sysc_regbits_omap2
1487 * Common sysc register bits found on omap4, also known as type2
1515 * Common sysc register bits found on omap4, also known as type3
1534 * SmartReflex sysc found on omap34xx
1556 * SmartReflex sysc found on omap36xx and later
1648 static int sysc_init_pdata(struct sysc *ddata) in sysc_init_pdata()
1675 static int sysc_init_match(struct sysc *ddata) in sysc_init_match()
1692 struct sysc *ddata; in ti_sysc_idle()
1694 ddata = container_of(work, struct sysc, idle_work.work); in ti_sysc_idle()
1708 struct sysc *ddata; in sysc_probe()
1801 struct sysc *ddata = platform_get_drvdata(pdev); in sysc_remove()
1826 { .compatible = "ti,sysc-omap2", .data = &sysc_omap2, },
1827 { .compatible = "ti,sysc-omap2-timer", .data = &sysc_omap2_timer, },
1828 { .compatible = "ti,sysc-omap4", .data = &sysc_omap4, },
1829 { .compatible = "ti,sysc-omap4-timer", .data = &sysc_omap4_timer, },
1830 { .compatible = "ti,sysc-omap4-simple", .data = &sysc_omap4_simple, },
1831 { .compatible = "ti,sysc-omap3430-sr", .data = &sysc_34xx_sr, },
1832 { .compatible = "ti,sysc-omap3630-sr", .data = &sysc_36xx_sr, },
1833 { .compatible = "ti,sysc-omap4-sr", .data = &sysc_omap4_sr, },
1834 { .compatible = "ti,sysc-omap3-sham", .data = &sysc_omap3_sham, },
1835 { .compatible = "ti,sysc-omap-aes", .data = &sysc_omap3_aes, },
1836 { .compatible = "ti,sysc-mcasp", .data = &sysc_omap4_mcasp, },
1837 { .compatible = "ti,sysc-dra7-mcasp", .data = &sysc_dra7_mcasp, },
1838 { .compatible = "ti,sysc-usb-host-fs",
1840 { .compatible = "ti,sysc-dra7-mcan", .data = &sysc_dra7_mcan, },
1849 .name = "ti-sysc",
1870 MODULE_DESCRIPTION("TI sysc interconnect target driver");