Re: armv7/panda usb eth addr wondering

2017-10-10 Thread Mark Kettenis
> Date: Tue, 10 Oct 2017 06:32:58 +0300
> From: Artturi Alm 
> 
> Hi,
> 
> i've been bothered by this:
> smsc0 at uhub1 port 1 configuration 1 interface 0 "Standard Microsystems 
> SMSC9512/14" rev 2.00/2.00 addr 3
> smsc0: address ff:ff:ff:ff:ff:ff
> 
> that does happen no matter if i run dhcp-command in u-boot shell or not.
> u-boot does store the addr in env, but i don't want to learn how to
> access it from efi, i think it wouldn't be pretty.
> 
> iirc. the DT is mapped kernel writable, so would anything like below be
> accepted for generalizing the kind of quirk there already is in if_smsc.c
> for rPI (the smsc_enaddr_OF())?
> 
> diff --git a/sys/arch/armv7/stand/efiboot/efiboot.c 
> b/sys/arch/armv7/stand/efiboot/efiboot.c
> index dbc434da7bf..b8f17fc5921 100644
> --- a/sys/arch/armv7/stand/efiboot/efiboot.c
> +++ b/sys/arch/armv7/stand/efiboot/efiboot.c
> @@ -328,6 +328,12 @@ efi_makebootargs(char *bootargs, uint32_t *board_id)
>   fdt_node_add_property(node, "openbsd,uefi-mmap-desc-size", zero, 4);
>   fdt_node_add_property(node, "openbsd,uefi-mmap-desc-ver", zero, 4);
>  
> + /*
> +  * For boards with integrated USB ethernet, to be filled later
> +  * during autoconf, from efuses/eeprom or such.
> +  */
> + fdt_node_add_property(node, "openbsd,uea", zero, 6);
> +
>   fdt_finalize();
>  
>   node = fdt_find_node("/");
> 
> 
> or, if hack like above is totally unaccepted for this, some clue how to
> solve my issue w/o giving up running GENERIC on panda would be appreciated.

See dev/usb/if_smsc.c:smsc_enaddr_OF().



armv7/panda usb eth addr wondering

2017-10-09 Thread Artturi Alm
Hi,

i've been bothered by this:
smsc0 at uhub1 port 1 configuration 1 interface 0 "Standard Microsystems 
SMSC9512/14" rev 2.00/2.00 addr 3
smsc0: address ff:ff:ff:ff:ff:ff

that does happen no matter if i run dhcp-command in u-boot shell or not.
u-boot does store the addr in env, but i don't want to learn how to
access it from efi, i think it wouldn't be pretty.

iirc. the DT is mapped kernel writable, so would anything like below be
accepted for generalizing the kind of quirk there already is in if_smsc.c
for rPI (the smsc_enaddr_OF())?

diff --git a/sys/arch/armv7/stand/efiboot/efiboot.c 
b/sys/arch/armv7/stand/efiboot/efiboot.c
index dbc434da7bf..b8f17fc5921 100644
--- a/sys/arch/armv7/stand/efiboot/efiboot.c
+++ b/sys/arch/armv7/stand/efiboot/efiboot.c
@@ -328,6 +328,12 @@ efi_makebootargs(char *bootargs, uint32_t *board_id)
fdt_node_add_property(node, "openbsd,uefi-mmap-desc-size", zero, 4);
fdt_node_add_property(node, "openbsd,uefi-mmap-desc-ver", zero, 4);
 
+   /*
+* For boards with integrated USB ethernet, to be filled later
+* during autoconf, from efuses/eeprom or such.
+*/
+   fdt_node_add_property(node, "openbsd,uea", zero, 6);
+
fdt_finalize();
 
node = fdt_find_node("/");


or, if hack like above is totally unaccepted for this, some clue how to
solve my issue w/o giving up running GENERIC on panda would be appreciated.
-Artturi