dts: Bring in Chrome OS keyboard device tree definition
Subsystems (5)
PATCH v3 1/4 dts: Bring in Chrome OS keyboard device tree definition
This will be used by nyan, but bring it in in a separate patch since it will be common to other boards.
---
Changes in v3:
- Add patch to bring in cros-ec-keyboard.dtsi
Changes in v2: None
arch/arm/dts/cros-ec-keyboard.dtsi | 105 +++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 arch/arm/dts/cros-ec-keyboard.dtsi
arch/arm/dts/cros-ec-keyboard.dtsi new file +105 -0
@@ -0,0 +1,105 @@ +/* + * Keyboard dts fragment for devices that use cros-ec-keyboard + * + * Copyright (c) 2014 Google, Inc + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#include <dt-bindings/input/input.h> + +&cros_ec { + keyboard-controller { + compatible = "google,cros-ec-keyb"; + keypad,num-rows = <8>; + keypad,num-columns = <13>; + google,needs-ghost-filter; + + linux,keymap = < + MATRIX_KEY(0x00, 0x01, KEY_LEFTMETA) + MATRIX_KEY(0x00, 0x02, KEY_F1) + MATRIX_KEY(0x00, 0x03, KEY_B) + MATRIX_KEY(0x00, 0x04, KEY_F10) + MATRIX_KEY(0x00, 0x06, KEY_N) + MATRIX_KEY(0x00, 0x08, KEY_EQUAL) + MATRIX_KEY(0x00, 0x0a, KEY_RIGHTALT) + + MATRIX_KEY(0x01, 0x01, KEY_ESC) + MATRIX_KEY(0x01, 0x02, KEY_F4) + MATRIX_KEY(0x01, 0x03, KEY_G) + MATRIX_KEY(0x01, 0x04, KEY_F7) + MATRIX_KEY(0x01, 0x06, KEY_H) + MATRIX_KEY(0x01, 0x08, KEY_APOSTROPHE) + MATRIX_KEY(0x01, 0x09, KEY_F9) + MATRIX_KEY(0x01, 0x0b, KEY_BACKSPACE) + + MATRIX_KEY(0x02, 0x00, KEY_LEFTCTRL) + MATRIX_KEY(0x02, 0x01, KEY_TAB) + MATRIX_KEY(0x02, 0x02, KEY_F3) + MATRIX_KEY(0x02, 0x03, KEY_T) + MATRIX_KEY(0x02, 0x04, KEY_F6) + MATRIX_KEY(0x02, 0x05, KEY_RIGHTBRACE) + MATRIX_KEY(0x02, 0x06, KEY_Y) + MATRIX_KEY(0x02, 0x07, KEY_102ND) + MATRIX_KEY(0x02, 0x08, KEY_LEFTBRACE) + MATRIX_KEY(0x02, 0x09, KEY_F8) + + MATRIX_KEY(0x03, 0x01, KEY_GRAVE) + MATRIX_KEY(0x03, 0x02, KEY_F2) + MATRIX_KEY(0x03, 0x03, KEY_5) + MATRIX_KEY(0x03, 0x04, KEY_F5) + MATRIX_KEY(0x03, 0x06, KEY_6) + MATRIX_KEY(0x03, 0x08, KEY_MINUS) + MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH) + + MATRIX_KEY(0x04, 0x00, KEY_RIGHTCTRL) + MATRIX_KEY(0x04, 0x01, KEY_A) + MATRIX_KEY(0x04, 0x02, KEY_D) + MATRIX_KEY(0x04, 0x03, KEY_F) + MATRIX_KEY(0x04, 0x04, KEY_S) + MATRIX_KEY(0x04, 0x05, KEY_K) + MATRIX_KEY(0x04, 0x06, KEY_J) + MATRIX_KEY(0x04, 0x08, KEY_SEMICOLON) + MATRIX_KEY(0x04, 0x09, KEY_L) + MATRIX_KEY(0x04, 0x0a, KEY_BACKSLASH) + MATRIX_KEY(0x04, 0x0b, KEY_ENTER) + + MATRIX_KEY(0x05, 0x01, KEY_Z) + MATRIX_KEY(0x05, 0x02, KEY_C) + MATRIX_KEY(0x05, 0x03, KEY_V) + MATRIX_KEY(0x05, 0x04, KEY_X) + MATRIX_KEY(0x05, 0x05, KEY_COMMA) + MATRIX_KEY(0x05, 0x06, KEY_M) + MATRIX_KEY(0x05, 0x07, KEY_LEFTSHIFT) + MATRIX_KEY(0x05, 0x08, KEY_SLASH) + MATRIX_KEY(0x05, 0x09, KEY_DOT) + MATRIX_KEY(0x05, 0x0b, KEY_SPACE) + + MATRIX_KEY(0x06, 0x01, KEY_1) + MATRIX_KEY(0x06, 0x02, KEY_3) + MATRIX_KEY(0x06, 0x03, KEY_4) + MATRIX_KEY(0x06, 0x04, KEY_2) + MATRIX_KEY(0x06, 0x05, KEY_8) + MATRIX_KEY(0x06, 0x06, KEY_7) + MATRIX_KEY(0x06, 0x08, KEY_0) + MATRIX_KEY(0x06, 0x09, KEY_9) + MATRIX_KEY(0x06, 0x0a, KEY_LEFTALT) + MATRIX_KEY(0x06, 0x0b, KEY_DOWN) + MATRIX_KEY(0x06, 0x0c, KEY_RIGHT) + + MATRIX_KEY(0x07, 0x01, KEY_Q) + MATRIX_KEY(0x07, 0x02, KEY_E) + MATRIX_KEY(0x07, 0x03, KEY_R) + MATRIX_KEY(0x07, 0x04, KEY_W) + MATRIX_KEY(0x07, 0x05, KEY_I) + MATRIX_KEY(0x07, 0x06, KEY_U) + MATRIX_KEY(0x07, 0x07, KEY_RIGHTSHIFT) + MATRIX_KEY(0x07, 0x08, KEY_P) + MATRIX_KEY(0x07, 0x09, KEY_O) + MATRIX_KEY(0x07, 0x0b, KEY_UP) + MATRIX_KEY(0x07, 0x0c, KEY_LEFT) + >; + }; +};
Signature · 1 line
2.1.0.rc2.206.gedb03e5
PATCH v3 2/4 tegra: dts: Sync tegra124.dtsi with linux kernel
Sync this up with Linux v3.18-rc5. Exclude features that are unlikely to supported in U-Boot soon (regulators, pinmux). Also the addresses are updated to 32-bit. Otherwise it is the same. Also bring in the dt-bindings for pinctrl.
---
Changes in v3:
- Add patch to update tegra124.dtsi from Linux v3.18-rc5
Changes in v2: None
arch/arm/dts/tegra124.dtsi | 114 ++++++++++++++++++++++++++++ include/dt-bindings/pinctrl/pinctrl-tegra.h | 45 +++++++++++ 2 files changed, 159 insertions(+) create mode 100644 include/dt-bindings/pinctrl/pinctrl-tegra.h
arch/arm/dts/tegra124.dtsi +114 -0
@@ -1,5 +1,6 @@ #include <dt-bindings/clock/tegra124-car.h> #include <dt-bindings/gpio/tegra-gpio.h> +#include <dt-bindings/pinctrl/pinctrl-tegra.h> #include <dt-bindings/interrupt-controller/arm-gic.h> #include "skeleton.dtsi"
@@ -192,6 +193,16 @@ status = "disabled"; }; + pwm: pwm at 7000a000 { + compatible = "nvidia,tegra124-pwm", "nvidia,tegra20-pwm"; + reg = <0x7000a000 0x100>; + #pwm-cells = <2>; + clocks = <&tegra_car TEGRA124_CLK_PWM>; + resets = <&tegra_car 17>; + reset-names = "pwm"; + status = "disabled"; + }; + spi at 7000d400 { compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi"; reg = <0x7000d400 0x200>;
@@ -290,6 +301,109 @@ status = "disabled"; }; + ahub at 70300000 { + compatible = "nvidia,tegra124-ahub"; + reg = <0x70300000 0x200>, + <0x70300800 0x800>, + <0x70300200 0x600>; + interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&tegra_car TEGRA124_CLK_D_AUDIO>, + <&tegra_car TEGRA124_CLK_APBIF>; + clock-names = "d_audio", "apbif"; + resets = <&tegra_car 106>, /* d_audio */ + <&tegra_car 107>, /* apbif */ + <&tegra_car 30>, /* i2s0 */ + <&tegra_car 11>, /* i2s1 */ + <&tegra_car 18>, /* i2s2 */ + <&tegra_car 101>, /* i2s3 */ + <&tegra_car 102>, /* i2s4 */ + <&tegra_car 108>, /* dam0 */ + <&tegra_car 109>, /* dam1 */ + <&tegra_car 110>, /* dam2 */ + <&tegra_car 10>, /* spdif */ + <&tegra_car 153>, /* amx */ + <&tegra_car 185>, /* amx1 */ + <&tegra_car 154>, /* adx */ + <&tegra_car 180>, /* adx1 */ + <&tegra_car 186>, /* afc0 */ + <&tegra_car 187>, /* afc1 */ + <&tegra_car 188>, /* afc2 */ + <&tegra_car 189>, /* afc3 */ + <&tegra_car 190>, /* afc4 */ + <&tegra_car 191>; /* afc5 */ + reset-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2", + "i2s3", "i2s4", "dam0", "dam1", "dam2", + "spdif", "amx", "amx1", "adx", "adx1", + "afc0", "afc1", "afc2", "afc3", "afc4", "afc5"; + dmas = <&apbdma 1>, <&apbdma 1>, + <&apbdma 2>, <&apbdma 2>, + <&apbdma 3>, <&apbdma 3>, + <&apbdma 4>, <&apbdma 4>, + <&apbdma 6>, <&apbdma 6>, + <&apbdma 7>, <&apbdma 7>, + <&apbdma 12>, <&apbdma 12>, + <&apbdma 13>, <&apbdma 13>, + <&apbdma 14>, <&apbdma 14>, + <&apbdma 29>, <&apbdma 29>; + dma-names = "rx0", "tx0", "rx1", "tx1", "rx2", "tx2", + "rx3", "tx3", "rx4", "tx4", "rx5", "tx5", + "rx6", "tx6", "rx7", "tx7", "rx8", "tx8", + "rx9", "tx9"; + ranges; + #address-cells = <1>; + #size-cells = <1>; + + tegra_i2s0: i2s at 70301000 { + compatible = "nvidia,tegra124-i2s"; + reg = <0x70301000 0x100>; + nvidia,ahub-cif-ids = <4 4>; + clocks = <&tegra_car TEGRA124_CLK_I2S0>; + resets = <&tegra_car 30>; + reset-names = "i2s"; + status = "disabled"; + }; + + tegra_i2s1: i2s at 70301100 { + compatible = "nvidia,tegra124-i2s"; + reg = <0x70301100 0x100>; + nvidia,ahub-cif-ids = <5 5>; + clocks = <&tegra_car TEGRA124_CLK_I2S1>; + resets = <&tegra_car 11>; + reset-names = "i2s"; + status = "disabled"; + }; + + tegra_i2s2: i2s at 70301200 { + compatible = "nvidia,tegra124-i2s"; + reg = <0x70301200 0x100>; + nvidia,ahub-cif-ids = <6 6>; + clocks = <&tegra_car TEGRA124_CLK_I2S2>; + resets = <&tegra_car 18>; + reset-names = "i2s"; + status = "disabled"; + }; + + tegra_i2s3: i2s at 70301300 { + compatible = "nvidia,tegra124-i2s"; + reg = <0x70301300 0x100>; + nvidia,ahub-cif-ids = <7 7>; + clocks = <&tegra_car TEGRA124_CLK_I2S3>; + resets = <&tegra_car 101>; + reset-names = "i2s"; + status = "disabled"; + }; + + tegra_i2s4: i2s at 70301400 { + compatible = "nvidia,tegra124-i2s"; + reg = <0x70301400 0x100>; + nvidia,ahub-cif-ids = <8 8>; + clocks = <&tegra_car TEGRA124_CLK_I2S4>; + resets = <&tegra_car 102>; + reset-names = "i2s"; + status = "disabled"; + }; + }; + usb at 7d000000 { compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci"; reg = <0x7d000000 0x4000>;
include/dt-bindings/pinctrl/pinctrl-tegra.h new file +45 -0
45 lines not on this page · raw message
Signature · 1 line
2.1.0.rc2.206.gedb03e5
PATCH v3 2/4 tegra: dts: Sync tegra124.dtsi with linux kernel
Quoted 4 lines · Simon Glass
Sync this up with Linux v3.18-rc5. Exclude features that are unlikely to supported in U-Boot soon (regulators, pinmux). Also the addresses are updated to 32-bit. Otherwise it is the same. Also bring in the dt-bindings for pinctrl.
Assuming this content exactly matches the kernel,
Do all the existing nodes exactly match the kernel already?
PATCH v3 2/4 tegra: dts: Sync tegra124.dtsi with linux kernel
Hi Stephen,
Quoted 11 lines · Stephen Warren
Quoted 5 lines · Simon Glass
Sync this up with Linux v3.18-rc5. Exclude features that are unlikely to supported in U-Boot soon (regulators, pinmux). Also the addresses are updated to 32-bit. Otherwise it is the same. Also bring in the dt-bindings for pinctrl.
Assuming this content exactly matches the kernel,
Acked-by Stephen Warren <[email protected]>Do all the existing nodes exactly match the kernel already?
Apart from the differences noted in the commit message, yes.
Regards,
Simon
PATCH v3 3/4 tegra: config: Enable FIT and device tree for all boards
In reply to Simon GlassModern kernels require a device tree to boot. Enable FIT support to permit booting these images, rather than just legacy images. This allows booting of Chrome OS kernels, among other things.
---
Changes in v3:
- Add new patch to enable FIT support for Tegra boards
Changes in v2: None
include/configs/tegra-common.h | 3 +++ 1 file changed, 3 insertions(+)
include/configs/tegra-common.h +3 -0
@@ -162,6 +162,9 @@#define CONFIG_BOUNCE_BUFFER #define CONFIG_CRC32_VERIFY +#define CONFIG_FIT +#define CONFIG_OF_LIBFDT +#ifndef CONFIG_SPL_BUILD #include <config_distro_defaults.h> #endif
Signature · 1 line
2.1.0.rc2.206.gedb03e5
PATCH v3 3/4 tegra: config: Enable FIT and device tree for all boards
Quoted 1 line · Simon Glass
Modern kernels require a device tree to boot.
True.
Quoted 2 lines
Enable FIT support to permit
booting these images, rather than just legacy images.
I don't understand this? Modern kernels boot perfectly well without FIT support. U-Boot supports the kernel's standard separate DTB and zImage file formats just fine.
To be honest, I'd strongly prefer not to enable support for non-universal (bootloader-specific) formats such as FIT.
Quoted 1 line
This allows booting of Chrome OS kernels, among other things.
This might be a reasonable justification to support FIT. However, it'd be best to enable FIT support only on boards that are actually supported by ChromeOS, so as not to pollute other boards' configuration.
PATCH v3 3/4 tegra: config: Enable FIT and device tree for all boards
Hi Stephen,
Quoted 12 lines · Stephen Warren
Quoted 2 lines · Simon Glass
Modern kernels require a device tree to boot.
True.
Quoted 3 lines
Enable FIT support to permit
booting these images, rather than just legacy images.
Quoted 6 lines
I don't understand this? Modern kernels boot perfectly well without FIT support. U-Boot supports the kernel's standard separate DTB and zImage file formats just fine.
To be honest, I'd strongly prefer not to enable support for non-universal (bootloader-specific) formats such as FIT.
In U-Boot? FIT is U-Boot's standard format and avoids all the mess that is zImage with a single attached DTB, etc.
Quoted 7 lines
Quoted 2 lines
This allows booting of Chrome OS kernels, among other things.
This might be a reasonable justification to support FIT. However, it'd be best to enable FIT support only on boards that are actually supported by ChromeOS, so as not to pollute other boards' configuration.
I feel that FIT is a pretty core feature for U-Boot. Are you worried about the space?
Regards,
Simon
PATCH v3 3/4 tegra: config: Enable FIT and device tree for all boards
Quoted 15 lines · Simon Glass
Hi Stephen,
Quoted 12 lines · Stephen Warren
Quoted 2 lines · Simon Glass
Modern kernels require a device tree to boot.
True.
Quoted 3 lines
Enable FIT support to permit
booting these images, rather than just legacy images.
Quoted 8 lines
Quoted 6 lines
I don't understand this? Modern kernels boot perfectly well without FIT support. U-Boot supports the kernel's standard separate DTB and zImage file formats just fine.
To be honest, I'd strongly prefer not to enable support for non-universal (bootloader-specific) formats such as FIT.
In U-Boot? FIT is U-Boot's standard format
That's rather my point: FIT is *U-Boot's* standard format, not a global standard format.
I want to strongly guide anyone using Tegra towards globally standard formats, not intimate that they should be using bootloader-specific formats.
zImage (without appended DTB) is a standard Linux format that all booatloaders should support.
Raw DTB in a separate file (or perhaps provided by earlier firmware directly in RAM/ROM) is a standard Linux format that all bootloaders should support.
extlinux.conf is something that all bootloaders should support.
Linux distros that install binaries or config files in those standard formats should expect them to work with any bootloader, on any board. This way, distros won't have to write explicit support for any board; they'll just install standard files and everything will just work anywhere.
Quoted 1 line
and avoids all the mess that is zImage with a single attached DTB, etc.
Yes, we should avoid appended DTB where possible. However, there's no need to use appended DTB even when not using FIT; just put the zImage and DTB in separate files. To load them, either use a simple extlinux.conf config file, or a set of U-Boot commands to load each file; see https://github.com/NVIDIA/tegra-uboot-scripts for something that'll generates some examples.
Example /boot/extlinux.conf (for media-based booting) or pxelinux.cfg/default (for network booting via syslinux command):
TIMEOUT 100
MENU TITLE TFTP boot options
LABEL jetson-tk1-emmc
MENU LABEL ../zImage root on Jetson TK1 eMMC
LINUX ../zImage
FDTDIR ../
APPEND console=ttyS0,115200n8 console=tty1 loglevel=8 rootwait
rw earlyprintk root=/dev/mmcblk0p1
#root=UUID=8eac677f-8ea8-4270-8479-d5ddbb797450
LABEL sdcard
MENU LABEL ../zImage, root on 2GB sdcard
LINUX ../zImage
FDTDIR ../
APPEND console=ttyS0,115200n8 console=tty1 loglevel=8 rootwait
rw earlyprintk root=PARTUUID=b2f82cda-2535-4779-b467-094a210fbae7
LABEL venice2-emmc
MENU LABEL ../zImage root on Venice2 eMMC
LINUX ../zImage
FDTDIR ../
APPEND console=ttyS0,115200n8 console=tty1 loglevel=8 rootwait
rw earlyprintk root=PARTUUID=5f71e06f-be08-48ed-b1ef-ee4800cc860f
...
Quoted 9 lines
Quoted 6 lines
Quoted 1 line
This allows booting of Chrome OS kernels, among other things.
This might be a reasonable justification to support FIT. However, it'd be best to enable FIT support only on boards that are actually supported by ChromeOS, so as not to pollute other boards' configuration.
I feel that FIT is a pretty core feature for U-Boot. Are you worried about the space?
I'm worried about guiding people towards non-standard file formats and protocols that lock people into a particular boot-loader.
For use-cases where it makes sense, I think it's fine to enable FIT. As a general feature across all boards, I would strongly prefer not to. One use-case that makes sense might be to boot ChromeOS. Of course, that's only applicable to boards that ChromeOS (or ChromiumOS) supports, and hence FIT should only be enabled in those boards' config files, not globally.
PATCH v3 3/4 tegra: config: Enable FIT and device tree for all boards
Hi Stephen,
Quoted 46 lines · Stephen Warren
Quoted 26 lines · Simon Glass
Hi Stephen,
Quoted 21 lines · Stephen Warren
Quoted 3 lines · Simon Glass
Modern kernels require a device tree to boot.
True.
Quoted 3 lines
Enable FIT support to permit
booting these images, rather than just legacy images.
I don't understand this? Modern kernels boot perfectly well without FIT support. U-Boot supports the kernel's standard separate DTB and zImage file
formats just fine.Quoted 5 lines
Quoted 2 lines
To be honest, I'd strongly prefer not to enable support for non-universal (bootloader-specific) formats such as FIT.
In U-Boot? FIT is U-Boot's standard format
That's rather my point: FIT is *U-Boot's* standard format, not a global standard format.
I want to strongly guide anyone using Tegra towards globally standard formats, not intimate that they should be using bootloader-specific formats.
zImage (without appended DTB) is a standard Linux format that all booatloaders should support.
Raw DTB in a separate file (or perhaps provided by earlier firmware directly in RAM/ROM) is a standard Linux format that all bootloaders should support.
Quoted 7 lines
extlinux.conf is something that all bootloaders should support.
Linux distros that install binaries or config files in those standard formats should expect them to work with any bootloader, on any board. This way, distros won't have to write explicit support for any board; they'll just install standard files and everything will just work anywhere.
Just so I am clear, on ARM what is the list of bootloaders that you are concerned with? FIT is actually not a difficult thing to add to a boot loader. Presumably they all support libfdt, so it is just a case of plumbing in the FIT access stuff.
I'm really not keen on this lowest-common-denominator approach, it's just a sad situation. Also I don't see why extlinux.conf should preclude people using FIT if they want to.
Quoted 31 lines
Quoted 1 line
and avoids all the mess that is zImage with a single attached DTB, etc.
Yes, we should avoid appended DTB where possible. However, there's no need to use appended DTB even when not using FIT; just put the zImage and DTB in separate files. To load them, either use a simple extlinux.conf config file, or a set of U-Boot commands to load each file; see
https://github.com/NVIDIA/tegra-uboot-scripts for something that'll generates some examples.Example
/boot/extlinux.conf(for media-based booting) or pxelinux.cfg/default (for network booting via syslinux command):TIMEOUT 100
MENU TITLE TFTP boot options
LABEL jetson-tk1-emmc
MENU LABEL ../zImage root on Jetson TK1 eMMC
LINUX ../zImage
FDTDIR ../
APPEND console=ttyS0,115200n8 console=tty1 loglevel=8 rootwait rw
earlyprintk root=/dev/mmcblk0p1#root=UUID=8eac677f-8ea8-4270-8479-d5ddbb797450LABEL sdcard
MENU LABEL ../zImage, root on 2GB sdcard
LINUX ../zImage
FDTDIR ../
APPEND console=ttyS0,115200n8 console=tty1 loglevel=8 rootwait rw
earlyprintk root=PARTUUID=b2f82cda-2535-4779-b467-094a210fbae7
Quoted 7 lines
LABEL venice2-emmc
MENU LABEL ../zImage root on Venice2 eMMC
LINUX ../zImage
FDTDIR ../
APPEND console=ttyS0,115200n8 console=tty1 loglevel=8 rootwait rw
earlyprintk root=PARTUUID=5f71e06f-be08-48ed-b1ef-ee4800cc860f
...
Sounds good. I guess if the zImage were an image.fit then this would still work on U-Boot. We could even enable verified boot!
How does U-Boot select which device tree to pass to the kernel with the scheme above? We shouldn't rely on the user, right? With FIT we use CONFIG_FIT_BEST_MATCH.
Quoted 14 lines
Quoted 5 lines
Quoted 5 lines
Quoted 2 lines
This allows booting of Chrome OS kernels, among other things.
Quoted 7 lines
Quoted 3 lines
This might be a reasonable justification to support FIT. However, it'd be best to enable FIT support only on boards that are actually supported by ChromeOS, so as not to pollute other boards' configuration.
I feel that FIT is a pretty core feature for U-Boot. Are you worried about the space?
Quoted 8 lines
I'm worried about guiding people towards non-standard file formats and protocols that lock people into a particular boot-loader.
For use-cases where it makes sense, I think it's fine to enable FIT. As a general feature across all boards, I would strongly prefer not to. One use-case that makes sense might be to boot ChromeOS. Of course, that's only applicable to boards that ChromeOS (or ChromiumOS) supports, and hence FIT should only be enabled in those boards' config files, not globally.
Without it we wouldn't be able to boot a kernel. Still I don't see why enabling the feature is going to break anything. It's like bike owners wanting to ban cars.
Regards,
Simon
PATCH v3 3/4 tegra: config: Enable FIT and device tree for all boards
Quoted 48 lines · Simon Glass
Hi Stephen,
Quoted 38 lines · Stephen Warren
Quoted 16 lines · Simon Glass
Hi Stephen,
Quoted 11 lines · Stephen Warren
Quoted 3 lines · Simon Glass
Modern kernels require a device tree to boot.
True.
Quoted 2 lines
Enable FIT support to permit
booting these images, rather than just legacy images.Quoted 8 lines
Quoted 6 lines
I don't understand this? Modern kernels boot perfectly well without FIT support. U-Boot supports the kernel's standard separate DTB and zImage file formats just fine.
To be honest, I'd strongly prefer not to enable support for non-universal (bootloader-specific) formats such as FIT.
In U-Boot? FIT is U-Boot's standard format
That's rather my point: FIT is *U-Boot's* standard format, not a global standard format.
I want to strongly guide anyone using Tegra towards globally standard formats, not intimate that they should be using bootloader-specific formats.
zImage (without appended DTB) is a standard Linux format that all booatloaders should support.
Raw DTB in a separate file (or perhaps provided by earlier firmware directly in RAM/ROM) is a standard Linux format that all bootloaders should support.
Quoted 6 lines
extlinux.conf is something that all bootloaders should support.
Linux distros that install binaries or config files in those standard formats should expect them to work with any bootloader, on any board. This way, distros won't have to write explicit support for any board; they'll just install standard files and everything will just work anywhere.
Quoted 4 lines
Just so I am clear, on ARM what is the list of bootloaders that you are concerned with? FIT is actually not a difficult thing to add to a boot loader. Presumably they all support libfdt, so it is just a case of plumbing in the FIT access stuff.
I believe that Barebox supports extlinux.conf too.
Quoted 3 lines
I'm really not keen on this lowest-common-denominator approach, it's just a sad situation. Also I don't see why extlinux.conf should preclude people using FIT if they want to.
It doesn't. My point is that it's unlikely people will want FIT support except in certain specific cases (such as ChromeOS compatibility), and we shouldn't enable it except where there's a demonstrable use-case, so we don't confuse people with non-standard options and accidentally lead them down the wrong path.
...
Quoted 2 lines
Quoted 2 lines
Example
/boot/extlinux.conf(for media-based booting) or pxelinux.cfg/default (for network booting via syslinux command):
...
Quoted 3 lines
How does U-Boot select which device tree to pass to the kernel with the scheme above? We shouldn't rely on the user, right? With FIT we use
CONFIG_FIT_BEST_MATCH.
extlinux.conf can specify a particular DTB filename if it wants. Alternatively, it can specify a directory containing a set of DTBs, and the bootloader must select which DTB to load.
If $fdtfile is set in U-Boot's environment, that file is used.
Otherwise, the U-Boot syslinux code uses some other environment variables to calculate a default DTB filename; ${soc}-${board}.dtb.
PATCH v3 3/4 tegra: config: Enable FIT and device tree for all boards
Hi Stephen,
Quoted 65 lines · Stephen Warren
Quoted 64 lines · Simon Glass
Hi Stephen,
Quoted 57 lines · Stephen Warren
Quoted 25 lines · Simon Glass
Hi Stephen,
Quoted 19 lines · Stephen Warren
Quoted 4 lines · Simon Glass
Modern kernels require a device tree to boot.
True.
Quoted 2 lines
Enable FIT support to permit
booting these images, rather than just legacy images.I don't understand this? Modern kernels boot perfectly well without FIT support. U-Boot supports the kernel's standard separate DTB and zImage file formats just fine.
Quoted 6 lines
Quoted 3 lines
To be honest, I'd strongly prefer not to enable support for non-universal
(bootloader-specific) formats such as FIT.In U-Boot? FIT is U-Boot's standard format
That's rather my point: FIT is *U-Boot's* standard format, not a global standard format.
I want to strongly guide anyone using Tegra towards globally standard formats, not intimate that they should be using bootloader-specific formats.
zImage (without appended DTB) is a standard Linux format that all booatloaders should support.
Raw DTB in a separate file (or perhaps provided by earlier firmware directly
in RAM/ROM) is a standard Linux format that all bootloaders should support.extlinux.conf is something that all bootloaders should support.
Linux distros that install binaries or config files in those standard formats should expect them to work with any bootloader, on any board. This
way, distros won't have to write explicit support for any board; they'll just install standard files and everything will just work anywhere.
Quoted 7 lines
Quoted 4 lines
Just so I am clear, on ARM what is the list of bootloaders that you are concerned with? FIT is actually not a difficult thing to add to a boot loader. Presumably they all support libfdt, so it is just a case of plumbing in the FIT access stuff.
I believe that Barebox supports extlinux.conf too.
OK so I wonder if this problem would go away if Barebox supported FIT. I haven't played with Barebox but could perhaps take a look.
Quoted 11 lines
Quoted 4 lines
I'm really not keen on this lowest-common-denominator approach, it's just a sad situation. Also I don't see why extlinux.conf should preclude people using FIT if they want to.
It doesn't. My point is that it's unlikely people will want FIT support except in certain specific cases (such as ChromeOS compatibility), and we shouldn't enable it except where there's a demonstrable use-case, so we don't confuse people with non-standard options and accidentally lead them down the wrong path.
My use case is to have one or more kernels, lots of device trees and be able to boot on any arch. I think that is the same for you, but in your case you rely on a filesystem to provide a large number of FDTs. This means that we can't provide a kernel release as a single file, nor can we support verified boot. With FIT we can support these.
Quoted 13 lines
...
Quoted 3 lines
Quoted 3 lines
Example
/boot/extlinux.conf(for media-based booting) or pxelinux.cfg/default (for network booting via syslinux command):...
Quoted 4 lines
How does U-Boot select which device tree to pass to the kernel with the scheme above? We shouldn't rely on the user, right? With FIT we use
CONFIG_FIT_BEST_MATCH.
Quoted 8 lines
extlinux.conf can specify a particular DTB filename if it wants. Alternatively, it can specify a directory containing a set of DTBs, and the bootloader must select which DTB to load.
If $fdtfile is set in U-Boot's environment, that file is used.
Otherwise, the U-Boot syslinux code uses some other environment variables to calculate a default DTB filename; ${soc}-${board}.dtb.
OK I remember your patches now, sounds good.
Let me know if there is some other blocker (besides Barebox) to supporting FIT more widely for kernel + device tree distribution.
Regards,
Simon
PATCH v3 4/4 ARM: tegra: Add support for nyan board
In reply to Simon GlassFrom: Allen Martin <[email protected]>
Nyan is a Tegra124 clamshell board that is very similar to venice2, but it has a different panel, the sdcard cd and wp sense are flipped, and it has a different revision of the AS3722 PMIC.
This is the Acer Chromebook 13 CB5-311-T7NN (13.3-inch HD, NVIDIA Tegra K1, 2GB). The display is not currently supported, so it should boot on other nyan-based Chromebooks also, but only the device tree for nyan-big is provided here.
The device tree file is from Linux but with features removed which are unlikely to be supported in U-Boot soon (regulators, pinmux). Also the addresses are updated to 32-bit.
(rebase, change to 'nyan', fix pinmux that resets nyan)
---
Changes in v3:
- Rename to nyan from norrin
- Bring in device tree file from Linux v3.18-rc5
- Generate pinmux file from tegra-pinmux-scripts
Changes in v2:
- Rebase and adjust for Kconfig
- Fix up pinmux that reset norrin
- Add note as to the Chromebook's retail name, since it is now released
arch/arm/cpu/armv7/tegra124/Kconfig | 11 + arch/arm/dts/Makefile | 1 + arch/arm/dts/tegra124-nyan-big.dts | 365 +++++++++++++++++++++++++++++++++ board/nvidia/nyan/Kconfig | 24 +++ board/nvidia/nyan/MAINTAINERS | 6 + board/nvidia/nyan/Makefile | 9 + board/nvidia/nyan/nyan.c | 29 +++ board/nvidia/nyan/pinmux-config-nyan.h | 287 ++++++++++++++++++++++++++ board/nvidia/venice2/as3722_init.h | 2 +- configs/nyan_defconfig | 5 + include/configs/nyan.h | 76 +++++++ 11 files changed, 814 insertions(+), 1 deletion(-) create mode 100644 arch/arm/dts/tegra124-nyan-big.dts create mode 100644 board/nvidia/nyan/Kconfig create mode 100644 board/nvidia/nyan/MAINTAINERS create mode 100644 board/nvidia/nyan/Makefile create mode 100644 board/nvidia/nyan/nyan.c create mode 100644 board/nvidia/nyan/pinmux-config-nyan.h create mode 100644 configs/nyan_defconfig create mode 100644 include/configs/nyan.h
arch/arm/cpu/armv7/tegra124/Kconfig +11 -0
@@ -6,6 +6,16 @@ choice config TARGET_JETSON_TK1 bool "NVIDIA Tegra124 Jetson TK1 board" +config TARGET_NYAN + bool "Google/NVIDIA Nyan Chrombook" + help + Norrin (PM370) is a Tegra124 clamshell board that is very similar + to venice2, but it has a different panel, the sdcard CD and WP + sense are flipped, and it has a different revision of the AS3722 + PMIC. This board is also refered to as "nyan" in the Chrome OS + trees. The retail name is the Acer Chromebook 13 CB5-311-T7NN + (13.3-inch HD, NVIDIA Tegra K1, 2GB). + config TARGET_VENICE2 bool "NVIDIA Tegra124 Venice2"
@@ -15,6 +25,7 @@ config SYS_SOC default "tegra124" source "board/nvidia/jetson-tk1/Kconfig" +source "board/nvidia/nyan/Kconfig" source "board/nvidia/venice2/Kconfig" endif
arch/arm/dts/Makefile +1 -0
@@ -30,6 +30,7 @@ dtb-$(CONFIG_TEGRA) += tegra20-harmony.dtb \ tegra30-tec-ng.dtb \ tegra114-dalmore.dtb \ tegra124-jetson-tk1.dtb \ + tegra124-nyan-big.dtb \ tegra124-venice2.dtb dtb-$(CONFIG_ZYNQ) += zynq-zc702.dtb \ zynq-zc706.dtb \
arch/arm/dts/tegra124-nyan-big.dts new file +365 -0
365 lines not on this page · raw message
board/nvidia/nyan/Kconfig new file +24 -0
@@ -0,0 +1,24 @@ +if TARGET_NYAN + +config SYS_CPU + string + default "arm720t" if SPL_BUILD + default "armv7" if !SPL_BUILD + +config SYS_BOARD + string + default "nyan" + +config SYS_VENDOR + string + default "nvidia" + +config SYS_SOC + string + default "tegra124" + +config SYS_CONFIG_NAME + string + default "nyan" + +endif
board/nvidia/nyan/MAINTAINERS new file +6 -0
@@ -0,0 +1,6 @@ +NORRIN BOARD +M: Allen Martin <[email protected]> +S: Maintained +F: board/nvidia/nyan/ +F: include/configs/nyan.h +F: configs/nyan_defconfig
board/nvidia/nyan/Makefile new file +9 -0
@@ -0,0 +1,9 @@ +# +# (C) Copyright 2014 +# NVIDIA Corporation <www.nvidia.com> +# +# SPDX-License-Identifier: GPL-2.0+ +# + +obj-y += ../venice2/as3722_init.o +obj-y += nyan.o
board/nvidia/nyan/nyan.c new file +29 -0
@@ -0,0 +1,29 @@ +/* +* (C) Copyright 2014 +* NVIDIA Corporation <www.nvidia.com> +* +* SPDX-License-Identifier: GPL-2.0+ +*/ + +#include <common.h> +#include <asm/arch/gpio.h> +#include <asm/arch/pinmux.h> +#include "pinmux-config-nyan.h" + +/* +* Routine: pinmux_init +* Description: Do individual peripheral pinmux configs +*/ +void pinmux_init (void ) +{ +pinmux_set_tristate_input_clamping (); + +gpio_config_table (nyan_gpio_inits, +ARRAY_SIZE (nyan_gpio_inits)); + +pinmux_config_pingrp_table (nyan_pingrps, +ARRAY_SIZE (nyan_pingrps)); + +pinmux_config_drvgrp_table (nyan_drvgrps, +ARRAY_SIZE (nyan_drvgrps)); +}
board/nvidia/nyan/pinmux-config-nyan.h new file +287 -0
287 lines not on this page · raw message
board/nvidia/venice2/as3722_init.h +1 -1
@@ -18,7 +18,7 @@#define AS3722_LDO6VOLTAGE_REG 0x16/* VDD_SDMMC */ #define AS3722_LDCONTROL_REG 0x4E -#ifdef CONFIG_TARGET_JETSON_TK1 +#if defined(CONFIG_TARGET_JETSON_TK1 ) || defined(CONFIG_TARGET_NYAN )#define AS3722_SD0VOLTAGE_DATA (0x3C00 | AS3722_SD0VOLTAGE_REG)#else #define AS3722_SD0VOLTAGE_DATA (0x2800 | AS3722_SD0VOLTAGE_REG)
configs/nyan_defconfig new file +5 -0
@@ -0,0 +1,5 @@ ++S:CONFIG_ARM=y ++S:CONFIG_TEGRA=y ++S:CONFIG_TEGRA124=y ++S:CONFIG_TARGET_NYAN=y +CONFIG_DEFAULT_DEVICE_TREE="tegra124-nyan-big"
include/configs/nyan.h new file +76 -0
76 lines not on this page · raw message
Signature · 1 line
2.1.0.rc2.206.gedb03e5
A message that is not in the archive (sent off-list or not yet received): 1416759162-25445-4-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org
Re: [PATCH v3 4/4] ARM: tegra: Add support for nyan board
Hi,
Quoted 18 lines · Simon Glass
From: Allen Martin <[email protected]>
Nyan is a Tegra124 clamshell board that is very similar to venice2, but it has a different panel, the sdcard cd and wp sense are flipped, and it has a different revision of the AS3722 PMIC.
This is the Acer Chromebook 13 CB5-311-T7NN (13.3-inch HD, NVIDIA Tegra K1, 2GB). The display is not currently supported, so it should boot on other nyan-based Chromebooks also, but only the device tree for nyan-big is provided here.
The device tree file is from Linux but with features removed which are unlikely to be supported in U-Boot soon (regulators, pinmux). Also the addresses are updated to 32-bit.
Signed-off-by Allen Martin <[email protected]>Signed-off-by Simon Glass <[email protected]>
Quoted 8 lines
(rebase, change to 'nyan', fix pinmux that resets nyan)
---
Changes in v3:
- Rename to nyan from norrin
- Bring in device tree file from Linux v3.18-rc5
- Generate pinmux file from tegra-pinmux-scripts
I should say that I'm not thrilled with this approach, particularly as the files it generate have no mentioned that they are auto-generated. Here we have a case where Nyan and Norrin apparently different by one pixmux setting but there is no way to exploit this commonality.
I think this was discussed a while ago (the idea of static pinmux being set up at start of day). If I recall I expressed my objections at the time. If U-Boot headed this way in general it would be unfortunate. You get a whole load of pinmux settings with no idea what they are for, and no idea how to change them for your board. It almost feels similar to a 'binary blob'.
I recently saw a patch to (from what I can tell) remove all the pinmux information from the device tree in Linux, presumably on the assumption it can never be changed except very early in the boot. If this is a limitation of Tegra then it seems unfortunate to me.
Regards,
Simon
A message that is not in the archive (sent off-list or not yet received): CAPnjgZ290n57H1QWmCVqeb4g_A3FZBmbVcHQ5i0A=oVa582csQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org
Re: [PATCH v3 4/4] ARM: tegra: Add support for nyan board
Quoted 35 lines · Simon Glass
Hi,
Quoted 18 lines · Simon Glass
From: Allen Martin <[email protected]>
Nyan is a Tegra124 clamshell board that is very similar to venice2, but it has a different panel, the sdcard cd and wp sense are flipped, and it has a different revision of the AS3722 PMIC.
This is the Acer Chromebook 13 CB5-311-T7NN (13.3-inch HD, NVIDIA Tegra K1, 2GB). The display is not currently supported, so it should boot on other nyan-based Chromebooks also, but only the device tree for nyan-big is provided here.
The device tree file is from Linux but with features removed which are unlikely to be supported in U-Boot soon (regulators, pinmux). Also the addresses are updated to 32-bit.
Signed-off-by Allen Martin <[email protected]>Signed-off-by Simon Glass <[email protected]>Quoted 8 lines
(rebase, change to 'nyan', fix pinmux that resets nyan)
---
Changes in v3:
- Rename to nyan from norrin
- Bring in device tree file from Linux v3.18-rc5
- Generate pinmux file from tegra-pinmux-scriptsI should say that I'm not thrilled with this approach, particularly as the files it generate have no mentioned that they are auto-generated. Here we have a case where Nyan and Norrin apparently different by one pixmux setting but there is no way to exploit this commonality.
Quoted 6 lines
I think this was discussed a while ago (the idea of static pinmux being set up at start of day). If I recall I expressed my objections at the time. If U-Boot headed this way in general it would be unfortunate. You get a whole load of pinmux settings with no idea what they are for, and no idea how to change them for your board. It almost feels similar to a 'binary blob'.
That's the entire point; people should not be randomly fiddling with the pinmux data in U-Boot for any reason.
The model for Tegra boards is that whoever designs the boards fills out a spreadsheet to define the pinmux for the board. That spreadsheet is coded to detect and avoid a lot of mistakes (such as multiple pins muxed to/from the same signal, redundant pull-ups enabled on board and SoC, pins used for purposes incompatible with what the SoC supports, etc.). Any pinmux changes should be made in that spreadsheet, and all SW should use the values exported from or derived from the spreadsheet. There's no reason to modify the values afterwards.
This is similar to a binary blob in that the data shouldn't be modified.
This is quite different from a binary blob in that it's quite obvious exactly what the data represents semantically; it's a quite "plain-text" format. with non-obfuscated code to implement it, which directly maps to reasonably well documented hardware.
Quoted 4 lines
I recently saw a patch to (from what I can tell) remove all the pinmux information from the device tree in Linux, presumably on the assumption it can never be changed except very early in the boot. If this is a limitation of Tegra then it seems unfortunate to me.
It's to avoid redundant work. Bootloaders are expected to set up 100% of the pinmux[1]. Given that, there's no point the kernel repeating the process of setting up the exact same configuration.
[1] This is the only sane way to avoid conflicts between mux settings of different pins. Only partially programming the pinmux can leave other pins muxed to the same controller/signal for example. Resolving that requires hit-and-miss testing or complex table lookups to reprogram pins that conflict that otherwise wouldn't be programmed. That approach could cause undesired glitches on pins as they're continually reprogrammed between different states to avoid conflicts. The simplest and only 100% guaranteed way to avoid this is to simply program everything directly to the desired final configuration. This issue isn't anything Tegra specific either, but applies to any pinmux controller where the same signal can be routed to multiple pins/pads. I believe the only reason this hasn't been so explicitly addressed before is that people just haven't thought it through at this level.
Re: [PATCH v3 4/4] ARM: tegra: Add support for nyan board
In reply to a message not in the archiveQuoted 25 lines · Simon Glass
Hi,
Quoted 22 lines · Simon Glass
From: Allen Martin <[email protected]>
Nyan is a Tegra124 clamshell board that is very similar to venice2, but it has a different panel, the sdcard cd and wp sense are flipped, and it has a different revision of the AS3722 PMIC.
This is the Acer Chromebook 13 CB5-311-T7NN (13.3-inch HD, NVIDIA Tegra K1, 2GB). The display is not currently supported, so it should boot on other nyan-based Chromebooks also, but only the device tree for nyan-big is provided here.
The device tree file is from Linux but with features removed which are unlikely to be supported in U-Boot soon (regulators, pinmux). Also the addresses are updated to 32-bit.
Signed-off-by Allen Martin <[email protected]>Signed-off-by Simon Glass <[email protected]>(rebase, change to 'nyan', fix pinmux that resets nyan)
---
Quoted 7 lines
Quoted 4 lines
Changes in v3:
- Rename to nyan from norrin
- Bring in device tree file from Linux v3.18-rc5
- Generate pinmux file from tegra-pinmux-scriptsI should say that I'm not thrilled with this approach, particularly as the files it generate have no mentioned that they are auto-generated.
Oh I forgot to mention - feel free to send a patch for that. I mainly didn't add such a message earlier, since I when I wrote the U-Boot header generator in tegra-pinmux-scripts, I wanted to generate exactly the same data as was already there in U-Boot in the manually written files. If you think updating those files to add a "this is auto-generated" message would be useful, feel free to send a patch to tegra-pinmux-scripts and we can add it.
PATCH v3 4/4 ARM: tegra: Add support for nyan board
In reply to Simon GlassQuoted 10 lines · Simon Glass
From: Allen Martin <[email protected]>
Nyan is a Tegra124 clamshell board that is very similar to venice2, but it has a different panel, the sdcard cd and wp sense are flipped, and it has a different revision of the AS3722 PMIC.
This is the Acer Chromebook 13 CB5-311-T7NN (13.3-inch HD, NVIDIA Tegra K1, 2GB). The display is not currently supported, so it should boot on other nyan-based Chromebooks also, but only the device tree for nyan-big is provided here.
As Olof explained it to me, Nyan is a family of boards, of which "Nyan Big" is a particular member. In other words, "Nyan Big" is the CB5. As such, I believe the U-Boot board should be named "Nyan Big" not "Nyan", unless we expect the U-Boot support for work for the various other Nyan family boards; I believe the HP Tegra Chromebooks are also in the Nyan family. Either way though (i.e. even if nyan.c gets shared between the Acer and HP Tegra Chromebooks), I still think we want separate top-level U-Boot board names for the two, so that it's easy for people to build the right DT into their U-Boot binary for example.
PATCH v3 4/4 ARM: tegra: Add support for nyan board
Hi Stephen,
Quoted 14 lines · Stephen Warren
Quoted 11 lines · Simon Glass
From: Allen Martin <[email protected]>
Nyan is a Tegra124 clamshell board that is very similar to venice2, but it has a different panel, the sdcard cd and wp sense are flipped, and it has a different revision of the AS3722 PMIC.
This is the Acer Chromebook 13 CB5-311-T7NN (13.3-inch HD, NVIDIA Tegra K1, 2GB). The display is not currently supported, so it should boot on other nyan-based Chromebooks also, but only the device tree for nyan-big is provided here.
Quoted 9 lines
As Olof explained it to me, Nyan is a family of boards, of which "Nyan Big" is a particular member. In other words, "Nyan Big" is the CB5. As such, I believe the U-Boot board should be named "Nyan Big" not "Nyan", unless we expect the U-Boot support for work for the various other Nyan family boards; I believe the HP Tegra Chromebooks are also in the Nyan family. Either way though (i.e. even if
nyan.cgets shared between the Acer and HP Tegra Chromebooks), I still think we want separate top-level U-Boot board names for the two, so that it's easy for people to build the right DT into their U-Boot binary for example.
What change are you requesting for this patch?
Regards,
Simon
PATCH v3 4/4 ARM: tegra: Add support for nyan board
Quoted 27 lines · Simon Glass
Hi Stephen,
Quoted 14 lines · Stephen Warren
Quoted 11 lines · Simon Glass
From: Allen Martin <[email protected]>
Nyan is a Tegra124 clamshell board that is very similar to venice2, but it has a different panel, the sdcard cd and wp sense are flipped, and it has a different revision of the AS3722 PMIC.
This is the Acer Chromebook 13 CB5-311-T7NN (13.3-inch HD, NVIDIA Tegra K1, 2GB). The display is not currently supported, so it should boot on other nyan-based Chromebooks also, but only the device tree for nyan-big is provided here.
Quoted 9 lines
As Olof explained it to me, Nyan is a family of boards, of which "Nyan Big" is a particular member. In other words, "Nyan Big" is the CB5. As such, I believe the U-Boot board should be named "Nyan Big" not "Nyan", unless we expect the U-Boot support for work for the various other Nyan family boards; I believe the HP Tegra Chromebooks are also in the Nyan family. Either way though (i.e. even if
nyan.cgets shared between the Acer and HP Tegra Chromebooks), I still think we want separate top-level U-Boot board names for the two, so that it's easy for people to build the right DT into their U-Boot binary for example.
Quoted 1 line
What change are you requesting for this patch?
Given Andrew's description of the board naming, I think this patch (patch subject/description, filenames, file content) and anything else for this board should call it nyan-big not nyan. The Acer Chrombook is apparently nyan-big, whereas plain nyan means Norrin.
PATCH v3 4/4 ARM: tegra: Add support for nyan board
Hi Stephen,
Quoted 40 lines · Stephen Warren
Quoted 39 lines · Simon Glass
Hi Stephen,
Quoted 32 lines · Stephen Warren
Quoted 10 lines · Simon Glass
From: Allen Martin <[email protected]>
Nyan is a Tegra124 clamshell board that is very similar to venice2, but it
has a different panel, the sdcard cd and wp sense are flipped, and it has
a different revision of the AS3722 PMIC.Quoted 4 lines
This is the Acer Chromebook 13 CB5-311-T7NN (13.3-inch HD, NVIDIA Tegra K1, 2GB). The display is not currently supported, so it should boot on other nyan-based Chromebooks also, but only the device tree for nyan-big is provided here.
As Olof explained it to me, Nyan is a family of boards, of which "Nyan Big"
is a particular member. In other words, "Nyan Big" is the CB5. As such, I believe the U-Boot board should be named "Nyan Big" not "Nyan", unless we expect the U-Boot support for work for the various other Nyan family boards;
I believe the HP Tegra Chromebooks are also in the Nyan family. Either way
though (i.e. even ifnyan.cgets shared between the Acer and HP Tegra Chromebooks), I still think we want separate top-level U-Boot board names for the two, so that it's easy for people to build the right DT into their
U-Boot binary for example.
Quoted 7 lines
Quoted 1 line
What change are you requesting for this patch?
Given Andrew's description of the board naming, I think this patch (patch subject/description, filenames, file content) and anything else for this board should call it nyan-big not nyan. The Acer Chrombook is apparently nyan-big, whereas plain nyan means Norrin.
OK I think there are still a few nyans, so will purge. If we end up supporting more from this range I'd like to avoid duplicating lots of code (ideally it would just be a different device tree). But let's cross that bridge when we come to it.
Regards,
Simon