AM43xx-IDK boards contain the CDCE913 clock synthesizer, and their
reset crystal capacitance load value of 10pF is wrong leading into
lost packets in certain networking tests. Add DT data for this
device, and probe it from the board file to program the crystal
capacitance load value to 0pF to avoid any problems.

Signed-off-by: Tero Kristo <t-kri...@ti.com>
---
 arch/arm/dts/am437x-idk-evm-u-boot.dtsi | 14 ++++++++++++++
 board/ti/am43xx/board.c                 |  5 +++++
 configs/am43xx_evm_defconfig            |  2 ++
 3 files changed, 21 insertions(+)

diff --git a/arch/arm/dts/am437x-idk-evm-u-boot.dtsi 
b/arch/arm/dts/am437x-idk-evm-u-boot.dtsi
index 3aa9195e44..50fe09cfc3 100644
--- a/arch/arm/dts/am437x-idk-evm-u-boot.dtsi
+++ b/arch/arm/dts/am437x-idk-evm-u-boot.dtsi
@@ -9,6 +9,12 @@
        ocp {
                u-boot,dm-spl;
        };
+
+       xtal25mhz: xtal25mhz {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <25000000>;
+       };
 };
 
 &uart0 {
@@ -17,6 +23,14 @@
 
 &i2c0 {
        u-boot,dm-spl;
+
+       cdce913: cdce913@65 {
+               compatible = "ti,cdce913";
+               reg = <0x65>;
+               clocks = <&xtal25mhz>;
+               #clock-cells = <1>;
+               xtal-load-pf = <0>;
+       };
 };
 
 &mmc1 {
diff --git a/board/ti/am43xx/board.c b/board/ti/am43xx/board.c
index 2e09cc20e8..f5ecf871bc 100644
--- a/board/ti/am43xx/board.c
+++ b/board/ti/am43xx/board.c
@@ -720,6 +720,7 @@ static int device_okay(const char *path)
 
 int board_late_init(void)
 {
+       struct udevice *dev;
 #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
        set_board_info_env(NULL);
 
@@ -737,6 +738,10 @@ int board_late_init(void)
        if (device_okay("/ocp/omap_dwc3@483c0000"))
                enable_usb_clocks(1);
 #endif
+
+       /* Just probe the potentially supported cdce913 device */
+       uclass_get_device(UCLASS_CLK, 0, &dev);
+
        return 0;
 }
 #endif
diff --git a/configs/am43xx_evm_defconfig b/configs/am43xx_evm_defconfig
index 7c74047f3a..7367c6952b 100644
--- a/configs/am43xx_evm_defconfig
+++ b/configs/am43xx_evm_defconfig
@@ -78,3 +78,5 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x0403
 CONFIG_USB_GADGET_PRODUCT_NUM=0xbd00
 CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_USB_ETHER=y
+CONFIG_CLK=y
+CONFIG_CLK_CDCE9XX=y
-- 
2.17.1

--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. 
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to