aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2022-12-05Merge tag 'xilinx-for-v2023.01-rc3-v2' of ↵WIP/05Dec2022Tom Rini30-74/+186
https://source.denx.de/u-boot/custodians/u-boot-microblaze Xilinx changes for v2023.01-rc3-v2 xilinx: - Fix MAC address selection for System Controller from FRU - Cleanup Kconfig (ZYNQ_MAC_IN_EEPROM symbol) versal: - Create u-boot.elf for mini spi configurations versal-net: - Enable MT35XU flash zynq: - Add missing timer to DT for mini configurations zynqmp: - Do not include psu_init to U-Boot by default - Do not enable IPI by default to mini U-Boot - Update Luca's fragment - Fix SPL_FS_LOAD_PAYLOAD_NAME usage spi: - gqspi: Fix tapdelay values - gqspi: Fix 64bit address support - cadence: Remove condition for calling enable linear mode - nor-core: Invert logic to reflect sst26 flash unlocked net: - Add PCS/PMA phy support
2022-12-05Merge tag 'i2cfixes-for-v2023.01-rc3' of ↵Tom Rini1-0/+0
https://source.denx.de/u-boot/custodians/u-boot-i2c i2c Fixes for v2023.01-rc3 - nuovoton driver: rename npcm_i2c -> npcm-i2c from Jim Liu
2022-12-05mtd: spi-nor-core: Invert logic to reflect sst26 flash unlockedAlgapally Santosh Sagar1-1/+1
flash_is_locked is changed to flash_is_unlocked with commit 513c6071ce73 ("mtd: spi: Convert is_locked callback to is_unlocked"). sst26_is_locked() is also changed to sst26_is_unlocked() but the logic remained same. Invert the logic for the flash lock/unlock to work properly. Signed-off-by: Algapally Santosh Sagar <santoshsagar.algapally@amd.com> Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@amd.com> Reviewed-by: Jan Kiszka <jan.kiszka@siemens.com> Reviewed-by: Dhruva Gole <d-gole@ti.com> Link: https://lore.kernel.org/r/20221122051833.13306-1-ashok.reddy.soma@amd.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2022-12-05xilinx: zynqmp: Fix SPL_FS_LOAD_PAYLOAD_NAME usageMichal Simek1-21/+24
SPL_FS_LOAD_PAYLOAD_NAME depends on SPL to be enabled. If SPL is not enabled code still expects SPL_FS_LOAD_PAYLOAD_NAME to be present. That's why setup proper dependency in the code. And by doing so also change the logic around dfu_alt_info string composition to be simpler. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/3989c390a4acae13a1b05c040e14fb3d68bced02.1669986373.git.michal.simek@amd.com
2022-12-05arm64: versal-net: Enable defconfig for Micron octal flashesAshok Reddy Soma1-0/+1
Micron mt35 series octal flashes are under config option CONFIG_SPI_FLASH_MT35XU. Enable it in default defconfig for octal flashes to be detected. Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@amd.com> Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/dfaf73a72c7b408f1b8530f411c405d3dcf9f854.1669717110.git.michal.simek@amd.com
2022-12-05spi: cadence-qspi: Remove condition for calling enable linear modeAshok Reddy Soma1-5/+1
cadence_qspi_apb_enable_linear_mode() has a weak function defined, so no need to gaurd this under if (CONFIG_IS_ENABLED(ARCH_VERSAL)). In cadence_qspi_apb_write_execute(), enable linear mode is called twice by mistake, remove extra one. Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@amd.com> Link: https://lore.kernel.org/r/20221129114134.18909-1-ashok.reddy.soma@amd.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2022-12-05ARM: zynq: Add missing twd timer for mini configurationsMichal Simek3-0/+21
The commit b7e0750d8872 ("zynq: Convert arm twd timer to DM driver") switched timer to DM but missing to add nodes to all mini configurations. Based on it missing timer end up in non functional system where any delay doesn't work. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/2020fc7e3d4760e890265485b3c7e18eb1caf8be.1669724598.git.michal.simek@amd.com
2022-12-05arm64: zynqmp: Do not enable IPI by defaultMichal Simek7-2/+8
ZynqMP mini configurations are not using IPI driver and enabling this is adding additional ~1200 Bytes (depends on configuration). This ends up in situation that there is no enough space in OCM for relocation that's why disable this driver for all mini configurations. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/c71bab3927cb71ae517d9c21f59f3d5cf0caf712.1669734580.git.michal.simek@amd.com
2022-12-05arm64: zynqmp: Do not include psu_init to U-Boot by defaultMichal Simek10-14/+10
The commit ed35de617013 ("Convert CONFIG_ZYNQMP_PSU_INIT_ENABLED to Kconfig") converted CONFIG_ZYNQMP_PSU_INIT_ENABLED symbol and enabled it by default which is not correct configuration. Intention of this config was to have it enabled by default for SPL and provide an option to users to also do low level initialization directly from U-Boot. That's why it is necessary to define second symbol with SPL marking in it and properly use symbols depends on usage in Makefile. Also disable ZYNQMP_PSU_INIT_ENABLED from boards which enables it by default. CONFIG_SPL_ZYNQMP_PSU_INIT_ENABLED is enabled by default when SPL is enabled. Reported-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com> Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/d5fcbd66b05bf0d7ef594e66464ee23b48c5e4cc.1669969083.git.michal.simek@amd.com
2022-12-05board/xilinx/zynqmp/MAINTAINERS: change e-mail address for Luca CeresoliLuca Ceresoli1-1/+1
My Bootlin address is the preferred one now. Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Link: https://lore.kernel.org/r/20221203214939.56608-1-luca@lucaceresoli.net Signed-off-by: Michal Simek <michal.simek@amd.com>
2022-12-05xilinx: Remove unused ZYNQ_MAC_IN_EEPROM/ZYNQ_GEM_I2C_MAC_OFFSET entriesMichal Simek4-23/+0
The commit ba74bcf3e07b ("xilinx: common: Remove zynq_board_read_rom_ethaddr()") removed zynq_board_read_rom_ethaddr() because xlnx,eeprom link via DT chosen node is no longer used. But forget to remove Kconfig entries which are used by this code only. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/f97451ed33409838efea4071553b6da795cfc578.1669192026.git.michal.simek@amd.com
2022-12-05xilinx: Add option to select SC id instead of DUT id for SC supportMichal Simek3-1/+15
Reading MAC address from on board EEPROM requires different type for System Controller (SC). Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/90bb7cc5463568a690b979f18c8d42556986b46d.1669204122.git.michal.simek@amd.com
2022-12-05spi: zynqmp_qspi: Add support for 64-bit read/writeVenkatesh Yadav Abbarapu1-2/+4
When we pass the 64-bit address to read/write, only lower 32-bit address is getting updated. Program the upper 32-bit address in the DMA destination memory address MSBs register, which can handle upto 44-bit destination address. Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com> Link: https://lore.kernel.org/r/20221125104413.26140-1-venkatesh.abbarapu@amd.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2022-12-05arm64: versal: Enable REMAKE_ELF for mini_ospi/mini_qspiVenkatesh Yadav Abbarapu2-0/+2
Enable the config REMAKE_ELF in xilinx_versal_mini_ospi_defconfig and xilinx_versal_mini_qspi_defconfig which generates u-boot.elf. This commit a8c281d4b737("Convert CONFIG_REMAKE_ELF to Kconfig") misses to enable this config in these defconfigs. Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com> Link: https://lore.kernel.org/r/20221125084639.23835-1-venkatesh.abbarapu@amd.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2022-12-05spi: zynqmp_gqspi: Update tapdelay valueT Karthik Reddy1-1/+1
The driver was using an incorrect value for GQSPI_LPBK_DLY_ADJ_DLY_1 tapdelay for Versal for frequencies above 100MHz. Change it from 2 to 1 based on the recommended value in IP spec. Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com> Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@amd.com> Reviewed-by: Dhruva Gole <d-gole@ti.com> Link: https://lore.kernel.org/r/20221123090451.11409-1-ashok.reddy.soma@amd.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2022-12-05arm64: zynqmp: dynamically mark r5 cores as usedLukas Funke2-1/+29
When Linux boot takes over control of the pmu (by signaling PM_INIT_FINALIZE via ipi), pmu will switch off 'unused' rpu cores. The Xilinx zynqmp fsbl prevents switching off those cores by marking rpu cores as 'used' when loading code partitions to those cores. The current u-boot SPL is missing this behaviour, which results in halting rpu cores during Linux boot. This commit mimics the xilinx zynqmp fsbl behavior by marking r5 cores as used when they are released during boot. Signed-off-by: Lukas Funke <lukas.funke@weidmueller.com> Signed-off-by: Lukas Funke <lukas.funke-oss@weidmueller.com> Link: https://lore.kernel.org/r/20221028121547.26464-2-lukas.funke-oss@weidmueller.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2022-12-05net: xilinx_axi: check PCS/PMA PHY status in setup_phyAndy Chiu1-0/+44
Both PCS/PMA PHY and the external PHY need to have a valid link status in order to have Ethernet traffic. Check and wait this status at setup_phy() so that we could diagnose if there is a PHY issue. Signed-off-by: Andy Chiu <andy.chiu@sifive.com> Reviewed-by: Greentime Hu <greentime.hu@sifive.com> Link: https://lore.kernel.org/r/20221101035800.912644-3-andy.chiu@sifive.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2022-12-05net: xilinx_axi: add PCS/PMA PHYAndy Chiu1-2/+24
If we bridge an external PHY to Xilinx's PCS/PMA PHY and would like to get and set the real status of the PHY facing the external world. Then we should phy_connect() to the external PHY instead of the PCS/PMA one. Thus, we add a pcs-handle DT entry, which have been merged in Linux, and leave the configuration of it to the driver itself. Unlike Linux, where the PCS/PMA PHY is managed by phylink, managing the PCS/PMA PHY is only internal to the driver in U-Boot. The PCS/PMA PHY pressents only when the phy-mode is configured as SGMII or 1000Base-X, so it is always 1 Gbps and full-duplex and we may skip passing link information out. Signed-off-by: Andy Chiu <andy.chiu@sifive.com> Reviewed-by: Greentime Hu <greentime.hu@sifive.com> Link: https://lore.kernel.org/r/20221101035800.912644-2-andy.chiu@sifive.com Signed-off-by: Michal Simek <michal.simek@amd.com>
2022-12-05i2c: nuvoton: renamed the NPCM i2c driverJim Liu1-0/+0
The Makefile name is npcm_i2c but the driver is npcm-i2c. Signed-off-by: Jim Liu <JJLIU0@nuvoton.com> Reviewed-by: Heiko Schocher <hs@denx.de>
2022-12-04Merge tag 'efi-2023-01-rc3' of ↵WIP/04Dec2022Tom Rini15-124/+600
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request for efi-2023-01-rc3 Documentation: * describe DM firmware needed for j721e_evm * describe management of UEFI security data base with eficonfig UEFI: * code clean-up for eficonfig command * fix handling of DHCP aknowledge * correct EFI memory type used for U-Boot code * unit test for FatToStr() truncation * add an EFI binary to print boot hart ID Other: * improve parameter checks in console functions * fix variable initialization in blk_get_device_part_str
2022-12-02doc: eficonfig: add description for UEFI Secure Boot ConfigurationMasahisa Kojima1-29/+61
This commits adds the description for the UEFI Secure Boot Configuration through the eficonfig menu. Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Redacted the complete document. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-12-02eficonfig: use efi_get_next_variable_name_int()Masahisa Kojima1-24/+117
eficonfig command reads all possible UEFI load options from 0x0000 to 0xFFFF to construct the menu. This takes too much time in some environment. This commit uses efi_get_next_variable_name_int() to read all existing UEFI load options to significantlly reduce the count of efi_get_var() call. Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
2022-12-02efi_loader: utility function to check the variable name is "Boot####"Masahisa Kojima3-22/+35
Some commands need to enumerate the existing UEFI load option variable("Boot####"). This commit transfers some code from cmd/efidebug.c to lib/efi_loder/, then exposes efi_varname_is_load_option() function to check whether the UEFI variable name is "Boot####". Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2022-12-02eficonfig: use u16_strsize() to get u16 string buffer sizeMasahisa Kojima1-2/+1
Use u16_strsize() to simplify the u16 string buffer size calculation. Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2022-12-02eficonfig: fix going one directory up issueMasahisa Kojima1-1/+1
The directory name in eficonfig menu entry contains the '\' separator. strcmp() argument ".." is wrong and one directory up handling does not work correctly. strcmp() argument must include '\' separator. Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2022-12-02doc: board: typo GIUD Microchip MPFS Icicle Kit docHeinrich Schuchardt1-2/+2
%s/GIUD/GUID/ Fixes: 9e550e18305f ("doc: board: Add Microchip MPFS Icicle Kit doc") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Bin Meng <bmeng@tinylab.org>
2022-12-02efi_loader: don't use EFI_LOADER_DATA internallyHeinrich Schuchardt2-3/+3
EFI_LOADER_DATA/CODE is reserved for EFI applications. Memory allocated by U-Boot for internal usage should be EFI_BOOT_SERVICES_DATA or _CODE or EFI_RUNTIME_SERVICES_DATA or _CODE. Reported-by: François-Frédéric Ozog <ff@ozog.com> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: François-Frédéric Ozog <ff@ozog.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2022-12-02efi_loader: fix handling of DHCP acknowledgeHeinrich Schuchardt1-3/+10
The dhcp command may be executed after the first UEFI command. We should still update the EFI_PXE_BASE_CODE_PROTOCOL. Don't leak content of prior acknowledge packages. Handle failing allocation when calling malloc(). Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2022-12-02efi_selftest: test FatToStr() truncationHeinrich Schuchardt1-1/+1
Let the FatToStr test check that the FatSize parameter is considered. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-12-02efi_loader: add an EFI binary to print boot hart IDHeinrich Schuchardt2-0/+341
Provide an EFI binary that prints the boot hart ID as found in the device-tree as /chosen/boot-hartid property and as provided by the RISCV_EFI_BOOT_PROTOCOL. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-12-02doc: board: j721e_evm: Fix code-block type and indentsAndrew Davis1-12/+12
* BASH code should be labeled as such. * Code blocks should be indented by 4 spaces. Fix these here. Suggested-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Andrew Davis <afd@ti.com> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2022-12-02doc: board: j721e_evm: Add DM firmware stepsAndrew Davis1-6/+10
J721e needs DM firmware when using updated SYSFW. Add steps to fetch, build, and deploy the same. Signed-off-by: Andrew Davis <afd@ti.com>
2022-12-02net: CONFIG_NET_DEVICES in dhcp_handler()Heinrich Schuchardt1-1/+1
The symbol CONFIG_NET_DEVICES does not exist. The correct name is CONFIG_NETDEVICES. Fixes: 77b5c4a5b1dc ("efi_loader: Let networking support depend on NETDEVICES") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-12-02disk: fix blk_get_device_part_str()Heinrich Schuchardt1-18/+5
blk_get_device_part_str() should always initialize all info fields including sys_ind. As a side effect the code is simplified. Replace '(0 ==' by '(!' to conform with Linux coding style. Fixes: 4d907025d6a5 ("sandbox: restore ability to access host fs through standard commands") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Heiko Schocher <hs@denx.de>
2022-12-02console: file should always be non-negativeHeinrich Schuchardt1-5/+5
We use the parameter file in console functions to choose from an array after checking against MAX_FILES but we never check if the value of file is negative. Running ./u-boot -T -l and issuing the poweroff command has resulted in crashes because os_exit() results in std::ostream::flush() calling U-Boot's fflush with file being a pointer which when converted to int may be represented by a negative number. This shows that checking against MAX_FILES is not enough. We have to ensure that the file argument is always positive. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2022-12-02Merge branch '2022-12-02-assorted-updates'Tom Rini13-10/+111
- Add Peter Robinson as a co-custodian for Pi, update the maintainer record for common/usb_storage.c, re-add bmp_logo to tools-only and fix SPI booting on the SanCloud BBE
2022-12-02MAINTAINERS: Adopt SanCloud boardsWIP/2022-12-02-assorted-updatesPaul Barker1-0/+6
Signed-off-by: Paul Barker <paul.barker@sancloud.com> Cc: Marc Murphy <marc.murphy@sancloud.com>
2022-12-02am335x-sancloud-bbe: Add -u-boot.dtsi filesPaul Barker2-0/+50
The SanCloud BBE requires the same dtb nodes to be present in the SPL as the AM335x EVM. The SanCloud BBE Lite also requires the SPI flash node and all dependencies to be present in the SPL to support SPI boot. Signed-off-by: Paul Barker <paul.barker@sancloud.com>
2022-12-02am335x-sancloud-bbe-lite: SPI flash is JEDEC compatiblePaul Barker1-1/+1
Signed-off-by: Paul Barker <paul.barker@sancloud.com>
2022-12-02am335x-evm: Support STMicro/Micron SPI flashPaul Barker2-0/+2
This change enables access to the SPI flash on the SanCloud BBE Lite board. Signed-off-by: Paul Barker <paul.barker@sancloud.com>
2022-12-02am335x-evm: Fix spiboot configurationPaul Barker1-0/+4
The advanced address translation provided by CONFIG_SPL_OF_TRANSLATE is needed to determine the base address of the uart0 peripheral on am335x platforms when CONFIG_SPL_OF_CONTROL is enabled. If CONFIG_SPL_OF_CONTROL is enabled in the base (non-spiboot) am335x_evm_defconfig, then CONFIG_SPL_OF_TRANSLATE will also need to be enabled there. Unfortunately this cannot be done pre-emptively due to the kconfig dependencies. The TI clk-ctrl & TI sysc drivers are also required to bring up the SPI bus on am335x platforms. Signed-off-by: Paul Barker <paul.barker@sancloud.com>
2022-12-02am335x-evm: Enable required dtb nodes in SPLPaul Barker1-2/+28
For successful boot when CONFIG_SPL_OF_CONTROL=y, we need to ensure that the board EEPROM on i2c0, the uart0 serial port and the relevant boot device (mmc1 or mmc2) can be accessed in the SPL. We also need to preserve the parent nodes for each required dtb node. Signed-off-by: Paul Barker <paul.barker@sancloud.com>
2022-12-02bus: Optionally include TI sysc driver in SPL/TPLPaul Barker3-2/+12
The TI sysc bus driver is required to allow access to the SPI bus on am335x platforms. To support SPI boot this driver needs to be enabled in the SPL/TPL as appropriate. Signed-off-by: Paul Barker <paul.barker@sancloud.com>
2022-12-02bus: TI sysc driver requires DMPaul Barker1-1/+1
This driver does not build if CONFIG_DM is disabled as it uses the function `dev_get_priv`. Signed-off-by: Paul Barker <paul.barker@sancloud.com>
2022-12-02dm: core: Fix iteration over driver_info recordsPaul Barker1-3/+3
We should only perform additional iteration steps when needed to initialize the parent of a device. Other binding errors (such as a missing driver) should not lead to additional iteration steps. Unnecessary iteration steps can cause issues when memory is tightly constrained (such as in the TPL/SPL) since device_bind_by_name() unconditionally allocates memory for a struct udevice. On the SanCloud BBE this led to boot failure caused by memory exhaustion in the SPL when booting from SPI flash. Signed-off-by: Paul Barker <paul.barker@sancloud.com>
2022-12-02MAINTAINERS: Move usb_storage from DFU to USBMarek Vasut1-1/+1
The usb_storage.c is the host-side USB mass storage device support, it is not the DFU/UMS gadget-side implementation. Fix the entry. Signed-off-by: Marek Vasut <marex@denx.de>
2022-12-02config: tools only: add VIDEO to build bmp_logoPeter Robinson1-0/+1
Pre 2023.01 the bmp_logo was built as part of the tools-only_defconfig build, something changed and the VIDEO dep needed to build it is no longer pulled in so fix that by explicitly defining it. Signed-off-by: Peter Robinson <pbrobinson@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2022-12-02MAINTAINERS: add RaspberryPi co-maintainerMatthias Brugger2-0/+2
Peter accpeted to step up as a co-maintainer for the RPis. Reflect that in the corresponding MAINTAINERS files. Signed-off-by: Matthias Brugger <mbrugger@suse.com> Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
2022-11-28Merge branch '2022-11-28-networking-updates-and-improvements'Tom Rini28-96/+2423
- LiteX Ethernet support, dwc_eth_qos fixes, re-work fixing CVE-2022-{30790,30552}, macb race fix, Intel XWAY PHY support and add wget command and TCP support.
2022-11-28phy: add driver for Intel XWAY PHYTim Harvey5-0/+58
Add a driver for the Intel XWAY GbE PHY: - configure RGMII using dt phy-mode and standard delay properties - use genphy_config Signed-off-by: Tim Harvey <tharvey@gateworks.com>