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

meson-gxbb-nexbox-a95x.dts (6232B)


      1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
      2/*
      3 * Copyright (c) 2016 Andreas Färber
      4 * Copyright (c) 2016 BayLibre, Inc.
      5 * Author: Neil Armstrong <narmstrong@kernel.org>
      6 */
      7
      8/dts-v1/;
      9
     10#include "meson-gxbb.dtsi"
     11#include <dt-bindings/gpio/gpio.h>
     12#include <dt-bindings/input/input.h>
     13#include <dt-bindings/sound/meson-aiu.h>
     14
     15/ {
     16	compatible = "nexbox,a95x", "amlogic,meson-gxbb";
     17	model = "NEXBOX A95X";
     18
     19	aliases {
     20		serial0 = &uart_AO;
     21		ethernet0 = &ethmac;
     22	};
     23
     24	chosen {
     25		stdout-path = "serial0:115200n8";
     26	};
     27
     28	memory@0 {
     29		device_type = "memory";
     30		reg = <0x0 0x0 0x0 0x40000000>;
     31	};
     32
     33	leds {
     34		compatible = "gpio-leds";
     35		led-blue {
     36			label = "a95x:system-status";
     37			gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_LOW>;
     38			linux,default-trigger = "heartbeat";
     39			default-state = "off";
     40		};
     41	};
     42
     43	gpio-keys-polled {
     44		compatible = "gpio-keys-polled";
     45		#address-cells = <1>;
     46		#size-cells = <0>;
     47		poll-interval = <100>;
     48
     49		button@0 {
     50			label = "reset";
     51			linux,code = <KEY_RESTART>;
     52			gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_LOW>;
     53		};
     54	};
     55
     56	usb_pwr: regulator-usb-pwrs {
     57		compatible = "regulator-fixed";
     58
     59		regulator-name = "USB_PWR";
     60
     61		regulator-min-microvolt = <5000000>;
     62		regulator-max-microvolt = <5000000>;
     63
     64		gpio = <&gpio GPIODV_24 GPIO_ACTIVE_HIGH>;
     65		enable-active-high;
     66	};
     67
     68	vddio_card: gpio-regulator {
     69		compatible = "regulator-gpio";
     70
     71		regulator-name = "VDDIO_CARD";
     72		regulator-min-microvolt = <1800000>;
     73		regulator-max-microvolt = <3300000>;
     74
     75		gpios = <&gpio_ao GPIOAO_5 GPIO_ACTIVE_HIGH>;
     76		gpios-states = <1>;
     77
     78		/* Based on P200 schematics, signal CARD_1.8V/3.3V_CTR */
     79		states = <1800000 0>,
     80			 <3300000 1>;
     81	};
     82
     83	vddio_boot: regulator-vddio_boot {
     84		compatible = "regulator-fixed";
     85		regulator-name = "VDDIO_BOOT";
     86		regulator-min-microvolt = <1800000>;
     87		regulator-max-microvolt = <1800000>;
     88	};
     89
     90	vddao_3v3: regulator-vddao_3v3 {
     91		compatible = "regulator-fixed";
     92		regulator-name = "VDDAO_3V3";
     93		regulator-min-microvolt = <3300000>;
     94		regulator-max-microvolt = <3300000>;
     95	};
     96
     97	vcc_3v3: regulator-vcc_3v3 {
     98		compatible = "regulator-fixed";
     99		regulator-name = "VCC_3V3";
    100		regulator-min-microvolt = <3300000>;
    101		regulator-max-microvolt = <3300000>;
    102	};
    103
    104	emmc_pwrseq: emmc-pwrseq {
    105		compatible = "mmc-pwrseq-emmc";
    106		reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
    107	};
    108
    109	wifi32k: wifi32k {
    110		compatible = "pwm-clock";
    111		#clock-cells = <0>;
    112		clock-frequency = <32768>;
    113		pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
    114	};
    115
    116	sdio_pwrseq: sdio-pwrseq {
    117		compatible = "mmc-pwrseq-simple";
    118		reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
    119		clocks = <&wifi32k>;
    120		clock-names = "ext_clock";
    121	};
    122
    123	cvbs-connector {
    124		compatible = "composite-video-connector";
    125
    126		port {
    127			cvbs_connector_in: endpoint {
    128				remote-endpoint = <&cvbs_vdac_out>;
    129			};
    130		};
    131	};
    132
    133	hdmi-connector {
    134		compatible = "hdmi-connector";
    135		type = "a";
    136
    137		port {
    138			hdmi_connector_in: endpoint {
    139				remote-endpoint = <&hdmi_tx_tmds_out>;
    140			};
    141		};
    142	};
    143
    144	sound {
    145		compatible = "amlogic,gx-sound-card";
    146		model = "NEXBOX-A95X";
    147		assigned-clocks = <&clkc CLKID_MPLL0>,
    148				  <&clkc CLKID_MPLL1>,
    149				  <&clkc CLKID_MPLL2>;
    150		assigned-clock-parents = <0>, <0>, <0>;
    151		assigned-clock-rates = <294912000>,
    152				       <270950400>,
    153				       <393216000>;
    154		status = "okay";
    155
    156		dai-link-0 {
    157			sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>;
    158		};
    159
    160		dai-link-1 {
    161			sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>;
    162			dai-format = "i2s";
    163			mclk-fs = <256>;
    164
    165			codec-0 {
    166				sound-dai = <&aiu AIU_HDMI CTRL_I2S>;
    167			};
    168		};
    169
    170		dai-link-2 {
    171			sound-dai = <&aiu AIU_HDMI CTRL_OUT>;
    172
    173			codec-0 {
    174				sound-dai = <&hdmi_tx>;
    175			};
    176		};
    177	};
    178};
    179
    180&aiu {
    181	status = "okay";
    182};
    183
    184&cvbs_vdac_port {
    185	cvbs_vdac_out: endpoint {
    186		remote-endpoint = <&cvbs_connector_in>;
    187	};
    188};
    189
    190&cec_AO {
    191	status = "okay";
    192	pinctrl-0 = <&ao_cec_pins>;
    193	pinctrl-names = "default";
    194	hdmi-phandle = <&hdmi_tx>;
    195};
    196
    197&ethmac {
    198	status = "okay";
    199	pinctrl-0 = <&eth_rmii_pins>;
    200	pinctrl-names = "default";
    201
    202	phy-handle = <&eth_phy0>;
    203	phy-mode = "rmii";
    204
    205	mdio {
    206		compatible = "snps,dwmac-mdio";
    207		#address-cells = <1>;
    208		#size-cells = <0>;
    209
    210		eth_phy0: ethernet-phy@0 {
    211			/* IC Plus IP101GR (0x02430c54) */
    212			reg = <0>;
    213
    214			reset-assert-us = <10000>;
    215			reset-deassert-us = <10000>;
    216			reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
    217		};
    218	};
    219};
    220
    221&hdmi_tx {
    222	status = "okay";
    223	pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
    224	pinctrl-names = "default";
    225};
    226
    227&hdmi_tx_tmds_port {
    228	hdmi_tx_tmds_out: endpoint {
    229		remote-endpoint = <&hdmi_connector_in>;
    230	};
    231};
    232
    233&ir {
    234	status = "okay";
    235	pinctrl-0 = <&remote_input_ao_pins>;
    236	pinctrl-names = "default";
    237};
    238
    239&pwm_ef {
    240	status = "okay";
    241	pinctrl-0 = <&pwm_e_pins>;
    242	pinctrl-names = "default";
    243	clocks = <&clkc CLKID_FCLK_DIV4>;
    244	clock-names = "clkin0";
    245};
    246
    247/* Wireless SDIO Module */
    248&sd_emmc_a {
    249	status = "okay";
    250	pinctrl-0 = <&sdio_pins>;
    251	pinctrl-1 = <&sdio_clk_gate_pins>;
    252	pinctrl-names = "default", "clk-gate";
    253	#address-cells = <1>;
    254	#size-cells = <0>;
    255
    256	bus-width = <4>;
    257	cap-sd-highspeed;
    258	max-frequency = <100000000>;
    259
    260	non-removable;
    261	disable-wp;
    262
    263	/* WiFi firmware requires power to be kept while in suspend */
    264	keep-power-in-suspend;
    265
    266	mmc-pwrseq = <&sdio_pwrseq>;
    267
    268	vmmc-supply = <&vddao_3v3>;
    269	vqmmc-supply = <&vddio_boot>;
    270};
    271
    272/* SD card */
    273&sd_emmc_b {
    274	status = "okay";
    275	pinctrl-0 = <&sdcard_pins>;
    276	pinctrl-1 = <&sdcard_clk_gate_pins>;
    277	pinctrl-names = "default", "clk-gate";
    278
    279	bus-width = <4>;
    280	cap-sd-highspeed;
    281	max-frequency = <50000000>;
    282	disable-wp;
    283
    284	cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>;
    285
    286	vmmc-supply = <&vddao_3v3>;
    287	vqmmc-supply = <&vddio_card>;
    288};
    289
    290/* eMMC */
    291&sd_emmc_c {
    292	status = "okay";
    293	pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
    294	pinctrl-1 = <&emmc_clk_gate_pins>;
    295	pinctrl-names = "default", "clk-gate";
    296
    297	bus-width = <8>;
    298	cap-mmc-highspeed;
    299	max-frequency = <200000000>;
    300	non-removable;
    301	disable-wp;
    302	mmc-ddr-1_8v;
    303	mmc-hs200-1_8v;
    304
    305	mmc-pwrseq = <&emmc_pwrseq>;
    306	vmmc-supply = <&vcc_3v3>;
    307	vqmmc-supply = <&vddio_boot>;
    308};
    309
    310&uart_AO {
    311	status = "okay";
    312	pinctrl-0 = <&uart_ao_a_pins>;
    313	pinctrl-names = "default";
    314};
    315
    316&usb0_phy {
    317	status = "okay";
    318	phy-supply = <&usb_pwr>;
    319};
    320
    321&usb1_phy {
    322	status = "okay";
    323};
    324
    325&usb0 {
    326	status = "okay";
    327};
    328
    329&usb1 {
    330	status = "okay";
    331};