On 01/11/2018 10:06 AM, Adam Ford wrote:
This converts the following to Kconfig:
    CONFIG_SYS_DV_CLKMODE
    CONFIG_SYS_DA850_PLL0_POSTDIV
    CONFIG_SYS_DA850_PLL0_PLLDIV1
    CONFIG_SYS_DA850_PLL0_PLLDIV2
    CONFIG_SYS_DA850_PLL0_PLLDIV3
    CONFIG_SYS_DA850_PLL0_PLLDIV4
    CONFIG_SYS_DA850_PLL0_PLLDIV5
    CONFIG_SYS_DA850_PLL0_PLLDIV7
    CONFIG_SYS_DA850_PLL1_POSTDIV
    CONFIG_SYS_DA850_PLL1_PLLDIV1
    CONFIG_SYS_DA850_PLL1_PLLDIV2
    CONFIG_SYS_DA850_PLL1_PLLDIV3

Signed-off-by: Adam Ford <aford...@gmail.com>
---

This patch is a continuation of Convert CONFIG_SOC_DA8XX et al
This also showed warnings when used with the legoev3_defconfig, however
it seems like the ev3 board was defining things in the header it didn't need
since it doesn't seem to be building da850_lowlevel.c.  I don't have the
hardware to test that board.

I have a whole series of patches cleaning up the LEGO EV3 board and adding
device tree support, but I have been holding off sending because it conflicts
with the changes you have been making. There is quite a bit of stuff there
that was cargo-culted and is going away, including the stuff that is causing
warnings here.


  arch/arm/mach-davinci/Kconfig   | 59 ++++++++++++++++++++++++++++++++++++++++-
  configs/omapl138_lcdk_defconfig |  1 +
  include/configs/calimain.h      | 13 ---------
  include/configs/da850evm.h      | 13 ---------
  include/configs/ipam390.h       | 13 ---------
  include/configs/legoev3.h       | 13 ---------
  include/configs/omapl138_lcdk.h | 13 ---------
  scripts/config_whitelist.txt    | 12 ---------
  8 files changed, 59 insertions(+), 78 deletions(-)

diff --git a/arch/arm/mach-davinci/Kconfig b/arch/arm/mach-davinci/Kconfig
index ae9c0fd..c9c517e 100644
--- a/arch/arm/mach-davinci/Kconfig
+++ b/arch/arm/mach-davinci/Kconfig
@@ -24,7 +24,7 @@ config TARGET_EA20
config TARGET_OMAPL138_LCDK
        bool "OMAPL138 LCDK"
-       select SOC_DA8XX
+       select SOC_DA850
        select SUPPORT_SPL
config TARGET_CALIMAIN
@@ -63,6 +63,63 @@ config SOC_DA8XX
  config MACH_DAVINCI_DA850_EVM
        bool
+if SYS_DA850_PLL_INIT
+comment "DA850 PLL Initialization Parameters"
+
+config SYS_DV_CLKMODE
+       int "SYS_DV_CLKMODE"

Is DV short for DaVinci? If so, please spell it out. If not, please
add a "DA850" prefix like the other parameters and add a description
to explain what this option does.

+       default 0 if SOC_DA850
+
+config SYS_DA850_PLL0_POSTDIV
+       int "SYS_DA850_PLL0_POSTDIV"
+       default 1 if SOC_DA850

All of these POSTDIV parameters don't really seem to me like something
that should be in Kconfig. I think it would be much cleaner to just
define a static array with these values and pass it to the
da850_pll_init() function.

