| 2463 | } |
| 2464 | |
| 2465 | static void |
| 2466 | decode_win_sdhci_setup(u_long base) |
| 2467 | { |
| 2468 | uint32_t cr, br; |
| 2469 | int i, j; |
| 2470 | |
| 2471 | for (i = 0; i < MV_WIN_SDHCI_MAX; i++) { |
| 2472 | win_sdhci_cr_write(base, i, 0); |
| 2473 | win_sdhci_br_write(base, i, 0); |
| 2474 | } |
| 2475 | |
| 2476 | for (i = 0; i < MV_WIN_DDR_MAX; i++) |
| 2477 | if (ddr_is_active(i)) { |
| 2478 | br = ddr_base(i); |
| 2479 | cr = (((ddr_size(i) - 1) & |
| 2480 | (IO_WIN_SIZE_MASK << IO_WIN_SIZE_SHIFT)) | |
| 2481 | (ddr_attr(i) << IO_WIN_ATTR_SHIFT) | |
| 2482 | (ddr_target(i) << IO_WIN_TGT_SHIFT) | |
| 2483 | IO_WIN_ENA_MASK); |
| 2484 | |
| 2485 | /* Use the first available SDHCI window */ |
| 2486 | for (j = 0; j < MV_WIN_SDHCI_MAX; j++) { |
| 2487 | if (win_sdhci_cr_read(base, j) & IO_WIN_ENA_MASK) |
| 2488 | continue; |
| 2489 | |
| 2490 | win_sdhci_cr_write(base, j, cr); |
| 2491 | win_sdhci_br_write(base, j, br); |
| 2492 | break; |
| 2493 | } |
| 2494 | } |
| 2495 | } |
| 2496 | |
| 2497 | static void |
| 2498 | decode_win_sdhci_dump(u_long base) |
nothing calls this directly
no test coverage detected