Lines Matching defs:sysc

143 #include <linux/platform_data/ti-sysc.h>
145 #include <dt-bindings/bus/ti-sysc.h>
272 if (!oh->class->sysc) {
279 oh->_sysc_cache = omap_hwmod_read(oh, oh->class->sysc->sysc_offs);
281 if (!(oh->class->sysc->sysc_flags & SYSC_NO_CACHE))
297 if (!oh->class->sysc) {
316 omap_hwmod_write(v, oh, oh->class->sysc->sysc_offs);
338 if (!oh->class->sysc ||
339 !(oh->class->sysc->sysc_flags & SYSC_HAS_MIDLEMODE))
342 if (!oh->class->sysc->sysc_fields) {
347 mstandby_shift = oh->class->sysc->sysc_fields->midle_shift;
371 if (!oh->class->sysc ||
372 !(oh->class->sysc->sysc_flags & SYSC_HAS_SIDLEMODE))
375 if (!oh->class->sysc->sysc_fields) {
380 sidle_shift = oh->class->sysc->sysc_fields->sidle_shift;
405 if (!oh->class->sysc ||
406 !(oh->class->sysc->sysc_flags & SYSC_HAS_CLOCKACTIVITY))
409 if (!oh->class->sysc->sysc_fields) {
414 clkact_shift = oh->class->sysc->sysc_fields->clkact_shift;
435 if (!oh->class->sysc ||
436 !(oh->class->sysc->sysc_flags & SYSC_HAS_SOFTRESET))
439 if (!oh->class->sysc->sysc_fields) {
444 softrst_mask = (0x1 << oh->class->sysc->sysc_fields->srst_shift);
463 if (!oh->class->sysc ||
464 !(oh->class->sysc->sysc_flags & SYSC_HAS_SOFTRESET))
467 if (!oh->class->sysc->sysc_fields) {
474 softrst_mask = (0x1 << oh->class->sysc->sysc_fields->srst_shift);
493 struct omap_hwmod_class_sysconfig *sysc;
497 sysc = oh->class->sysc;
499 if (sysc->sysc_flags & SYSS_HAS_RESET_STATUS && sysc->syss_offs > 0)
500 omap_test_timeout((omap_hwmod_read(oh, sysc->syss_offs)
503 else if (sysc->sysc_flags & SYSC_HAS_RESET_STATUS) {
504 softrst_mask = (0x1 << sysc->sysc_fields->srst_shift);
505 omap_test_timeout(!(omap_hwmod_read(oh, sysc->sysc_offs)
530 if (!oh->class->sysc ||
531 !(oh->class->sysc->sysc_flags & SYSC_HAS_DMADISABLE))
534 if (!oh->class->sysc->sysc_fields) {
549 (0x1 << oh->class->sysc->sysc_fields->dmadisable_shift);
575 if (!oh->class->sysc ||
576 !(oh->class->sysc->sysc_flags & SYSC_HAS_AUTOIDLE))
579 if (!oh->class->sysc->sysc_fields) {
584 autoidle_shift = oh->class->sysc->sysc_fields->autoidle_shift;
602 if (!oh->class->sysc ||
603 !((oh->class->sysc->sysc_flags & SYSC_HAS_ENAWAKEUP) ||
604 (oh->class->sysc->idlemodes & SIDLE_SMART_WKUP) ||
605 (oh->class->sysc->idlemodes & MSTANDBY_SMART_WKUP)))
608 if (!oh->class->sysc->sysc_fields) {
613 if (oh->class->sysc->sysc_flags & SYSC_HAS_ENAWAKEUP)
614 *v |= 0x1 << oh->class->sysc->sysc_fields->enwkup_shift;
616 if (oh->class->sysc->idlemodes & SIDLE_SMART_WKUP)
618 if (oh->class->sysc->idlemodes & MSTANDBY_SMART_WKUP)
1178 if (!oh->class->sysc)
1194 sf = oh->class->sysc->sysc_flags;
1204 if (oh->class->sysc->idlemodes & SIDLE_SMART_WKUP)
1215 if (clkdm_act && !(oh->class->sysc->idlemodes &
1230 if (oh->class->sysc->idlemodes & MSTANDBY_SMART_WKUP)
1275 if (!oh->class->sysc)
1279 sf = oh->class->sysc->sysc_flags;
1287 if (oh->class->sysc->idlemodes & SIDLE_SMART_WKUP)
1302 if (oh->class->sysc->idlemodes & MSTANDBY_SMART_WKUP)
1327 if (!oh->class->sysc)
1331 sf = oh->class->sysc->sysc_flags;
1698 if (!oh->class->sysc ||
1699 !(oh->class->sysc->sysc_flags & SYSC_HAS_SOFTRESET))
1722 if (oh->class->sysc->srst_udelay)
1723 udelay(oh->class->sysc->srst_udelay);
1813 if (oh->class->sysc) {
1935 if (oh->class->sysc) {
1980 if (oh->class->sysc)
2052 if (oh->class->sysc) {
2159 * for rev, sysc and syss registers.
2201 if (!strncmp("ti,sysc-", name, 8))
2252 /* if we don't need sysc access we don't need to ioremap */
2253 if (!oh->class->sysc)
2256 /* we can't continue without MPU PORT if we need sysc access */
3084 * omap_hwmod_check_sysc - check sysc against platform sysc
3087 * @sysc_fields: new sysc configuration
3125 * @sysc_fields: new sysc configuration
3166 if (!oh->class->sysc->sysc_fields)
3182 * @sysc_offs: sysc register offset
3221 /* See SYSC_OMAP2_* in include/dt-bindings/bus/ti-sysc.h */
3235 /* See SYSC_OMAP4_* in include/dt-bindings/bus/ti-sysc.h */
3245 /* See SYSC_OMAP3_SR_* in include/dt-bindings/bus/ti-sysc.h */
3318 * @sysc_fields: sysc register bits
3322 * @sysc_flags: sysc specific flags
3323 * @idlemodes: sysc supported idlemodes
3333 if (!oh->class->sysc)
3336 if (oh->class->sysc->sysc_fields &&
3337 sysc_fields != oh->class->sysc->sysc_fields)
3340 if (rev_offs != oh->class->sysc->rev_offs)
3342 oh->class->sysc->rev_offs);
3343 if (sysc_offs != oh->class->sysc->sysc_offs)
3345 oh->class->sysc->sysc_offs);
3346 if (syss_offs != oh->class->sysc->syss_offs)
3348 oh->class->sysc->syss_offs);
3350 if (sysc_flags != oh->class->sysc->sysc_flags)
3352 oh->class->sysc->sysc_flags);
3354 if (idlemodes != oh->class->sysc->idlemodes)
3356 oh->class->sysc->idlemodes);
3358 if (data->cfg->srst_udelay != oh->class->sysc->srst_udelay)
3361 oh->class->sysc->srst_udelay);
3371 * @sysc_fields: sysc register bits
3376 * @sysc_flags: sysc specific flags
3377 * @idlemodes: sysc supported idlemodes
3379 * Note that the allocations here cannot use devm as ti-sysc can rebind.
3389 struct omap_hwmod_class_sysconfig *sysc;
3395 sysc = kzalloc(sizeof(*sysc), GFP_KERNEL);
3396 if (!sysc)
3399 sysc->sysc_fields = sysc_fields;
3400 sysc->rev_offs = rev_offs;
3401 sysc->sysc_offs = sysc_offs;
3402 sysc->syss_offs = syss_offs;
3403 sysc->sysc_flags = sysc_flags;
3404 sysc->idlemodes = idlemodes;
3405 sysc->srst_udelay = data->cfg->srst_udelay;
3443 oh->class->sysc = sysc;
3460 kfree(sysc);