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) {
2158 * for rev, sysc and syss registers.
2215 if (!strncmp("ti,sysc-", name, 8))
2284 /* if we don't need sysc access we don't need to ioremap */
2285 if (!oh->class->sysc)
2288 /* we can't continue without MPU PORT if we need sysc access */
3114 * omap_hwmod_check_sysc - check sysc against platform sysc
3117 * @sysc_fields: new sysc configuration
3155 * @sysc_fields: new sysc configuration
3196 if (!oh->class->sysc->sysc_fields)
3212 * @sysc_offs: sysc register offset
3251 /* See SYSC_OMAP2_* in include/dt-bindings/bus/ti-sysc.h */
3265 /* See SYSC_OMAP4_* in include/dt-bindings/bus/ti-sysc.h */
3275 /* See SYSC_OMAP3_SR_* in include/dt-bindings/bus/ti-sysc.h */
3348 * @sysc_fields: sysc register bits
3352 * @sysc_flags: sysc specific flags
3353 * @idlemodes: sysc supported idlemodes
3363 if (!oh->class->sysc)
3366 if (oh->class->sysc->sysc_fields &&
3367 sysc_fields != oh->class->sysc->sysc_fields)
3370 if (rev_offs != oh->class->sysc->rev_offs)
3372 oh->class->sysc->rev_offs);
3373 if (sysc_offs != oh->class->sysc->sysc_offs)
3375 oh->class->sysc->sysc_offs);
3376 if (syss_offs != oh->class->sysc->syss_offs)
3378 oh->class->sysc->syss_offs);
3380 if (sysc_flags != oh->class->sysc->sysc_flags)
3382 oh->class->sysc->sysc_flags);
3384 if (idlemodes != oh->class->sysc->idlemodes)
3386 oh->class->sysc->idlemodes);
3388 if (data->cfg->srst_udelay != oh->class->sysc->srst_udelay)
3391 oh->class->sysc->srst_udelay);
3400 * @sysc_fields: sysc register bits
3405 * @sysc_flags: sysc specific flags
3406 * @idlemodes: sysc supported idlemodes
3408 * Note that the allocations here cannot use devm as ti-sysc can rebind.
3418 struct omap_hwmod_class_sysconfig *sysc;
3424 sysc = kzalloc(sizeof(*sysc), GFP_KERNEL);
3425 if (!sysc)
3428 sysc->sysc_fields = sysc_fields;
3429 sysc->rev_offs = rev_offs;
3430 sysc->sysc_offs = sysc_offs;
3431 sysc->syss_offs = syss_offs;
3432 sysc->sysc_flags = sysc_flags;
3433 sysc->idlemodes = idlemodes;
3434 sysc->srst_udelay = data->cfg->srst_udelay;
3472 oh->class->sysc = sysc;
3489 kfree(sysc);