board: ti: am57xx-idk: Configure the CDCE913 clock synthesizer
authorTero Kristo <t-kristo@ti.com>
Fri, 27 Sep 2019 16:14:27 +0000 (19:14 +0300)
committerTom Rini <trini@konsulko.com>
Fri, 11 Oct 2019 17:32:39 +0000 (13:32 -0400)
AM57xx-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-kristo@ti.com>
arch/arm/dts/am571x-idk-u-boot.dtsi [new file with mode: 0644]
arch/arm/dts/am572x-idk-u-boot.dtsi [new file with mode: 0644]
arch/arm/dts/am574x-idk-u-boot.dtsi [new file with mode: 0644]
arch/arm/dts/am57xx-idk-common-u-boot.dtsi [new file with mode: 0644]
board/ti/am57xx/board.c
configs/am57xx_evm_defconfig

diff --git a/arch/arm/dts/am571x-idk-u-boot.dtsi b/arch/arm/dts/am571x-idk-u-boot.dtsi
new file mode 100644 (file)
index 0000000..6519920
--- /dev/null
@@ -0,0 +1,5 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/
+ */
+#include "am57xx-idk-common-u-boot.dtsi"
diff --git a/arch/arm/dts/am572x-idk-u-boot.dtsi b/arch/arm/dts/am572x-idk-u-boot.dtsi
new file mode 100644 (file)
index 0000000..6519920
--- /dev/null
@@ -0,0 +1,5 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/
+ */
+#include "am57xx-idk-common-u-boot.dtsi"
diff --git a/arch/arm/dts/am574x-idk-u-boot.dtsi b/arch/arm/dts/am574x-idk-u-boot.dtsi
new file mode 100644 (file)
index 0000000..6519920
--- /dev/null
@@ -0,0 +1,5 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/
+ */
+#include "am57xx-idk-common-u-boot.dtsi"
diff --git a/arch/arm/dts/am57xx-idk-common-u-boot.dtsi b/arch/arm/dts/am57xx-idk-common-u-boot.dtsi
new file mode 100644 (file)
index 0000000..b07aea0
--- /dev/null
@@ -0,0 +1,23 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/
+ */
+#include "omap5-u-boot.dtsi"
+
+/ {
+       xtal25mhz: xtal25mhz {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <25000000>;
+       };
+};
+
+&i2c1 {
+       cdce913: cdce913@65 {
+               compatible = "ti,cdce913";
+               reg = <0x65>;
+               clocks = <&xtal25mhz>;
+               #clock-cells = <1>;
+               xtal-load-pf = <0>;
+       };
+};
index f78e6c2e1f6e2706aca87444000d26ea09720621..237a834c53758c0fc4788656be8d4e13abd06a23 100644 (file)
@@ -30,6 +30,7 @@
 #include <dwc3-omap-uboot.h>
 #include <ti-usb-phy-uboot.h>
 #include <mmc.h>
+#include <dm/uclass.h>
 
 #include "../common/board_detect.h"
 #include "mux_data.h"
@@ -689,6 +690,7 @@ int board_late_init(void)
 {
        setup_board_eeprom_env();
        u8 val;
+       struct udevice *dev;
 
        /*
         * DEV_CTRL.DEV_ON = 1 please - else palmas switches off in 8 seconds
@@ -720,6 +722,9 @@ int board_late_init(void)
 
        am57x_idk_lcd_detect();
 
+       /* Just probe the potentially supported cdce913 device */
+       uclass_get_device(UCLASS_CLK, 0, &dev);
+
 #if !defined(CONFIG_SPL_BUILD)
        board_ti_set_ethaddr(2);
 #endif
index 3b613e135ce541fcc33d250d5cfe4294ee80f21f..e2f558cde7435b7cbbc3ade57f3eb443bb950730 100644 (file)
@@ -98,3 +98,5 @@ CONFIG_USB_GADGET=y
 CONFIG_USB_GADGET_MANUFACTURER="Texas Instruments"
 CONFIG_USB_GADGET_VENDOR_NUM=0x0451
 CONFIG_USB_GADGET_PRODUCT_NUM=0xd022
+CONFIG_CLK=y
+CONFIG_CLK_CDCE9XX=y