Help finishing support for Mikrotik RB2011iLS-IN 10-port switch?

reading through mach-rb2011.c I see sections of code like this:

static void __init rb2011r5_setup(void)
{
	rb2011_setup(RB2011_FLAG_SFP | RB2011_FLAG_USB | RB2011_FLAG_WLAN);
}

MIPS_MACHINE_NONAME(ATH79_MACH_RB_2011R5, "2011r5", rb2011r5_setup);

I need to somehow create a version specific to the RB2011iLS, which would do:

    rb2011_setup(RB2011_FLAG_SFP);

because those are the characteristics of that switch.

It might also be nice to set up the ethernet pll like this:

	ath79_eth0_pll_data.pll_1000 = 0x6f000000;

in rb2011_setup because that's what got the ethernet ports working (see http://wiki.openwrt.org/toh/mikrotik/rb2011uias for details)

my question is: where does "2011r5" get generated -- I believe that is what my board reported even though it doesn't have wlan or usb. How can I differentiate between my board and the other board and initialize correctly?

(first attempt at any of this, thanks for your patience)

I got a little further, maybe my question is easier now: How does the kernel command line get built?

It seems the 2011r5 seems to come from the command line. Does that sound right?

The boot log shows kernel command line, which has this arg: ' board=2011r5 '

I'm assuming it must be dynamic in some way, because I can probably boot the kernel on multiple routers, mine showing 2011r5 but slightly different models showing for example 2011G

"board" parameter is passed to kernel by Mikrotik RouterBOOT booter.

Thank you very much, that will get me further!