Hi, Eddy
To support smaller RAM size, you can just change the setting of DRAM size in uboot.
To disable those unused modules, for kernel L3.0.35 or earlier version, you can just remove those devices imx6q_add_xxx() function call in mx6_sabresd_board_init of arch/arm/mach-mx6/board-mx6q_sabresd.c(take SABRESD board as example, for other boards, please refer to other board files, arch/arm/mach-mx6/board-mx6q_xxx.c), then the driver will not be loaded. However, remove those config in menuconfig(kernel option) is the most clean way to disable those unused modules. for kernel L3.10 or later version, you can just add status of disabled in DTB, take i.MX6Q sabresd board for example, you can just set those unused modules status to disabled, see below, the hdmi audio will be disabled. Hope these info help.
arch/arm/boot/dts/imx6qdl-sabresd.dtsi:
287 &hdmi_audio {
288 status = "disabled";
289 };
290