From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Date: Mon, 18 Aug 2014 09:16:30 +0200 Subject: [U-Boot] [PATCH 17/23] ARM: tegra: Enable PCIe on TrimSlice In-Reply-To: <1408346196-30419-1-git-send-email-thierry.reding@gmail.com> References: <1408346196-30419-1-git-send-email-thierry.reding@gmail.com> Message-ID: <1408346196-30419-18-git-send-email-thierry.reding@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de From: Thierry Reding The TrimSlice has an ethernet NIC connected to the PCIe bus. Enable the PCIe controller and the network driver so that the device can boot over the network. Signed-off-by: Thierry Reding --- arch/arm/dts/tegra20-trimslice.dts | 35 +++++++++++++++++++++++++++++++++++ board/compulab/trimslice/trimslice.c | 8 ++++++++ include/configs/trimslice.h | 10 ++++++++++ 3 files changed, 53 insertions(+) diff --git a/arch/arm/dts/tegra20-trimslice.dts b/arch/arm/dts/tegra20-trimslice.dts index ee31476c1eb8..298a0379c591 100644 --- a/arch/arm/dts/tegra20-trimslice.dts +++ b/arch/arm/dts/tegra20-trimslice.dts @@ -42,6 +42,16 @@ status = "disabled"; }; + pcie-controller { + status = "okay"; + pex-clk-supply = <&pci_clk_reg>; + vdd-supply = <&pci_vdd_reg>; + + pci at 1,0 { + status = "okay"; + }; + }; + usb at c5000000 { nvidia,vbus-gpio = <&gpio 170 0>; /* PV2 */ }; @@ -61,4 +71,29 @@ wp-gpios = <&gpio 122 0>; /* gpio PP2 */ bus-width = <4>; }; + + regulators { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <0>; + + pci_clk_reg: regulator at 3 { + compatible = "regulator-fixed"; + reg = <3>; + regulator-name = "pci_clk"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + pci_vdd_reg: regulator at 4 { + compatible = "regulator-fixed"; + reg = <4>; + regulator-name = "pci_vdd"; + regulator-min-microvolt = <1050000>; + regulator-max-microvolt = <1050000>; + regulator-always-on; + }; + }; + }; diff --git a/board/compulab/trimslice/trimslice.c b/board/compulab/trimslice/trimslice.c index 723293fef35a..c9da80d5eb1c 100644 --- a/board/compulab/trimslice/trimslice.c +++ b/board/compulab/trimslice/trimslice.c @@ -13,6 +13,7 @@ #include #include #include +#include void pin_mux_usb(void) { @@ -40,3 +41,10 @@ void pin_mux_mmc(void) /* For CD GPIO PP1 */ pinmux_tristate_disable(PMUX_PINGRP_DAP3); } + +#ifdef CONFIG_PCI +int board_eth_init(bd_t *bis) +{ + return pci_eth_init(bis); +} +#endif diff --git a/include/configs/trimslice.h b/include/configs/trimslice.h index f81cfa2e354d..285dc7a9e660 100644 --- a/include/configs/trimslice.h +++ b/include/configs/trimslice.h @@ -68,6 +68,16 @@ #define CONFIG_USB_HOST_ETHER #define CONFIG_USB_ETHER_ASIX +/* PCI host support */ +#define CONFIG_PCI +#define CONFIG_PCI_TEGRA +#define CONFIG_PCI_PNP +#define CONFIG_CMD_PCI +#define CONFIG_CMD_PCI_ENUM + +/* PCI networking support */ +#define CONFIG_RTL8169 + /* General networking support */ #define CONFIG_CMD_NET #define CONFIG_CMD_DHCP -- 2.0.4