It turned out that there are some DMA channels either reserved and/or used by GPU. Thus "broadcom,channels" fdt property is used to get free DMA channels mask. Further, channels known that they are used by GPU are masked out too.
More small changes was done:
(1) All remaining channels are enabled now.
(2) CS_RESET bit is used for initial channel reset.
(3) Interrupts for reserved channels are not enabled.
(4) SDHCI controller does not allocate any specific DMA channel.
As channel 3 is used by GPU, this patch solves the following warnings:
bcm_dma0: unused DMA intr CH=3, CS=20f10027