
On 12/03/2012 04:45 PM, Tom Warren wrote:
Common Tegra files are in arch-tegra, shared between T20 and T30. Tegra30-specific headers are in arch-tegra30. Note that some of these will be filled in as more T30 support is added (drivers, WB/LP0 support, etc.). A couple of Tegra20 files were changed to support common headers in arch-tegra, also.
diff --git a/arch/arm/include/asm/arch-tegra/tegra.h b/arch/arm/include/asm/arch-tegra/tegra.h
+/*
- These are used to distinguish SOC types for setting up clocks. Mostly
- we can tell the clocking required by looking at the SOC sku_id, but
- for T30 it is a user option as to whether to run PLLP in fast or slow
- mode, so we have two options there.
- */
enum { TEGRA_SOC_T20, TEGRA_SOC_T25,
- TEGRA_SOC_T30,
- TEGRA_SOC_T30_408MHZ, /* A T30 with faster PLLP */
- TEGRA_SOC2_SLOW, /* T2x needs to run at slow clock initially */
- TEGRA_SOC_COUNT,
- TEGRA_SOC_CNT, TEGRA_SOC_UNKNOWN = -1,
};
Can you remind me why TEGRA_SOC_T30_408MHZ exists; isn't it a SW thing whereas this enum is meant to be identifying the HW?
diff --git a/arch/arm/include/asm/arch-tegra30/funcmux.h b/arch/arm/include/asm/arch-tegra30/funcmux.h
+/* Configs supported by the func mux */ +enum {
- FUNCMUX_DEFAULT = 0, /* default config */
- /* UART configs */
- FUNCMUX_UART1_ULPI = 0,
funcmux isn't going to be remotely useful for Tegra30. There are something like 460 possible ways of muxing out (IIRC) just a 4-pin UART A on Tegra30. That's why when I was defining the proposed ODMDATA2 representation of UART pinmux for the Tegra30 BCT, I didn't have a single enum covering the entire UART configuration, but rather a 4-bit field per signal (RXD, TXD, RTS, CTS) that indicated which of the possible pins to route it to.
Still, I guess having the initial port use funcmux is fine since we only need to support 1 option for now. We'll hopefully just convert it to use the BCT ODMDATA2 format rather quickly.
A similar comment will probably apply to any other peripheral on Tegra30.