cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

sun50i-a64-pinetab.dts (9208B)


      1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
      2/*
      3 * Copyright (C) 2019 Icenowy Zheng <icenowy@aosc.xyz>
      4 *
      5 */
      6
      7/dts-v1/;
      8
      9#include "sun50i-a64.dtsi"
     10#include "sun50i-a64-cpu-opp.dtsi"
     11
     12#include <dt-bindings/gpio/gpio.h>
     13#include <dt-bindings/input/input.h>
     14#include <dt-bindings/pwm/pwm.h>
     15
     16/ {
     17	model = "PineTab, Development Sample";
     18	compatible = "pine64,pinetab", "allwinner,sun50i-a64";
     19	chassis-type = "tablet";
     20
     21	aliases {
     22		serial0 = &uart0;
     23		ethernet0 = &rtl8723cs;
     24	};
     25
     26	backlight: backlight {
     27		compatible = "pwm-backlight";
     28		pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
     29		brightness-levels = <0 16 18 20 22 24 26 29 32 35 38 42 46 51 56 62 68 75 83 91 100>;
     30		default-brightness-level = <15>;
     31		enable-gpios = <&pio 3 23 GPIO_ACTIVE_HIGH>; /* PD23 */
     32		power-supply = <&vdd_bl>;
     33	};
     34
     35	chosen {
     36		stdout-path = "serial0:115200n8";
     37	};
     38
     39	hdmi-connector {
     40		compatible = "hdmi-connector";
     41		type = "c";
     42
     43		port {
     44			hdmi_con_in: endpoint {
     45				remote-endpoint = <&hdmi_out_con>;
     46			};
     47		};
     48	};
     49
     50	i2c-csi {
     51		compatible = "i2c-gpio";
     52		sda-gpios = <&pio 4 13 GPIO_ACTIVE_HIGH>; /* PE13 */
     53		scl-gpios = <&pio 4 12 GPIO_ACTIVE_HIGH>; /* PE12 */
     54		i2c-gpio,delay-us = <5>;
     55		#address-cells = <1>;
     56		#size-cells = <0>;
     57
     58		/* Rear camera */
     59		ov5640: camera@3c {
     60			compatible = "ovti,ov5640";
     61			reg = <0x3c>;
     62			pinctrl-names = "default";
     63			pinctrl-0 = <&csi_mclk_pin>;
     64			clocks = <&ccu CLK_CSI_MCLK>;
     65			clock-names = "xclk";
     66
     67			AVDD-supply = <&reg_dldo3>;
     68			DOVDD-supply = <&reg_aldo1>;
     69			DVDD-supply = <&reg_eldo3>;
     70			reset-gpios = <&pio 4 14 GPIO_ACTIVE_LOW>; /* PE14 */
     71			powerdown-gpios = <&pio 4 15 GPIO_ACTIVE_HIGH>; /* PE15 */
     72
     73			port {
     74				ov5640_ep: endpoint {
     75					remote-endpoint = <&csi_ep>;
     76					bus-width = <8>;
     77					hsync-active = <1>; /* Active high */
     78					vsync-active = <0>; /* Active low */
     79					data-active = <1>;  /* Active high */
     80					pclk-sample = <1>;  /* Rising */
     81				};
     82			};
     83		};
     84	};
     85
     86	speaker_amp: audio-amplifier {
     87		compatible = "simple-audio-amplifier";
     88		enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
     89		sound-name-prefix = "Speaker Amp";
     90	};
     91
     92	vdd_bl: regulator {
     93		compatible = "regulator-fixed";
     94		regulator-name = "bl-3v3";
     95		regulator-min-microvolt = <3300000>;
     96		regulator-max-microvolt = <3300000>;
     97		gpio = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */
     98		enable-active-high;
     99	};
    100
    101	wifi_pwrseq: wifi_pwrseq {
    102		compatible = "mmc-pwrseq-simple";
    103		reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
    104		post-power-on-delay-ms = <200>;
    105	};
    106};
    107
    108&codec {
    109	status = "okay";
    110};
    111
    112&codec_analog {
    113	cpvdd-supply = <&reg_eldo1>;
    114	status = "okay";
    115};
    116
    117&cpu0 {
    118	cpu-supply = <&reg_dcdc2>;
    119};
    120
    121&cpu1 {
    122	cpu-supply = <&reg_dcdc2>;
    123};
    124
    125&cpu2 {
    126	cpu-supply = <&reg_dcdc2>;
    127};
    128
    129&cpu3 {
    130	cpu-supply = <&reg_dcdc2>;
    131};
    132
    133&csi {
    134	status = "okay";
    135
    136	port {
    137		csi_ep: endpoint {
    138			remote-endpoint = <&ov5640_ep>;
    139			bus-width = <8>;
    140			hsync-active = <1>; /* Active high */
    141			vsync-active = <0>; /* Active low */
    142			data-active = <1>;  /* Active high */
    143			pclk-sample = <1>;  /* Rising */
    144		};
    145	};
    146};
    147
    148&dai {
    149	status = "okay";
    150};
    151
    152&de {
    153	status = "okay";
    154};
    155
    156&dphy {
    157	status = "okay";
    158};
    159
    160&dsi {
    161	vcc-dsi-supply = <&reg_dldo1>;
    162	status = "okay";
    163
    164	panel@0 {
    165		compatible = "feixin,k101-im2ba02";
    166		reg = <0>;
    167		avdd-supply = <&reg_dc1sw>;
    168		dvdd-supply = <&reg_dc1sw>;
    169		cvdd-supply = <&reg_ldo_io1>;
    170		reset-gpios = <&pio 3 24 GPIO_ACTIVE_HIGH>; /* PD24 */
    171		backlight = <&backlight>;
    172	};
    173};
    174
    175&ehci0 {
    176	status = "okay";
    177};
    178
    179&ehci1 {
    180	status = "okay";
    181};
    182
    183&i2c0 {
    184	status = "okay";
    185
    186	touchscreen@5d {
    187		compatible = "goodix,gt9271";
    188		reg = <0x5d>;
    189		interrupt-parent = <&pio>;
    190		interrupts = <7 4 IRQ_TYPE_LEVEL_HIGH>; /* PH4 */
    191		irq-gpios = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
    192		reset-gpios = <&pio 7 8 GPIO_ACTIVE_HIGH>; /* PH8 */
    193		AVDD28-supply = <&reg_ldo_io1>;
    194	};
    195};
    196
    197&i2c0_pins {
    198	bias-pull-up;
    199};
    200
    201&i2c1 {
    202	status = "okay";
    203
    204	/* TODO: add Bochs BMA223 accelerometer here */
    205};
    206
    207&lradc {
    208	vref-supply = <&reg_aldo3>;
    209	status = "okay";
    210
    211	button-200 {
    212		label = "Volume Up";
    213		linux,code = <KEY_VOLUMEUP>;
    214		channel = <0>;
    215		voltage = <200000>;
    216	};
    217
    218	button-400 {
    219		label = "Volume Down";
    220		linux,code = <KEY_VOLUMEDOWN>;
    221		channel = <0>;
    222		voltage = <400000>;
    223	};
    224};
    225
    226&mixer1 {
    227	status = "okay";
    228};
    229
    230&mmc0 {
    231	pinctrl-names = "default";
    232	pinctrl-0 = <&mmc0_pins>;
    233	vmmc-supply = <&reg_dcdc1>;
    234	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
    235	disable-wp;
    236	bus-width = <4>;
    237	status = "okay";
    238};
    239
    240&mmc1 {
    241	pinctrl-names = "default";
    242	pinctrl-0 = <&mmc1_pins>;
    243	vmmc-supply = <&reg_dldo4>;
    244	vqmmc-supply = <&reg_eldo1>;
    245	mmc-pwrseq = <&wifi_pwrseq>;
    246	bus-width = <4>;
    247	non-removable;
    248	status = "okay";
    249
    250	rtl8723cs: wifi@1 {
    251		reg = <1>;
    252	};
    253};
    254
    255&mmc2 {
    256	pinctrl-names = "default";
    257	pinctrl-0 = <&mmc2_pins>;
    258	vmmc-supply = <&reg_dcdc1>;
    259	vqmmc-supply = <&reg_dcdc1>;
    260	bus-width = <8>;
    261	non-removable;
    262	cap-mmc-hw-reset;
    263	status = "okay";
    264};
    265
    266&ohci0 {
    267	status = "okay";
    268};
    269
    270&pwm {
    271	status = "okay";
    272};
    273
    274&r_rsb {
    275	status = "okay";
    276
    277	axp803: pmic@3a3 {
    278		compatible = "x-powers,axp803";
    279		reg = <0x3a3>;
    280		interrupt-parent = <&r_intc>;
    281		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
    282		x-powers,drive-vbus-en;
    283	};
    284};
    285
    286#include "axp803.dtsi"
    287
    288&ac_power_supply {
    289	status = "okay";
    290};
    291
    292&battery_power_supply {
    293	status = "okay";
    294};
    295
    296&reg_aldo1 {
    297	regulator-min-microvolt = <2800000>;
    298	regulator-max-microvolt = <2800000>;
    299	regulator-name = "dovdd-csi";
    300};
    301
    302&reg_aldo2 {
    303	regulator-always-on;
    304	regulator-min-microvolt = <1800000>;
    305	regulator-max-microvolt = <3300000>;
    306	regulator-name = "vcc-pl";
    307};
    308
    309&reg_aldo3 {
    310	regulator-always-on;
    311	regulator-min-microvolt = <2700000>;
    312	regulator-max-microvolt = <3300000>;
    313	regulator-name = "vcc-pll-avcc";
    314};
    315
    316&reg_dc1sw {
    317	regulator-name = "vcc-lcd";
    318};
    319
    320&reg_dcdc1 {
    321	regulator-always-on;
    322	regulator-min-microvolt = <3300000>;
    323	regulator-max-microvolt = <3300000>;
    324	regulator-name = "vcc-3v3";
    325};
    326
    327&reg_dcdc2 {
    328	regulator-always-on;
    329	regulator-min-microvolt = <1000000>;
    330	regulator-max-microvolt = <1300000>;
    331	regulator-name = "vdd-cpux";
    332};
    333
    334/* DCDC3 is polyphased with DCDC2 */
    335
    336&reg_dcdc5 {
    337	regulator-always-on;
    338	regulator-min-microvolt = <1200000>;
    339	regulator-max-microvolt = <1200000>;
    340	regulator-name = "vcc-dram";
    341};
    342
    343&reg_dcdc6 {
    344	regulator-always-on;
    345	regulator-min-microvolt = <1100000>;
    346	regulator-max-microvolt = <1100000>;
    347	regulator-name = "vdd-sys";
    348};
    349
    350&reg_dldo1 {
    351	regulator-always-on;
    352	regulator-min-microvolt = <3300000>;
    353	regulator-max-microvolt = <3300000>;
    354	regulator-name = "vcc-hdmi-dsi-sensor";
    355};
    356
    357&reg_dldo3 {
    358	regulator-min-microvolt = <2800000>;
    359	regulator-max-microvolt = <2800000>;
    360	regulator-name = "avdd-csi";
    361};
    362
    363&reg_dldo4 {
    364	regulator-min-microvolt = <3300000>;
    365	regulator-max-microvolt = <3300000>;
    366	regulator-name = "vcc-wifi";
    367};
    368
    369&reg_drivevbus {
    370	regulator-name = "usb0-vbus";
    371	status = "okay";
    372};
    373
    374&reg_eldo1 {
    375	regulator-always-on;
    376	regulator-min-microvolt = <1800000>;
    377	regulator-max-microvolt = <1800000>;
    378	regulator-name = "cpvdd";
    379};
    380
    381&reg_eldo2 {
    382	regulator-min-microvolt = <1800000>;
    383	regulator-max-microvolt = <1800000>;
    384	regulator-name = "vcca-1v8";
    385};
    386
    387&reg_eldo3 {
    388	regulator-min-microvolt = <1800000>;
    389	regulator-max-microvolt = <1800000>;
    390	regulator-name = "dvdd-1v8-csi";
    391};
    392
    393&reg_fldo1 {
    394	regulator-min-microvolt = <1200000>;
    395	regulator-max-microvolt = <1200000>;
    396	regulator-name = "vcc-1v2-hsic";
    397};
    398
    399&reg_fldo2 {
    400	regulator-always-on;
    401	regulator-min-microvolt = <1100000>;
    402	regulator-max-microvolt = <1100000>;
    403	regulator-name = "vdd-cpus";
    404};
    405
    406&reg_ldo_io0 {
    407	regulator-min-microvolt = <3300000>;
    408	regulator-max-microvolt = <3300000>;
    409	regulator-name = "vcc-usb";
    410	status = "okay";
    411};
    412
    413&reg_ldo_io1 {
    414	regulator-min-microvolt = <3300000>;
    415	regulator-max-microvolt = <3300000>;
    416	regulator-enable-ramp-delay = <3500000>;
    417	regulator-name = "vcc-touchscreen";
    418	status = "okay";
    419};
    420
    421&reg_rtc_ldo {
    422	regulator-name = "vcc-rtc";
    423};
    424
    425&simplefb_hdmi {
    426	vcc-hdmi-supply = <&reg_dldo1>;
    427};
    428
    429&hdmi {
    430	hvcc-supply = <&reg_dldo1>;
    431	status = "okay";
    432};
    433
    434&hdmi_out {
    435	hdmi_out_con: endpoint {
    436		remote-endpoint = <&hdmi_con_in>;
    437	};
    438};
    439
    440&sound {
    441	status = "okay";
    442	simple-audio-card,aux-devs = <&codec_analog>, <&speaker_amp>;
    443	simple-audio-card,widgets = "Microphone", "Internal Microphone Left",
    444				    "Microphone", "Internal Microphone Right",
    445				    "Headphone", "Headphone Jack",
    446				    "Speaker", "Internal Speaker";
    447	simple-audio-card,routing =
    448			"Left DAC", "DACL",
    449			"Right DAC", "DACR",
    450			"Speaker Amp INL", "LINEOUT",
    451			"Speaker Amp INR", "LINEOUT",
    452			"Internal Speaker", "Speaker Amp OUTL",
    453			"Internal Speaker", "Speaker Amp OUTR",
    454			"Headphone Jack", "HP",
    455			"ADCL", "Left ADC",
    456			"ADCR", "Right ADC",
    457			"Internal Microphone Left", "MBIAS",
    458			"MIC1", "Internal Microphone Left",
    459			"Internal Microphone Right", "HBIAS",
    460			"MIC2", "Internal Microphone Right";
    461};
    462
    463&uart0 {
    464	pinctrl-names = "default";
    465	pinctrl-0 = <&uart0_pb_pins>;
    466	status = "okay";
    467};
    468
    469&usb_otg {
    470	dr_mode = "otg";
    471	status = "okay";
    472};
    473
    474&usb_power_supply {
    475	status = "okay";
    476};
    477
    478&usbphy {
    479	usb0_id_det-gpios = <&pio 7 9 GPIO_ACTIVE_HIGH>; /* PH9 */
    480	usb0_vbus_power-supply = <&usb_power_supply>;
    481	usb0_vbus-supply = <&reg_drivevbus>;
    482	usb1_vbus-supply = <&reg_ldo_io0>;
    483	status = "okay";
    484};