+
+config SYS_DA850_PLL0_PLLDIV1
+       hex "SYS_DA850_PLL0_PLLDIV1"
+       default 0x8000 if SOC_DA850
+
+config SYS_DA850_PLL0_PLLDIV2
+       hex "SYS_DA850_PLL0_PLLDIV2"
+       default 0x8001 if SOC_DA850
+
+config SYS_DA850_PLL0_PLLDIV3
+       hex "SYS_DA850_PLL0_PLLDIV3"
+       default 0x8002 if SOC_DA850
+
+config SYS_DA850_PLL0_PLLDIV4
+       hex "SYS_DA850_PLL0_PLLDIV4"
+       default 0x8003 if SOC_DA850
+
+config SYS_DA850_PLL0_PLLDIV5
+       hex "SYS_DA850_PLL0_PLLDIV5"
+       default 0x8002 if SOC_DA850
+
+config SYS_DA850_PLL0_PLLDIV7
+       hex "SYS_DA850_PLL0_PLLDIV7"
+       default 0x8005 if SOC_DA850
+
+config SYS_DA850_PLL1_POSTDIV
+       hex "SYS_DA850_PLL1_POSTDIV"
+       default 1 if SOC_DA850
+
+config SYS_DA850_PLL1_PLLDIV1
+       hex "SYS_DA850_PLL1_PLLDIV1"
+       default 0x8000 if SOC_DA850
+
+config SYS_DA850_PLL1_PLLDIV2
+       hex "SYS_DA850_PLL1_PLLDIV2"
+       default 0x8001 if SOC_DA850
+
+config SYS_DA850_PLL1_PLLDIV3
+       hex "SYS_DA850_PLL1_PLLDIV3"
+       default 0x8002 if SOC_DA850
+
+config SYS_DA850_PLL1_PLLM
+       int
+       default 21 if SOC_DA850
+
+endif
+

If all of these really need to be Kconfig options, they need explanations
of what the values mean, for example, 0x8002 means that you are setting
the enable bit at bit 15 and you are setting the divider value to divide
by 3 because the register value is one less than the actual value.

  source "board/Barix/ipam390/Kconfig"
  source "board/davinci/da8xxevm/Kconfig"
  source "board/davinci/ea20/Kconfig"
diff --git a/configs/omapl138_lcdk_defconfig b/configs/omapl138_lcdk_defconfig
index 8d6b12f..2498126 100644
--- a/configs/omapl138_lcdk_defconfig
+++ b/configs/omapl138_lcdk_defconfig
@@ -1,6 +1,7 @@
  CONFIG_ARM=y
  CONFIG_ARCH_DAVINCI=y
  CONFIG_TARGET_OMAPL138_LCDK=y
+CONFIG_SYS_DA850_PLL1_PLLDIV3=0x8003
  CONFIG_TI_COMMON_CMD_OPTIONS=y
  CONFIG_SPL_LIBCOMMON_SUPPORT=y
  CONFIG_SPL_LIBGENERIC_SUPPORT=y
diff --git a/include/configs/calimain.h b/include/configs/calimain.h
index 7dfc1fa..8605487 100644
--- a/include/configs/calimain.h
+++ b/include/configs/calimain.h
@@ -39,20 +39,7 @@
  /*
   * PLL configuration
   */
-#define CONFIG_SYS_DV_CLKMODE          0
-#define CONFIG_SYS_DA850_PLL0_POSTDIV  1
-#define CONFIG_SYS_DA850_PLL0_PLLDIV1  0x8000
-#define CONFIG_SYS_DA850_PLL0_PLLDIV2  0x8001
-#define CONFIG_SYS_DA850_PLL0_PLLDIV3  0x8002
-#define CONFIG_SYS_DA850_PLL0_PLLDIV4  0x8003
-#define CONFIG_SYS_DA850_PLL0_PLLDIV5  0x8002
  #define CONFIG_SYS_DA850_PLL0_PLLDIV6  CONFIG_SYS_DA850_PLL0_PLLDIV1
-#define CONFIG_SYS_DA850_PLL0_PLLDIV7  0x8005
-
-#define CONFIG_SYS_DA850_PLL1_POSTDIV  1
-#define CONFIG_SYS_DA850_PLL1_PLLDIV1  0x8000
-#define CONFIG_SYS_DA850_PLL1_PLLDIV2  0x8001
-#define CONFIG_SYS_DA850_PLL1_PLLDIV3  0x8002
#define CONFIG_SYS_DA850_PLL0_PLLM \
        ((calimain_get_osc_freq() == 25000000) ? 23 : 24)
diff --git a/include/configs/da850evm.h b/include/configs/da850evm.h
index 5159a6f..a356871 100644
--- a/include/configs/da850evm.h
+++ b/include/configs/da850evm.h
@@ -74,20 +74,7 @@
  /*
   * PLL configuration
   */
