[U-Boot] [PATCH V2 1/2] ARM: tegra: Add e2220-1170 board

2015-07-29 Thread Stephen Warren
From: Stephen Warren 

Signed-off-by: Stephen Warren 
---
v2: Use named constants for PMIC I2C and register addresses.
---
 arch/arm/dts/Makefile  |   1 +
 arch/arm/dts/tegra210-e2220-1170.dts   |  58 +
 arch/arm/mach-tegra/tegra210/Kconfig   |   6 +
 board/nvidia/e2220-1170/Kconfig|  12 +
 board/nvidia/e2220-1170/MAINTAINERS|   6 +
 board/nvidia/e2220-1170/Makefile   |   8 +
 board/nvidia/e2220-1170/e2220-1170.c   |  51 
 board/nvidia/e2220-1170/pinmux-config-e2220-1170.h | 269 +
 configs/e2220-1170_defconfig   |  16 ++
 include/configs/e2220-1170.h   |  72 ++
 10 files changed, 499 insertions(+)
 create mode 100644 arch/arm/dts/tegra210-e2220-1170.dts
 create mode 100644 board/nvidia/e2220-1170/Kconfig
 create mode 100644 board/nvidia/e2220-1170/MAINTAINERS
 create mode 100644 board/nvidia/e2220-1170/Makefile
 create mode 100644 board/nvidia/e2220-1170/e2220-1170.c
 create mode 100644 board/nvidia/e2220-1170/pinmux-config-e2220-1170.h
 create mode 100644 configs/e2220-1170_defconfig
 create mode 100644 include/configs/e2220-1170.h

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index ba6355379cba..d8e1841eb4d8 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -33,6 +33,7 @@ dtb-$(CONFIG_TEGRA) += tegra20-harmony.dtb \
tegra124-jetson-tk1.dtb \
tegra124-nyan-big.dtb \
tegra124-venice2.dtb \
+   tegra210-e2220-1170.dtb \
tegra210-p2571.dtb
 dtb-$(CONFIG_ARCH_UNIPHIER) += \
uniphier-ph1-sld3-ref.dtb \
diff --git a/arch/arm/dts/tegra210-e2220-1170.dts 
b/arch/arm/dts/tegra210-e2220-1170.dts
new file mode 100644
index ..75efbba1061e
--- /dev/null
+++ b/arch/arm/dts/tegra210-e2220-1170.dts
@@ -0,0 +1,58 @@
+/dts-v1/;
+
+#include "tegra210.dtsi"
+
+/ {
+   model = "NVIDIA E2220-1170";
+   compatible = "nvidia,e2220-1170", "nvidia,tegra210";
+
+   chosen {
+   stdout-path = &uarta;
+   };
+
+   aliases {
+   i2c0 = "/i2c@0,7000d000";
+   sdhci0 = "/sdhci@0,700b0600";
+   sdhci1 = "/sdhci@0,700b";
+   usb0 = "/usb@0,7d00";
+   };
+
+   memory {
+   reg = <0x0 0x8000 0x0 0xc000>;
+   };
+
+   sdhci@0,700b {
+   status = "okay";
+   cd-gpios = <&gpio TEGRA_GPIO(Z, 1) GPIO_ACTIVE_LOW>;
+   power-gpios = <&gpio TEGRA_GPIO(Z, 4) GPIO_ACTIVE_HIGH>;
+   bus-width = <4>;
+   };
+
+   sdhci@0,700b0600 {
+   status = "okay";
+   bus-width = <8>;
+   };
+
+   i2c@0,7000d000 {
+   status = "okay";
+   clock-frequency = <40>;
+   };
+
+   usb@0,7d00 {
+   status = "okay";
+   dr_mode = "peripheral";
+   };
+
+   clocks {
+   compatible = "simple-bus";
+   #address-cells = <1>;
+   #size-cells = <0>;
+
+   clk32k_in: clock@0 {
+   compatible = "fixed-clock";
+   reg = <0>;
+   #clock-cells = <0>;
+   clock-frequency = <32768>;
+   };
+   };
+};
diff --git a/arch/arm/mach-tegra/tegra210/Kconfig 
b/arch/arm/mach-tegra/tegra210/Kconfig
index 147e6a83d722..9633ba8c629e 100644
--- a/arch/arm/mach-tegra/tegra210/Kconfig
+++ b/arch/arm/mach-tegra/tegra210/Kconfig
@@ -3,6 +3,11 @@ if TEGRA210
 choice
