diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2014-11-05 15:47:39 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2014-11-05 15:47:39 +0100 |
commit | 7b4cc54579f12cc6c9586e8c21e729dd220e7f45 (patch) | |
tree | 85adc78e0eb782f805113b2b48dd07be6555e532 /arch/arm/boards | |
parent | 254b64520b9a729da496cd8bf637d080de7af5a1 (diff) | |
parent | c202b7c8d9e66082853ac1b131ddcedf53e9ca99 (diff) | |
download | barebox-7b4cc54579f12cc6c9586e8c21e729dd220e7f45.tar.gz barebox-7b4cc54579f12cc6c9586e8c21e729dd220e7f45.tar.xz |
Merge branch 'for-next/tegra'
Diffstat (limited to 'arch/arm/boards')
-rw-r--r-- | arch/arm/boards/nvidia-beaver/board.c | 26 | ||||
-rw-r--r-- | arch/arm/boards/nvidia-jetson-tk1/Makefile | 2 | ||||
-rw-r--r-- | arch/arm/boards/nvidia-jetson-tk1/board.c | 61 | ||||
-rw-r--r-- | arch/arm/boards/toradex-colibri-t20/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/boards/toradex-colibri-t20/board.c | 29 |
5 files changed, 115 insertions, 4 deletions
diff --git a/arch/arm/boards/nvidia-beaver/board.c b/arch/arm/boards/nvidia-beaver/board.c index e87594d5b7..d270301ab3 100644 --- a/arch/arm/boards/nvidia-beaver/board.c +++ b/arch/arm/boards/nvidia-beaver/board.c @@ -15,10 +15,12 @@ */ #include <common.h> -#include <init.h> +#include <dt-bindings/gpio/tegra-gpio.h> +#include <gpio.h> #include <i2c/i2c.h> +#include <init.h> -static int nvidia_beaver_devices_init(void) +static int nvidia_beaver_fs_init(void) { struct i2c_client client; u8 data; @@ -33,6 +35,24 @@ static int nvidia_beaver_devices_init(void) data = 0x65; i2c_write_reg(&client, 0x32, &data, 1); + /* TPS659110: LDO1_REG = 1.05v, ACTIVE to PEX */ + data = 0x15; + i2c_write_reg(&client, 0x30, &data, 1); + + /* enable SYS_3V3_PEXS */ + gpio_direction_output(TEGRA_GPIO(L, 7), 1); + + return 0; +} +fs_initcall(nvidia_beaver_fs_init); + +static int nvidia_beaver_device_init(void) +{ + if (!of_machine_is_compatible("nvidia,beaver")) + return 0; + + barebox_set_hostname("beaver"); + return 0; } -device_initcall(nvidia_beaver_devices_init); +device_initcall(nvidia_beaver_device_init); diff --git a/arch/arm/boards/nvidia-jetson-tk1/Makefile b/arch/arm/boards/nvidia-jetson-tk1/Makefile index f1e46206f8..16b203f9f3 100644 --- a/arch/arm/boards/nvidia-jetson-tk1/Makefile +++ b/arch/arm/boards/nvidia-jetson-tk1/Makefile @@ -3,5 +3,5 @@ CFLAGS_pbl-entry.o := \ -fno-tree-switch-conversion -fno-jump-tables soc := tegra124 lwl-y += entry.o -#obj-y += board.o +obj-y += board.o extra-y += jetson-tk1-2gb-emmc.bct diff --git a/arch/arm/boards/nvidia-jetson-tk1/board.c b/arch/arm/boards/nvidia-jetson-tk1/board.c new file mode 100644 index 0000000000..564e6a0aa1 --- /dev/null +++ b/arch/arm/boards/nvidia-jetson-tk1/board.c @@ -0,0 +1,61 @@ +/* + * Copyright (C) 2014 Lucas Stach <l.stach@pengutronix.de> + * + * This program is free software; you can redistribute it and/or modify it + * under the terms and conditions of the GNU General Public License, + * version 2, as published by the Free Software Foundation. + * + * This program is distributed in the hope it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include <common.h> +#include <dt-bindings/gpio/tegra-gpio.h> +#include <gpio.h> +#include <i2c/i2c.h> +#include <init.h> + +#define AS3722_SD_VOLTAGE(n) (0x00 + (n)) +#define AS3722_GPIO_CONTROL(n) (0x08 + (n)) +#define AS3722_GPIO_CONTROL_MODE_OUTPUT_VDDH (1 << 0) +#define AS3722_GPIO_SIGNAL_OUT 0x20 +#define AS3722_SD_CONTROL 0x4d + +static int nvidia_jetson_tk1_fs_init(void) +{ + struct i2c_client client; + u8 data; + + if (!of_machine_is_compatible("nvidia,jetson-tk1")) + return 0; + + client.adapter = i2c_get_adapter(4); + client.addr = 0x40; + + /* AS3722: enable SD4 and set voltage to 1.05v */ + i2c_read_reg(&client, AS3722_SD_CONTROL, &data, 1); + data |= 1 << 4; + i2c_write_reg(&client, AS3722_SD_CONTROL, &data, 1); + + data = 0x24; + i2c_write_reg(&client, AS3722_SD_VOLTAGE(4), &data, 1); + + return 0; +} +fs_initcall(nvidia_jetson_tk1_fs_init); + +static int nvidia_jetson_tk1_device_init(void) +{ + if (!of_machine_is_compatible("nvidia,jetson-tk1")) + return 0; + + barebox_set_hostname("jetson-tk1"); + + return 0; +} +device_initcall(nvidia_jetson_tk1_device_init); diff --git a/arch/arm/boards/toradex-colibri-t20/Makefile b/arch/arm/boards/toradex-colibri-t20/Makefile index 1f767328fa..d0347f2382 100644 --- a/arch/arm/boards/toradex-colibri-t20/Makefile +++ b/arch/arm/boards/toradex-colibri-t20/Makefile @@ -3,6 +3,7 @@ CFLAGS_pbl-entry.o := \ -fno-tree-switch-conversion -fno-jump-tables soc := tegra20 lwl-y += entry.o +obj-y += board.o extra-y += colibri-t20_256_hsmmc.bct colibri-t20_256_v11_nand.bct \ colibri-t20_256_v12_nand.bct colibri-t20_512_hsmmc.bct \ colibri-t20_512_v11_nand.bct colibri-t20_512_v12_nand.bct
\ No newline at end of file diff --git a/arch/arm/boards/toradex-colibri-t20/board.c b/arch/arm/boards/toradex-colibri-t20/board.c new file mode 100644 index 0000000000..706198105c --- /dev/null +++ b/arch/arm/boards/toradex-colibri-t20/board.c @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2014 Lucas Stach <l.stach@pengutronix.de> + * + * This program is free software; you can redistribute it and/or modify it + * under the terms and conditions of the GNU General Public License, + * version 2, as published by the Free Software Foundation. + * + * This program is distributed in the hope it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include <common.h> +#include <init.h> + +static int toradex_colibri_t20_device_init(void) +{ + if (!of_machine_is_compatible("toradex,colibri_t20-512")) + return 0; + + barebox_set_hostname("colibri-t20"); + + return 0; +} +device_initcall(toradex_colibri_t20_device_init); |