I want to know how linux kernel find detailed information such as, which specific ARM core is installed, type of DMA or interrupt controller, size of cache and so on.
plz let me know where to start.
If you just want to know the hardware info, you can use some Linux utilities for that easily.
For example, you can run "hwinfo" command to collect the hardware information. Please note, hwinfo utility may need to be installed into you OS if it is missing.
If you want to investigate the Linux kernel code to understand how the kernel probes the hardware components, please read below articles as the start: