How to pass a value to a builtin Linux kernel module at boot time?
Modify your board file present in include/config/board_xxx.h of U-Boot, modify $bootargs similar to the last variable that is set in this example:
setenv bootargs display=\${display} console=\${consoledev},\${baudrate} root=/dev/mmcblk0p1 rw rootdelay=1 control.cmd1={cmd1}
control is the name of the built-in driver module that I cannot insmod because I need it for booting fully to the Linux prompt.
cmd1 is the global variable I've defined in the module in which I've used:
module_param(cmd1, int, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP);
so, your $bootargs var simply needs to be appended with something like:
<your_mod_name>.<your_mod_parameter_var_name>=<an_appropriate_value>
If you know how to pass a value to a kernel module, you know enough :)
insmod my_module param=value
If your module is built-in in the kernel, you can add your parameter to the kernel parameters
vmlinux ... my_module.param=value ...
Here a reference: kernel-parameters.txt