-#define CONFIG_SYS_DV_CLKMODE          0
-#define CONFIG_SYS_DA850_PLL0_POSTDIV  1
-#define CONFIG_SYS_DA850_PLL0_PLLDIV1  0x8000
-#define CONFIG_SYS_DA850_PLL0_PLLDIV2  0x8001
-#define CONFIG_SYS_DA850_PLL0_PLLDIV3  0x8002
-#define CONFIG_SYS_DA850_PLL0_PLLDIV4  0x8003
-#define CONFIG_SYS_DA850_PLL0_PLLDIV5  0x8002
  #define CONFIG_SYS_DA850_PLL0_PLLDIV6  CONFIG_SYS_DA850_PLL0_PLLDIV1
-#define CONFIG_SYS_DA850_PLL0_PLLDIV7  0x8005
-
-#define CONFIG_SYS_DA850_PLL1_POSTDIV  1
-#define CONFIG_SYS_DA850_PLL1_PLLDIV1  0x8000
-#define CONFIG_SYS_DA850_PLL1_PLLDIV2  0x8001
-#define CONFIG_SYS_DA850_PLL1_PLLDIV3  0x8002
#define CONFIG_SYS_DA850_PLL0_PLLM 24
  #define CONFIG_SYS_DA850_PLL1_PLLM     21
diff --git a/include/configs/ipam390.h b/include/configs/ipam390.h
index 618bf72..e66c008 100644
--- a/include/configs/ipam390.h
+++ b/include/configs/ipam390.h
@@ -56,20 +56,7 @@
  /*
   * PLL configuration
   */
-#define CONFIG_SYS_DV_CLKMODE          0
-#define CONFIG_SYS_DA850_PLL0_POSTDIV  1
-#define CONFIG_SYS_DA850_PLL0_PLLDIV1  0x8000
-#define CONFIG_SYS_DA850_PLL0_PLLDIV2  0x8001
-#define CONFIG_SYS_DA850_PLL0_PLLDIV3  0x8002
-#define CONFIG_SYS_DA850_PLL0_PLLDIV4  0x8003
-#define CONFIG_SYS_DA850_PLL0_PLLDIV5  0x8002
  #define CONFIG_SYS_DA850_PLL0_PLLDIV6  CONFIG_SYS_DA850_PLL0_PLLDIV1
-#define CONFIG_SYS_DA850_PLL0_PLLDIV7  0x8005
-
-#define CONFIG_SYS_DA850_PLL1_POSTDIV  1
-#define CONFIG_SYS_DA850_PLL1_PLLDIV1  0x8000
-#define CONFIG_SYS_DA850_PLL1_PLLDIV2  0x8001
-#define CONFIG_SYS_DA850_PLL1_PLLDIV3  0x8002
#define CONFIG_SYS_DA850_PLL0_PLLM 24
  #define CONFIG_SYS_DA850_PLL1_PLLM     24
diff --git a/include/configs/legoev3.h b/include/configs/legoev3.h
index 105429b..26376a8 100644
--- a/include/configs/legoev3.h
+++ b/include/configs/legoev3.h
@@ -52,20 +52,7 @@
  /*
   * PLL configuration
   */
-#define CONFIG_SYS_DV_CLKMODE          0
-#define CONFIG_SYS_DA850_PLL0_POSTDIV  1
-#define CONFIG_SYS_DA850_PLL0_PLLDIV1  0x8000
-#define CONFIG_SYS_DA850_PLL0_PLLDIV2  0x8001
-#define CONFIG_SYS_DA850_PLL0_PLLDIV3  0x8002
-#define CONFIG_SYS_DA850_PLL0_PLLDIV4  0x8003
-#define CONFIG_SYS_DA850_PLL0_PLLDIV5  0x8002
  #define CONFIG_SYS_DA850_PLL0_PLLDIV6  CONFIG_SYS_DA850_PLL0_PLLDIV1
-#define CONFIG_SYS_DA850_PLL0_PLLDIV7  0x8005
-
-#define CONFIG_SYS_DA850_PLL1_POSTDIV  1
-#define CONFIG_SYS_DA850_PLL1_PLLDIV1  0x8000
-#define CONFIG_SYS_DA850_PLL1_PLLDIV2  0x8001
-#define CONFIG_SYS_DA850_PLL1_PLLDIV3  0x8002
#define CONFIG_SYS_DA850_PLL0_PLLM 24
  #define CONFIG_SYS_DA850_PLL1_PLLM     21
