Difference between revisions of "Google Nexus 9 (htc-flounder)"

From postmarketOS
Jump to navigation Jump to search
Line 94: Line 94:
  
 
};</pre>
 
};</pre>
 +
 +
== Mainlining notes ==
 +
 +
* The partition table is a special tegra thing where the sector the GPT is stored is passed as a kernel commandline argument by the bootloader.
  
  

Revision as of 22:31, 24 August 2020

HTC Nexus 9 (Wifi)
Nexus 9
Nexus 9
Manufacturer HTC
Name Nexus 9 (Wifi)
Codename htc-flounder
Released 2014
Category testing
Original software Android Lollipop 5.0
Hardware
Chipset Nvidia Tegra K1
CPU 2.3 GHz dual-core 64-bit Denver
GPU 192-core Kepler, 16M colors
Display 2048×1536 LCD IPS
Storage 16GB/32GB
Memory 2 GB LPDDR3-1600 RAM
Architecture aarch64
Features
USB Networking
Works
Flashing
Works
Touchscreen
Display
Partial
WiFi
Xwayland
FDE
Mainline
Partial
Battery
3D Acceleration
Accelerometer
Audio
Bluetooth
Camera
GPS
Mobile data
Unavailable
SMS
Unavailable
Calls
Unavailable
USB OTG



Contributors

  • lillywho

How to enter flash mode

Hold POWER + VOLDOWN, press Power to confirm Fastboot mode

Installation

$ pmbootstrap flasher flash_kernel
$ pmbootstrap flasher flash_rootfs

Minimal working dts

The following is a minimal working device tree that is just enough to boot into the initramfs debug-shell. The boot parameter clk_ignore_unused is a temporary workaround to fix an issue where the image on the screen slowly distorts to static as soon as the kernel boots. A similar issue is discussed here. Do not edit the google,flounder64 string, otherwise the bootloader will reject the dtb and refuse to boot the kernel.

// SPDX-License-Identifier: GPL-2.0
/dts-v1/;

#include "tegra132.dtsi"

/ {

	model = "Google Nexus 9";
	compatible = "google,flounder64", "nvidia,tegra132";

	aliases {
		serial0 = &uarta;
	};

	chosen {
		stdout-path = "serial0:115200n8";
		bootargs = "clk_ignore_unused PMOS_NO_OUTPUT_REDIRECT";
	};

	memory {
		device_type = "memory";
		reg = <0x0 0x80000000 0x0 0x80000000>;
	};

	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>;
		};
	};

	serial@70006000 {
		status = "okay";
	};

};

Mainlining notes

  • The partition table is a special tegra thing where the sector the GPT is stored is passed as a kernel commandline argument by the bootloader.


See also