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-g12b-w400.dtsi (8661B)


      1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
      2/*
      3 * Copyright (c) 2019 BayLibre, SAS
      4 * Author: Neil Armstrong <narmstrong@baylibre.com>
      5 * Copyright (c) 2019 Christian Hewitt <christianshewitt@gmail.com>
      6 */
      7
      8/dts-v1/;
      9
     10#include "meson-g12b.dtsi"
     11#include "meson-g12b-s922x.dtsi"
     12#include <dt-bindings/input/input.h>
     13#include <dt-bindings/gpio/meson-g12a-gpio.h>
     14
     15/ {
     16	aliases {
     17		serial0 = &uart_AO;
     18		ethernet0 = &ethmac;
     19	};
     20
     21	chosen {
     22		stdout-path = "serial0:115200n8";
     23	};
     24
     25	memory@0 {
     26		device_type = "memory";
     27		reg = <0x0 0x0 0x0 0x40000000>;
     28	};
     29
     30	emmc_pwrseq: emmc-pwrseq {
     31		compatible = "mmc-pwrseq-emmc";
     32		reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>;
     33	};
     34
     35	sdio_pwrseq: sdio-pwrseq {
     36		compatible = "mmc-pwrseq-simple";
     37		reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
     38		clocks = <&wifi32k>;
     39		clock-names = "ext_clock";
     40	};
     41
     42	flash_1v8: regulator-flash_1v8 {
     43		compatible = "regulator-fixed";
     44		regulator-name = "FLASH_1V8";
     45		regulator-min-microvolt = <1800000>;
     46		regulator-max-microvolt = <1800000>;
     47		vin-supply = <&vcc_3v3>;
     48		regulator-always-on;
     49	};
     50
     51	main_12v: regulator-main_12v {
     52		compatible = "regulator-fixed";
     53		regulator-name = "12V";
     54		regulator-min-microvolt = <12000000>;
     55		regulator-max-microvolt = <12000000>;
     56		regulator-always-on;
     57	};
     58
     59	vcc_5v: regulator-vcc_5v {
     60		compatible = "regulator-fixed";
     61		regulator-name = "VCC_5V";
     62		regulator-min-microvolt = <5000000>;
     63		regulator-max-microvolt = <5000000>;
     64		vin-supply = <&main_12v>;
     65
     66		gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>;
     67		enable-active-high;
     68	};
     69
     70	vcc_1v8: regulator-vcc_1v8 {
     71		compatible = "regulator-fixed";
     72		regulator-name = "VCC_1V8";
     73		regulator-min-microvolt = <1800000>;
     74		regulator-max-microvolt = <1800000>;
     75		vin-supply = <&vcc_3v3>;
     76		regulator-always-on;
     77	};
     78
     79	vcc_3v3: regulator-vcc_3v3 {
     80		compatible = "regulator-fixed";
     81		regulator-name = "VCC_3V3";
     82		regulator-min-microvolt = <3300000>;
     83		regulator-max-microvolt = <3300000>;
     84		vin-supply = <&vddao_3v3>;
     85		regulator-always-on;
     86		/* FIXME: actually controlled by VDDCPU_B_EN */
     87	};
     88
     89	vddcpu_a: regulator-vddcpu-a {
     90		/*
     91		 * MP1653 Regulator.
     92		 */
     93		compatible = "pwm-regulator";
     94
     95		regulator-name = "VDDCPU_A";
     96		regulator-min-microvolt = <721000>;
     97		regulator-max-microvolt = <1022000>;
     98
     99		pwm-supply = <&main_12v>;
    100
    101		pwms = <&pwm_ab 0 1250 0>;
    102		pwm-dutycycle-range = <100 0>;
    103
    104		regulator-boot-on;
    105		regulator-always-on;
    106	};
    107
    108	vddcpu_b: regulator-vddcpu-b {
    109		/*
    110		 * MP1652 Regulator.
    111		 */
    112		compatible = "pwm-regulator";
    113
    114		regulator-name = "VDDCPU_B";
    115		regulator-min-microvolt = <721000>;
    116		regulator-max-microvolt = <1022000>;
    117
    118		pwm-supply = <&main_12v>;
    119
    120		pwms = <&pwm_AO_cd 1 1250 0>;
    121		pwm-dutycycle-range = <100 0>;
    122
    123		regulator-boot-on;
    124		regulator-always-on;
    125	};
    126
    127	usb1_pow: regulator-usb1-pow {
    128		compatible = "regulator-fixed";
    129		regulator-name = "USB1_POW";
    130		regulator-min-microvolt = <5000000>;
    131		regulator-max-microvolt = <5000000>;
    132		vin-supply = <&vcc_5v>;
    133
    134		/* connected to SY6280A Power Switch */
    135		gpio = <&gpio GPIOA_8 GPIO_ACTIVE_HIGH>;
    136		enable-active-high;
    137	};
    138
    139	usb_pwr_en: regulator-usb-pwr-en {
    140		compatible = "regulator-fixed";
    141		regulator-name = "USB_PWR_EN";
    142		regulator-min-microvolt = <5000000>;
    143		regulator-max-microvolt = <5000000>;
    144		vin-supply = <&vcc_5v>;
    145
    146		/* Connected to USB3 Type-A Port power enable */
    147		gpio = <&gpio GPIOAO_7 GPIO_ACTIVE_HIGH>;
    148		enable-active-high;
    149	};
    150
    151	vddao_1v8: regulator-vddao-1v8 {
    152		compatible = "regulator-fixed";
    153		regulator-name = "VDDAO_1V8";
    154		regulator-min-microvolt = <1800000>;
    155		regulator-max-microvolt = <1800000>;
    156		vin-supply = <&vddao_3v3>;
    157		regulator-always-on;
    158	};
    159
    160	vddao_3v3: regulator-vddao-3v3 {
    161		compatible = "regulator-fixed";
    162		regulator-name = "VDDAO_3V3";
    163		regulator-min-microvolt = <3300000>;
    164		regulator-max-microvolt = <3300000>;
    165		vin-supply = <&main_12v>;
    166		regulator-always-on;
    167	};
    168
    169	cvbs-connector {
    170		compatible = "composite-video-connector";
    171
    172		port {
    173			cvbs_connector_in: endpoint {
    174				remote-endpoint = <&cvbs_vdac_out>;
    175			};
    176		};
    177	};
    178
    179	hdmi-connector {
    180		compatible = "hdmi-connector";
    181		type = "a";
    182
    183		port {
    184			hdmi_connector_in: endpoint {
    185				remote-endpoint = <&hdmi_tx_tmds_out>;
    186			};
    187		};
    188	};
    189
    190	wifi32k: wifi32k {
    191		compatible = "pwm-clock";
    192		#clock-cells = <0>;
    193		clock-frequency = <32768>;
    194		pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
    195	};
    196};
    197
    198&cec_AO {
    199	pinctrl-0 = <&cec_ao_a_h_pins>;
    200	pinctrl-names = "default";
    201	status = "disabled";
    202	hdmi-phandle = <&hdmi_tx>;
    203};
    204
    205&cecb_AO {
    206	pinctrl-0 = <&cec_ao_b_h_pins>;
    207	pinctrl-names = "default";
    208	status = "okay";
    209	hdmi-phandle = <&hdmi_tx>;
    210};
    211
    212&cpu0 {
    213	cpu-supply = <&vddcpu_b>;
    214	operating-points-v2 = <&cpu_opp_table_0>;
    215	clocks = <&clkc CLKID_CPU_CLK>;
    216	clock-latency = <50000>;
    217};
    218
    219&cpu1 {
    220	cpu-supply = <&vddcpu_b>;
    221	operating-points-v2 = <&cpu_opp_table_0>;
    222	clocks = <&clkc CLKID_CPU_CLK>;
    223	clock-latency = <50000>;
    224};
    225
    226&cpu100 {
    227	cpu-supply = <&vddcpu_a>;
    228	operating-points-v2 = <&cpub_opp_table_1>;
    229	clocks = <&clkc CLKID_CPUB_CLK>;
    230	clock-latency = <50000>;
    231};
    232
    233&cpu101 {
    234	cpu-supply = <&vddcpu_a>;
    235	operating-points-v2 = <&cpub_opp_table_1>;
    236	clocks = <&clkc CLKID_CPUB_CLK>;
    237	clock-latency = <50000>;
    238};
    239
    240&cpu102 {
    241	cpu-supply = <&vddcpu_a>;
    242	operating-points-v2 = <&cpub_opp_table_1>;
    243	clocks = <&clkc CLKID_CPUB_CLK>;
    244	clock-latency = <50000>;
    245};
    246
    247&cpu103 {
    248	cpu-supply = <&vddcpu_a>;
    249	operating-points-v2 = <&cpub_opp_table_1>;
    250	clocks = <&clkc CLKID_CPUB_CLK>;
    251	clock-latency = <50000>;
    252};
    253
    254&cvbs_vdac_port {
    255	cvbs_vdac_out: endpoint {
    256		remote-endpoint = <&cvbs_connector_in>;
    257	};
    258};
    259
    260&ext_mdio {
    261	external_phy: ethernet-phy@0 {
    262		/* Realtek RTL8211F (0x001cc916) */
    263		reg = <0>;
    264		max-speed = <1000>;
    265
    266		reset-assert-us = <10000>;
    267		reset-deassert-us = <80000>;
    268		reset-gpios = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
    269
    270		interrupt-parent = <&gpio_intc>;
    271		/* MAC_INTR on GPIOZ_14 */
    272		interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
    273	};
    274};
    275
    276&ethmac {
    277	pinctrl-0 = <&eth_pins>, <&eth_rgmii_pins>;
    278	pinctrl-names = "default";
    279	status = "okay";
    280	phy-mode = "rgmii";
    281	phy-handle = <&external_phy>;
    282	amlogic,tx-delay-ns = <2>;
    283};
    284
    285&hdmi_tx {
    286	status = "okay";
    287	pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
    288	pinctrl-names = "default";
    289	hdmi-supply = <&vcc_5v>;
    290};
    291
    292&hdmi_tx_tmds_port {
    293	hdmi_tx_tmds_out: endpoint {
    294		remote-endpoint = <&hdmi_connector_in>;
    295	};
    296};
    297
    298&ir {
    299	status = "okay";
    300	pinctrl-0 = <&remote_input_ao_pins>;
    301	pinctrl-names = "default";
    302};
    303
    304&pwm_ab {
    305	pinctrl-0 = <&pwm_a_e_pins>;
    306	pinctrl-names = "default";
    307	clocks = <&xtal>;
    308	clock-names = "clkin0";
    309	status = "okay";
    310};
    311
    312&pwm_AO_cd {
    313	pinctrl-0 = <&pwm_ao_d_e_pins>;
    314	pinctrl-names = "default";
    315	clocks = <&xtal>;
    316	clock-names = "clkin1";
    317	status = "okay";
    318};
    319
    320&pwm_ef {
    321	pinctrl-0 = <&pwm_e_pins>;
    322	pinctrl-names = "default";
    323	clocks = <&xtal>;
    324	clock-names = "clkin0";
    325	status = "okay";
    326};
    327
    328/* SDIO */
    329&sd_emmc_a {
    330	status = "okay";
    331	pinctrl-0 = <&sdio_pins>;
    332	pinctrl-1 = <&sdio_clk_gate_pins>;
    333	pinctrl-names = "default", "clk-gate";
    334	#address-cells = <1>;
    335	#size-cells = <0>;
    336
    337	bus-width = <4>;
    338	cap-sd-highspeed;
    339	max-frequency = <100000000>;
    340
    341	/* WiFi firmware requires power to be kept while in suspend */
    342	keep-power-in-suspend;
    343
    344	non-removable;
    345	disable-wp;
    346
    347	mmc-pwrseq = <&sdio_pwrseq>;
    348
    349	vmmc-supply = <&vddao_3v3>;
    350	vqmmc-supply = <&vddao_1v8>;
    351
    352	brcmf: wifi@1 {
    353		reg = <1>;
    354		compatible = "brcm,bcm4329-fmac";
    355	};
    356};
    357
    358/* SD card */
    359&sd_emmc_b {
    360	status = "okay";
    361	pinctrl-0 = <&sdcard_c_pins>;
    362	pinctrl-1 = <&sdcard_clk_gate_c_pins>;
    363	pinctrl-names = "default", "clk-gate";
    364
    365	bus-width = <4>;
    366	cap-sd-highspeed;
    367	max-frequency = <50000000>;
    368	disable-wp;
    369
    370	cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>;
    371	vmmc-supply = <&vddao_3v3>;
    372	vqmmc-supply = <&vddao_3v3>;
    373};
    374
    375/* eMMC */
    376&sd_emmc_c {
    377	status = "okay";
    378	pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>;
    379	pinctrl-1 = <&emmc_clk_gate_pins>;
    380	pinctrl-names = "default", "clk-gate";
    381
    382	bus-width = <8>;
    383	cap-mmc-highspeed;
    384	max-frequency = <100000000>;
    385	disable-wp;
    386
    387	mmc-pwrseq = <&emmc_pwrseq>;
    388	vmmc-supply = <&vcc_3v3>;
    389	vqmmc-supply = <&flash_1v8>;
    390};
    391
    392&uart_A {
    393	status = "okay";
    394	pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
    395	pinctrl-names = "default";
    396	uart-has-rtscts;
    397
    398	bluetooth {
    399		compatible = "brcm,bcm43438-bt";
    400		shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
    401		max-speed = <2000000>;
    402		clocks = <&wifi32k>;
    403		clock-names = "lpo";
    404	};
    405};
    406
    407&uart_AO {
    408	status = "okay";
    409	pinctrl-0 = <&uart_ao_a_pins>;
    410	pinctrl-names = "default";
    411};
    412
    413&usb {
    414	status = "okay";
    415	dr_mode = "host";
    416	vbus-supply = <&usb_pwr_en>;
    417};
    418
    419&usb2_phy0 {
    420	phy-supply = <&usb1_pow>;
    421};
    422
    423&usb2_phy1 {
    424	phy-supply = <&usb1_pow>;
    425};