prompt "Tegra210 board select"
 
+config TARGET_E2220_1170
+   bool "NVIDIA Tegra210 E2220-1170 base board"
+   help
+ E2220-1170 ERS
+
 config TARGET_P2571
bool "NVIDIA Tegra210 P2571 base board"
help
@@ -13,6 +18,7 @@ endchoice
 config SYS_SOC
default "tegra210"
 
+source "board/nvidia/e2220-1170/Kconfig"
 source "board/nvidia/p2571/Kconfig"
 
 endif
diff --git a/board/nvidia/e2220-1170/Kconfig b/board/nvidia/e2220-1170/Kconfig
new file mode 100644
index ..0a30f4936223
--- /dev/null
+++ b/board/nvidia/e2220-1170/Kconfig
@@ -0,0 +1,12 @@
+if TARGET_E2220_1170
+
+config SYS_BOARD
+   default "e2220-1170"
+
+config SYS_VENDOR
+   default "nvidia"
+
+config SYS_CONFIG_NAME
+   default "e2220-1170"
+
+endif
diff --git a/board/nvidia/e2220-1170/MAINTAINERS 
b/board/nvidia/e2220-1170/MAINTAINERS
new file mode 100644
index ..0abb37884018
--- /dev/null
+++ b/board/nvidia/e2220-1170/MAINTAINERS
@@ -0,0 +1,6 @@
+E2220-1170 BOARD
+M: Tom Warren 
+S: Maintained
+F: board/nvidia/e2220-1170/
+F: include/configs/e2220-1170.h
+F: configs/e2220-1170_defconfig
diff --git a/board/nvidia/e2220-1170/Makefile b/board/nvidia/e2220-1170/Makefile
new file mode 100644
index ..c956b1972deb
--- /dev/null
+++ b/board/nvidia/e2220-1170/Makefile
@@ -0,0 +1,8 @@
+#

Re: [U-Boot] [PATCH V2 1/2] ARM: tegra: Add e2220-1170 board