diff --git a/include/configs/omapl138_lcdk.h b/include/configs/omapl138_lcdk.h
index 570322e..1ad176e 100644
--- a/include/configs/omapl138_lcdk.h
+++ b/include/configs/omapl138_lcdk.h
@@ -58,20 +58,7 @@
  /*
   * PLL configuration
   */
-#define CONFIG_SYS_DV_CLKMODE          0
-#define CONFIG_SYS_DA850_PLL0_POSTDIV  1
-#define CONFIG_SYS_DA850_PLL0_PLLDIV1  0x8000
-#define CONFIG_SYS_DA850_PLL0_PLLDIV2  0x8001
-#define CONFIG_SYS_DA850_PLL0_PLLDIV3  0x8002
-#define CONFIG_SYS_DA850_PLL0_PLLDIV4  0x8003
-#define CONFIG_SYS_DA850_PLL0_PLLDIV5  0x8002
  #define CONFIG_SYS_DA850_PLL0_PLLDIV6  CONFIG_SYS_DA850_PLL0_PLLDIV1
-#define CONFIG_SYS_DA850_PLL0_PLLDIV7  0x8005
-
-#define CONFIG_SYS_DA850_PLL1_POSTDIV  1
-#define CONFIG_SYS_DA850_PLL1_PLLDIV1  0x8000
-#define CONFIG_SYS_DA850_PLL1_PLLDIV2  0x8001
-#define CONFIG_SYS_DA850_PLL1_PLLDIV3  0x8003
#define CONFIG_SYS_DA850_PLL0_PLLM 37
  #define CONFIG_SYS_DA850_PLL1_PLLM     21
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
index 7e99a7a..c9955a3 100644
--- a/scripts/config_whitelist.txt
+++ b/scripts/config_whitelist.txt
@@ -2478,21 +2478,10 @@ CONFIG_SYS_DA850_DDR2_SDBCR2
  CONFIG_SYS_DA850_DDR2_SDRCR
  CONFIG_SYS_DA850_DDR2_SDTIMR
  CONFIG_SYS_DA850_DDR2_SDTIMR2
-CONFIG_SYS_DA850_PLL0_PLLDIV1
-CONFIG_SYS_DA850_PLL0_PLLDIV2
-CONFIG_SYS_DA850_PLL0_PLLDIV3
-CONFIG_SYS_DA850_PLL0_PLLDIV4
-CONFIG_SYS_DA850_PLL0_PLLDIV5
  CONFIG_SYS_DA850_PLL0_PLLDIV6
-CONFIG_SYS_DA850_PLL0_PLLDIV7
  CONFIG_SYS_DA850_PLL0_PLLM
-CONFIG_SYS_DA850_PLL0_POSTDIV
  CONFIG_SYS_DA850_PLL0_PREDIV
-CONFIG_SYS_DA850_PLL1_PLLDIV1
-CONFIG_SYS_DA850_PLL1_PLLDIV2
-CONFIG_SYS_DA850_PLL1_PLLDIV3
  CONFIG_SYS_DA850_PLL1_PLLM
-CONFIG_SYS_DA850_PLL1_POSTDIV
  CONFIG_SYS_DA850_SYSCFG_SUSPSRC
  CONFIG_SYS_DAVINCI_EMAC_PHY_COUNT
  CONFIG_SYS_DAVINCI_I2C_SLAVE
@@ -2735,7 +2724,6 @@ CONFIG_SYS_DSPI_CTAR4
  CONFIG_SYS_DSPI_CTAR5
  CONFIG_SYS_DSPI_CTAR6
  CONFIG_SYS_DSPI_CTAR7
-CONFIG_SYS_DV_CLKMODE
  CONFIG_SYS_DV_NOR_BOOT_CFG
  CONFIG_SYS_EBI_CFGR_VAL
  CONFIG_SYS_EBI_CSA_VAL


So, to sum up. Basically, this looks fine other than the lack of
descriptions in the Kconfig. But, I don't think this stuff should
have been implemented using config options in the first place. I
would rather see da850_lowlevel.c get cleaned up to be more generic
and pass stuff as function parameters rather than using config
macros. But, since LEGO EV3 doesn't use any of this, it won't
really make a difference to me either way.

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to