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

From postmarketOS
Jump to navigation Jump to search
Line 98: Line 98:
  
 
* 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.
 
* 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.
 
+
* Broadcom BCM4354XKUBG wifi module
 +
* Broadcom BCM4752 GPS
 +
* Broadcom BCM2079x NFC (enable on PB1, irq on PR7, wake on PS1, i2c addr 0x77)
 +
* NXP tfa9895 audio amp (enable on PX5, i2c addr 0x34)
 +
* NXP tfa9895l amp (i2c addr 0x35)
 +
* Realtek rt5677 codec (enable on PX3, i2c addr 0x2d)
 +
* USB port is EHCI1, id pin is PW2
 +
* On the LTE version the modem is on EHCI2
  
 
== See also ==
 
== See also ==

Revision as of 22:42, 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.
  • Broadcom BCM4354XKUBG wifi module
  • Broadcom BCM4752 GPS
  • Broadcom BCM2079x NFC (enable on PB1, irq on PR7, wake on PS1, i2c addr 0x77)
  • NXP tfa9895 audio amp (enable on PX5, i2c addr 0x34)
  • NXP tfa9895l amp (i2c addr 0x35)
  • Realtek rt5677 codec (enable on PX3, i2c addr 0x2d)
  • USB port is EHCI1, id pin is PW2
  • On the LTE version the modem is on EHCI2

See also