2015-07-29 Thread Tom Warren
> -Original Message-
> From: Stephen Warren [mailto:swar...@wwwdotorg.org]
> Sent: Wednesday, July 29, 2015 1:17 PM
> To: u-boot@lists.denx.de; Simon Glass; Tom Warren; Stephen Warren
> Cc: Thierry Reding
> Subject: [PATCH V2 1/2] ARM: tegra: Add e2220-1170 board
> 
> From: Stephen Warren 
> 
> Signed-off-by: Stephen Warren 
> ---
> v2: Use named constants for PMIC I2C and register addresses.
> ---
>  arch/arm/dts/Makefile  |   1 +
>  arch/arm/dts/tegra210-e2220-1170.dts   |  58 +
>  arch/arm/mach-tegra/tegra210/Kconfig   |   6 +
>  board/nvidia/e2220-1170/Kconfig|  12 +
>  board/nvidia/e2220-1170/MAINTAINERS|   6 +
>  board/nvidia/e2220-1170/Makefile   |   8 +
>  board/nvidia/e2220-1170/e2220-1170.c   |  51 
>  board/nvidia/e2220-1170/pinmux-config-e2220-1170.h | 269
> +
>  configs/e2220-1170_defconfig   |  16 ++
>  include/configs/e2220-1170.h   |  72 ++
>  10 files changed, 499 insertions(+)
>  create mode 100644 arch/arm/dts/tegra210-e2220-1170.dts
>  create mode 100644 board/nvidia/e2220-1170/Kconfig  create mode 100644
> board/nvidia/e2220-1170/MAINTAINERS
>  create mode 100644 board/nvidia/e2220-1170/Makefile  create mode 100644
> board/nvidia/e2220-1170/e2220-1170.c
>  create mode 100644 board/nvidia/e2220-1170/pinmux-config-e2220-1170.h
>  create mode 100644 configs/e2220-1170_defconfig  create mode 100644
> include/configs/e2220-1170.h
> 
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index
> ba6355379cba..d8e1841eb4d8 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -33,6 +33,7 @@ dtb-$(CONFIG_TEGRA) += tegra20-harmony.dtb \
>   tegra124-jetson-tk1.dtb \
>   tegra124-nyan-big.dtb \
>   tegra124-venice2.dtb \
> + tegra210-e2220-1170.dtb \
>   tegra210-p2571.dtb
>  dtb-$(CONFIG_ARCH_UNIPHIER) += \
>   uniphier-ph1-sld3-ref.dtb \
> diff --git a/arch/arm/dts/tegra210-e2220-1170.dts b/arch/arm/dts/tegra210-
> e2220-1170.dts
> new file mode 100644
> index ..75efbba1061e
> --- /dev/null
> +++ b/arch/arm/dts/tegra210-e2220-1170.dts
> @@ -0,0 +1,58 @@
> +/dts-v1/;
> +
> +#include "tegra210.dtsi"
> +
> +/ {
> + model = "NVIDIA E2220-1170";
> + compatible = "nvidia,e2220-1170", "nvidia,tegra210";
> +
> + chosen {
> + stdout-path = &uarta;
> + };
> +
> + aliases {
> + i2c0 = "/i2c@0,7000d000";
> + sdhci0 = "/sdhci@0,700b0600";
> + sdhci1 = "/sdhci@0,700b";
> + usb0 = "/usb@0,7d00";
> + };
> +
> + memory {
> + reg = <0x0 0x8000 0x0 0xc000>;
> + };
> +
> + sdhci@0,700b {
> + status = "okay";
> + cd-gpios = <&gpio TEGRA_GPIO(Z, 1) GPIO_ACTIVE_LOW>;
> + power-gpios = <&gpio TEGRA_GPIO(Z, 4)
> GPIO_ACTIVE_HIGH>;
> + bus-width = <4>;
> + };
> +
> + sdhci@0,700b0600 {
> + status = "okay";
> + bus-width = <8>;
> + };
> +
> + i2c@0,7000d000 {
> + status = "okay";
> + clock-frequency = <40>;
> + };
> +
> + usb@0,7d00 {
> + status = "okay";
> + dr_mode = "peripheral";
> + };
> +
> + clocks {
> + compatible = "simple-bus";
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + clk32k_in: clock@0 {
> + compatible = "fixed-clock";
> + reg = <0>;
> + #clock-cells = <0>;
> + clock-frequency = <32768>;
> + };
> + };
> +};
> diff --git a/arch/arm/mach-tegra/tegra210/Kconfig b/arch/arm/mach-
> tegra/tegra210/Kconfig
> index 147e6a83d722..9633ba8c629e 100644
> --- a/arch/arm/mach-tegra/tegra210/Kconfig
> +++ b/arch/arm/mach-tegra/tegra210/Kconfig
> @@ -3,6 +3,11 @@ if TEGRA210
>  choice
>   prompt "Tegra210 board select"
> 
> +config TARGET_E2220_1170
> + bool "NVIDIA Tegra210 E2220-1170 base board"
> + help
> +   E2220-1170 ERS
> +
>  config TARGET_P2571
>   bool "NVIDIA Tegra210 P2571 base board"
>   help
> @@ -13,6 +18,7 @@ endchoice
>  config SYS_SOC
>   default "tegra210"
> 
> +source "board/nvidia/e2220-1170/Kconfig"
>  source "board/nvidia/p2571/Kconfig"
> 
>  endif
> diff --git a/board/nvidia/e2220-1170/Kconfig b/board/nvidia/e2220-
> 1170/Kconfig new file mode 100644 index ..0a30f4936223
> --- /dev/null
> +++ b/board/nvidia/e2220-1170/Kconfig
> @@ -0,0 +1,12 @@
> +if TARGET_E2220_1170
> +
> +config SYS_BOARD
> + default "e2220-1170"
> +
> +config SYS_VENDOR
> + default "nvidia"
> +
> +config SYS_CONFIG_NAME
> + default "e2220-1170"
> +
> +endif
> diff --git a/board/nvidia/e2220-1170/MAINTAINERS b/board/nvidia/e2220-
> 1170/MAINTAINERS
> new file mode 100644
> index