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

qi_lb60.dts (7997B)


      1// SPDX-License-Identifier: GPL-2.0
      2/dts-v1/;
      3
      4#include "jz4740.dtsi"
      5
      6#include <dt-bindings/gpio/gpio.h>
      7#include <dt-bindings/iio/adc/ingenic,adc.h>
      8#include <dt-bindings/clock/ingenic,tcu.h>
      9#include <dt-bindings/input/input.h>
     10
     11#define KEY_QI_QI	KEY_F13
     12#define KEY_QI_UPRED	KEY_RIGHTALT
     13#define KEY_QI_VOLUP	KEY_VOLUMEUP
     14#define KEY_QI_VOLDOWN	KEY_VOLUMEDOWN
     15#define KEY_QI_FN	KEY_LEFTCTRL
     16
     17/ {
     18	compatible = "qi,lb60", "ingenic,jz4740";
     19	model = "Ben Nanonote";
     20
     21	memory {
     22		device_type = "memory";
     23		reg = <0x0 0x2000000>;
     24	};
     25
     26	chosen {
     27		stdout-path = &uart0;
     28	};
     29
     30	vcc: regulator@0 {
     31		compatible = "regulator-fixed";
     32		regulator-name = "vcc";
     33
     34		regulator-min-microvolt = <3300000>;
     35		regulator-max-microvolt = <3300000>;
     36		regulator-always-on;
     37	};
     38
     39	mmc_power: regulator@1 {
     40		compatible = "regulator-fixed";
     41		regulator-name = "mmc_vcc";
     42		gpio = <&gpd 2 0>;
     43
     44		regulator-min-microvolt = <3300000>;
     45		regulator-max-microvolt = <3300000>;
     46	};
     47
     48	amp_supply: regulator@2 {
     49		compatible = "regulator-fixed";
     50		regulator-name = "amp_supply";
     51		gpio = <&gpd 4 0>;
     52		enable-active-high;
     53
     54		regulator-min-microvolt = <3300000>;
     55		regulator-max-microvolt = <3300000>;
     56	};
     57
     58	amp: analog-amplifier {
     59		compatible = "simple-audio-amplifier";
     60		enable-gpios = <&gpb 29 GPIO_ACTIVE_HIGH>;
     61		VCC-supply = <&amp_supply>;
     62	};
     63
     64	sound {
     65		compatible = "simple-audio-card";
     66
     67		simple-audio-card,name = "QI LB60";
     68		simple-audio-card,format = "i2s";
     69
     70		simple-audio-card,widgets =
     71			"Speaker", "Speaker",
     72			"Microphone", "Mic";
     73		simple-audio-card,routing =
     74			"MIC", "Mic",
     75			"Speaker", "OUTL",
     76			"Speaker", "OUTR",
     77			"INL", "LOUT",
     78			"INR", "ROUT";
     79
     80		simple-audio-card,aux-devs = <&amp>;
     81
     82		simple-audio-card,bitclock-master = <&dai_codec>;
     83		simple-audio-card,frame-master = <&dai_codec>;
     84
     85		dai_cpu: simple-audio-card,cpu {
     86			sound-dai = <&aic>;
     87		};
     88
     89		dai_codec: simple-audio-card,codec {
     90			sound-dai = <&codec>;
     91		};
     92	};
     93
     94	keys {
     95		compatible = "gpio-keys";
     96
     97		key {
     98			label = "Power";
     99			wakeup-source;
    100			linux,code = <KEY_POWER>;
    101			gpios = <&gpd 29 GPIO_ACTIVE_LOW>;
    102		};
    103	};
    104
    105	keyboard {
    106		compatible = "gpio-matrix-keypad";
    107
    108		col-scan-delay-us = <10>;
    109		debounce-delay-ms = <10>;
    110		wakeup-source;
    111
    112		row-gpios = <&gpd 18 0>, <&gpd 19 0>, <&gpd 20 0>, <&gpd 21 0>,
    113			    <&gpd 22 0>, <&gpd 23 0>, <&gpd 24 0>, <&gpd 26 0>;
    114		col-gpios = <&gpc 10 0>, <&gpc 11 0>, <&gpc 12 0>, <&gpc 13 0>,
    115			    <&gpc 14 0>, <&gpc 15 0>, <&gpc 16 0>, <&gpc 17 0>;
    116		gpio-activelow;
    117
    118		linux,keymap =
    119			<MATRIX_KEY(0, 0, KEY_F1)>,	/* S2 */
    120			<MATRIX_KEY(0, 1, KEY_F2)>,	/* S3 */
    121			<MATRIX_KEY(0, 2, KEY_F3)>,	/* S4 */
    122			<MATRIX_KEY(0, 3, KEY_F4)>,	/* S5 */
    123			<MATRIX_KEY(0, 4, KEY_F5)>,	/* S6 */
    124			<MATRIX_KEY(0, 5, KEY_F6)>,	/* S7 */
    125			<MATRIX_KEY(0, 6, KEY_F7)>,	/* S8 */
    126
    127			<MATRIX_KEY(1, 0, KEY_Q)>,	/* S10 */
    128			<MATRIX_KEY(1, 1, KEY_W)>,	/* S11 */
    129			<MATRIX_KEY(1, 2, KEY_E)>,	/* S12 */
    130			<MATRIX_KEY(1, 3, KEY_R)>,	/* S13 */
    131			<MATRIX_KEY(1, 4, KEY_T)>,	/* S14 */
    132			<MATRIX_KEY(1, 5, KEY_Y)>,	/* S15 */
    133			<MATRIX_KEY(1, 6, KEY_U)>,	/* S16 */
    134			<MATRIX_KEY(1, 7, KEY_I)>,	/* S17 */
    135			<MATRIX_KEY(2, 0, KEY_A)>,	/* S18 */
    136			<MATRIX_KEY(2, 1, KEY_S)>,	/* S19 */
    137			<MATRIX_KEY(2, 2, KEY_D)>,	/* S20 */
    138			<MATRIX_KEY(2, 3, KEY_F)>,	/* S21 */
    139			<MATRIX_KEY(2, 4, KEY_G)>,	/* S22 */
    140			<MATRIX_KEY(2, 5, KEY_H)>,	/* S23 */
    141			<MATRIX_KEY(2, 6, KEY_J)>,	/* S24 */
    142			<MATRIX_KEY(2, 7, KEY_K)>,	/* S25 */
    143			<MATRIX_KEY(3, 0, KEY_ESC)>,	/* S26 */
    144			<MATRIX_KEY(3, 1, KEY_Z)>,	/* S27 */
    145			<MATRIX_KEY(3, 2, KEY_X)>,	/* S28 */
    146			<MATRIX_KEY(3, 3, KEY_C)>,	/* S29 */
    147			<MATRIX_KEY(3, 4, KEY_V)>,	/* S30 */
    148			<MATRIX_KEY(3, 5, KEY_B)>,	/* S31 */
    149			<MATRIX_KEY(3, 6, KEY_N)>,	/* S32 */
    150			<MATRIX_KEY(3, 7, KEY_M)>,	/* S33 */
    151			<MATRIX_KEY(4, 0, KEY_TAB)>,	/* S34 */
    152			<MATRIX_KEY(4, 1, KEY_CAPSLOCK)>,	/* S35 */
    153			<MATRIX_KEY(4, 2, KEY_BACKSLASH)>,	/* S36 */
    154			<MATRIX_KEY(4, 3, KEY_APOSTROPHE)>,	/* S37 */
    155			<MATRIX_KEY(4, 4, KEY_COMMA)>,	/* S38 */
    156			<MATRIX_KEY(4, 5, KEY_DOT)>,	/* S39 */
    157			<MATRIX_KEY(4, 6, KEY_SLASH)>,	/* S40 */
    158			<MATRIX_KEY(4, 7, KEY_UP)>,	/* S41 */
    159			<MATRIX_KEY(5, 0, KEY_O)>,	/* S42 */
    160			<MATRIX_KEY(5, 1, KEY_L)>,	/* S43 */
    161			<MATRIX_KEY(5, 2, KEY_EQUAL)>,	/* S44 */
    162			<MATRIX_KEY(5, 3, KEY_QI_UPRED)>,	/* S45 */
    163			<MATRIX_KEY(5, 4, KEY_SPACE)>,	/* S46 */
    164			<MATRIX_KEY(5, 5, KEY_QI_QI)>,	/* S47 */
    165			<MATRIX_KEY(5, 6, KEY_RIGHTCTRL)>,	/* S48 */
    166			<MATRIX_KEY(5, 7, KEY_LEFT)>,	/* S49 */
    167			<MATRIX_KEY(6, 0, KEY_F8)>,	/* S50 */
    168			<MATRIX_KEY(6, 1, KEY_P)>,	/* S51 */
    169			<MATRIX_KEY(6, 2, KEY_BACKSPACE)>,/* S52 */
    170			<MATRIX_KEY(6, 3, KEY_ENTER)>,	/* S53 */
    171			<MATRIX_KEY(6, 4, KEY_QI_VOLUP)>,	/* S54 */
    172			<MATRIX_KEY(6, 5, KEY_QI_VOLDOWN)>,	/* S55 */
    173			<MATRIX_KEY(6, 6, KEY_DOWN)>,	/* S56 */
    174			<MATRIX_KEY(6, 7, KEY_RIGHT)>,	/* S57 */
    175
    176			<MATRIX_KEY(7, 0, KEY_LEFTSHIFT)>,	/* S58 */
    177			<MATRIX_KEY(7, 1, KEY_LEFTALT)>, /* S59 */
    178			<MATRIX_KEY(7, 2, KEY_QI_FN)>;	/* S60 */
    179	};
    180
    181	spi {
    182		compatible = "spi-gpio";
    183		#address-cells = <1>;
    184		#size-cells = <0>;
    185
    186		sck-gpios = <&gpc 23 GPIO_ACTIVE_HIGH>;
    187		mosi-gpios = <&gpc 22 GPIO_ACTIVE_HIGH>;
    188		cs-gpios = <&gpc 21 GPIO_ACTIVE_LOW>;
    189		num-chipselects = <1>;
    190	};
    191
    192	usb_charger: charger {
    193		compatible = "gpio-charger";
    194		charger-type = "usb-sdp";
    195		gpios = <&gpd 28 GPIO_ACTIVE_LOW>;
    196		status-gpios = <&gpc 27 GPIO_ACTIVE_LOW>;
    197	};
    198
    199	simple_battery: battery {
    200		compatible = "simple-battery";
    201		voltage-min-design-microvolt = <3600000>;
    202		voltage-max-design-microvolt = <4200000>;
    203	};
    204
    205	pmu {
    206		compatible = "ingenic,jz4740-battery";
    207		io-channels = <&adc INGENIC_ADC_BATTERY>;
    208		io-channel-names = "battery";
    209		power-supplies = <&usb_charger>;
    210		monitored-battery = <&simple_battery>;
    211	};
    212
    213	hwmon {
    214		compatible = "iio-hwmon";
    215		io-channels = <&adc INGENIC_ADC_AUX>;
    216	};
    217
    218	panel: panel {
    219		compatible = "giantplus,gpm940b0";
    220
    221		power-supply = <&vcc>;
    222
    223		port {
    224			panel_input: endpoint {
    225				remote-endpoint = <&panel_output>;
    226			};
    227		};
    228	};
    229
    230	usb_phy: usb-phy {
    231		compatible = "usb-nop-xceiv";
    232		#phy-cells = <0>;
    233
    234		vcc-supply = <&vcc>;
    235	};
    236};
    237
    238&ext {
    239	clock-frequency = <12000000>;
    240};
    241
    242&rtc_dev {
    243	system-power-controller;
    244};
    245
    246&uart0 {
    247	pinctrl-names = "default";
    248	pinctrl-0 = <&pins_uart0>;
    249};
    250
    251&uart1 {
    252	status = "disabled";
    253};
    254
    255&nemc {
    256	nandc: nand-controller@1 {
    257		compatible = "ingenic,jz4740-nand";
    258		reg = <1 0 0x4000000>;
    259
    260		#address-cells = <1>;
    261		#size-cells = <0>;
    262
    263		ecc-engine = <&ecc>;
    264
    265		pinctrl-names = "default";
    266		pinctrl-0 = <&pins_nemc>;
    267
    268		rb-gpios = <&gpc 30 GPIO_ACTIVE_HIGH>;
    269
    270		nand@1 {
    271			reg = <1>;
    272
    273			nand-ecc-step-size = <512>;
    274			nand-ecc-strength = <4>;
    275			nand-ecc-mode = "hw";
    276			nand-is-boot-medium;
    277			nand-on-flash-bbt;
    278
    279			partitions {
    280				compatible = "fixed-partitions";
    281				#address-cells = <1>;
    282				#size-cells = <1>;
    283
    284				partition@0 {
    285					label = "boot";
    286					reg = <0x0 0x400000>;
    287				};
    288
    289				partition@400000 {
    290					label = "kernel";
    291					reg = <0x400000 0x400000>;
    292				};
    293
    294				partition@800000 {
    295					label = "rootfs";
    296					reg = <0x800000 0x0>;
    297				};
    298			};
    299		};
    300	};
    301};
    302
    303&lcd {
    304	pinctrl-names = "default";
    305	pinctrl-0 = <&pins_lcd>;
    306
    307	port {
    308		panel_output: endpoint {
    309			remote-endpoint = <&panel_input>;
    310		};
    311	};
    312};
    313
    314&udc {
    315	phys = <&usb_phy>;
    316};
    317
    318&pinctrl {
    319	pins_lcd: lcd {
    320		function = "lcd";
    321		groups = "lcd-8bit";
    322	};
    323
    324	pins_nemc: nemc {
    325		function = "nand";
    326		groups = "nand-fre-fwe", "nand-cs1";
    327	};
    328
    329	pins_uart0: uart0 {
    330		function = "uart0";
    331		groups = "uart0-data";
    332		bias-disable;
    333	};
    334
    335	pins_mmc: mmc {
    336		mmc {
    337			function = "mmc";
    338			groups = "mmc-1bit", "mmc-4bit";
    339			bias-disable;
    340		};
    341
    342		mmc-gpios {
    343			pins = "PD0", "PD2";
    344			bias-disable;
    345		};
    346	};
    347};
    348
    349&mmc {
    350	bus-width = <4>;
    351	max-frequency = <24000000>;
    352	cd-gpios = <&gpd 0 GPIO_ACTIVE_HIGH>;
    353	vmmc-supply = <&mmc_power>;
    354
    355	pinctrl-names = "default";
    356	pinctrl-0 = <&pins_mmc>;
    357};
    358
    359&tcu {
    360	/* 750 kHz for the system timer and clocksource */
    361	assigned-clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER1>;
    362	assigned-clock-rates = <750000>, <750000>;
    363};