| // SPDX-License-Identifier: GPL-2.0+ | 
 | /* | 
 |  * at91-nattis-2-natte-2.dts - Device Tree file for the Linea/Nattis board | 
 |  * | 
 |  * Copyright (C) 2017 Axentia Technologies AB | 
 |  * | 
 |  * Author: Peter Rosin <peda@axentia.se> | 
 |  */ | 
 | /dts-v1/; | 
 | #include "at91-linea.dtsi" | 
 | #include "at91-natte.dtsi" | 
 |  | 
 | / { | 
 | 	model = "Axentia Linea-Nattis v2 Natte v2"; | 
 | 	compatible = "axentia,nattis-2", "axentia,natte-2", "axentia,linea", | 
 | 		     "atmel,sama5d31", "atmel,sama5d3", "atmel,sama5"; | 
 |  | 
 | 	gpio-keys { | 
 | 		compatible = "gpio-keys"; | 
 |  | 
 | 		wakeup { | 
 | 			label = "Wakeup"; | 
 | 			linux,code = <10>; | 
 | 			wakeup-source; | 
 | 			gpios = <&pioB 27 GPIO_ACTIVE_LOW>; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	panel_reg: panel-regulator { | 
 | 		compatible = "regulator-fixed"; | 
 | 		regulator-name = "panel-VCC"; | 
 | 		regulator-min-microvolt = <3300000>; | 
 | 		regulator-max-microvolt = <3300000>; | 
 | 	}; | 
 |  | 
 | 	bl_reg: backlight-regulator { | 
 | 		compatible = "regulator-fixed"; | 
 | 		regulator-name = "panel-VDD"; | 
 | 		regulator-min-microvolt = <12000000>; | 
 | 		regulator-max-microvolt = <12000000>; | 
 | 	}; | 
 |  | 
 | 	panel_bl: backlight { | 
 | 		compatible = "pwm-backlight"; | 
 | 		pwms = <&hlcdc_pwm 0 100000 0>; | 
 |  | 
 | 		brightness-levels = < 0  1  2  3  4  5  6  7  8  9 | 
 | 				     10 11 12 13 14 15 16 17 18 19 | 
 | 				     20 21 22 23 24 25 26 27 28 29 | 
 | 				     30 31 32 33 34 35 36 37 38 39 | 
 | 				     40 41 42 43 44 45 46 47 48 49 | 
 | 				     50 51 52 53 54 55 56 57 58 59 | 
 | 				     60 61 62 63 64 65 66 67 68 69 | 
 | 				     70 71 72 73 74 75 76 77 78 79 | 
 | 				     80 81 82 83 84 85 86 87 88 89 | 
 | 				     90 91 92 93 94 95 96 97 98 99 | 
 | 				    100>; | 
 | 		default-brightness-level = <40>; | 
 |  | 
 | 		power-supply = <&bl_reg>; | 
 | 		enable-gpios = <&pioA 20 GPIO_ACTIVE_HIGH>; | 
 | 		pinctrl-names = "default"; | 
 | 		pinctrl-0 = <&pinctrl_blon>; | 
 | 	}; | 
 |  | 
 | 	panel: panel { | 
 | 		compatible = "sharp,lq150x1lg11", "panel-lvds"; | 
 |  | 
 | 		backlight = <&panel_bl>; | 
 | 		power-supply = <&panel_reg>; | 
 |  | 
 | 		width-mm = <304>; | 
 | 		height-mm = <228>; | 
 |  | 
 | 		data-mapping = "jeida-18"; | 
 |  | 
 | 		panel-timing { | 
 | 			// 1024x768 @ 60Hz (typical) | 
 | 			clock-frequency = <50000000 65000000 80000000>; | 
 | 			hactive = <1024>; | 
 | 			vactive = <768>; | 
 | 			hfront-porch = <48 88 88>; | 
 | 			hback-porch = <96 168 168>; | 
 | 			hsync-len = <32 64 64>; | 
 | 			vsync-len = <3 13 74>; | 
 | 			vfront-porch = <3 13 74>; | 
 | 			vback-porch = <3 12 74>; | 
 | 		}; | 
 |  | 
 | 		port { | 
 | 			panel_input: endpoint { | 
 | 				remote-endpoint = <&lvds_encoder_output>; | 
 | 			}; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	lvds-encoder { | 
 | 		compatible = "ti,ds90c185", "lvds-encoder"; | 
 |  | 
 | 		pinctrl-names = "default"; | 
 | 		pinctrl-0 = <&pinctrl_lvds_prlud0 &pinctrl_lvds_hipow0>; | 
 |  | 
 | 		ports { | 
 | 			#address-cells = <1>; | 
 | 			#size-cells = <0>; | 
 |  | 
 | 			port@0 { | 
 | 				reg = <0>; | 
 |  | 
 | 				lvds_encoder_input: endpoint { | 
 | 					remote-endpoint = <&hlcdc_output>; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			port@1 { | 
 | 				reg = <1>; | 
 |  | 
 | 				lvds_encoder_output: endpoint { | 
 | 					remote-endpoint = <&panel_input>; | 
 | 				}; | 
 | 			}; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	sound { | 
 | 		compatible = "simple-audio-card"; | 
 |  | 
 | 		simple-audio-card,name = "nattis-tfa9879"; | 
 | 		simple-audio-card,format = "i2s"; | 
 | 		simple-audio-card,bitclock-master = <&cpu_dai>; | 
 | 		simple-audio-card,frame-master = <&cpu_dai>; | 
 | 		simple-audio-card,widgets = "Line", "Line Out Jack"; | 
 | 		simple-audio-card,routing = "Line Out Jack", "LINEOUT"; | 
 |  | 
 | 		cpu_dai: simple-audio-card,cpu { | 
 | 			sound-dai = <&ssc0>; | 
 | 		}; | 
 |  | 
 | 		simple-audio-card,codec { | 
 | 			sound-dai = <&>; | 
 | 		}; | 
 | 	}; | 
 | }; | 
 |  | 
 | &pinctrl { | 
 | 	nattis { | 
 | 		pinctrl_usba_vbus: usba_vbus { | 
 | 			atmel,pins = <AT91_PIOD 28 AT91_PERIPH_GPIO | 
 | 				      AT91_PINCTRL_DEGLITCH>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_mmc0_cd: mmc0_cd { | 
 | 			atmel,pins = <AT91_PIOD  5 AT91_PERIPH_GPIO | 
 | 				      AT91_PINCTRL_PULL_UP_DEGLITCH>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_lvds_prlud0: lvds_prlud0 { | 
 | 			atmel,pins = <AT91_PIOA 21 AT91_PERIPH_GPIO | 
 | 				      (AT91_PINCTRL_OUTPUT | | 
 | 				       AT91_PINCTRL_OUTPUT_VAL(0))>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_lvds_hipow0: lvds_hipow0 { | 
 | 			atmel,pins = <AT91_PIOA 23 AT91_PERIPH_GPIO | 
 | 				      (AT91_PINCTRL_OUTPUT | | 
 | 				       AT91_PINCTRL_OUTPUT_VAL(0))>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_blon: blon { | 
 | 			atmel,pins = <AT91_PIOA 20 AT91_PERIPH_GPIO | 
 | 				      (AT91_PINCTRL_OUTPUT | | 
 | 				       AT91_PINCTRL_OUTPUT_VAL(0))>; | 
 | 		}; | 
 | 	}; | 
 | }; | 
 |  | 
 | &watchdog { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &i2c0 { | 
 | 	status = "okay"; | 
 |  | 
 | 	clock-frequency = <100000>; | 
 |  | 
 | 	temp@18 { | 
 | 		compatible = "nxp,se97b", "jedec,jc-42.4-temp"; | 
 | 		reg = <0x18>; | 
 | 		smbus-timeout-disable; | 
 | 	}; | 
 |  | 
 | 	eeprom@50 { | 
 | 		compatible = "nxp,se97b", "atmel,24c02"; | 
 | 		reg = <0x50>; | 
 | 		pagesize = <16>; | 
 | 	}; | 
 |  | 
 | 	amp: amplifier@6c { | 
 | 		 compatible = "nxp,tfa9879"; | 
 | 		 reg = <0x6c>; | 
 | 		 #sound-dai-cells = <0>; | 
 | 	}; | 
 | }; | 
 |  | 
 | &ssc0 { | 
 | 	status = "okay"; | 
 |  | 
 | 	atmel,clk-from-rk-pin; | 
 | 	#sound-dai-cells = <0>; | 
 | }; | 
 |  | 
 | &hlcdc { | 
 | 	status = "okay"; | 
 |  | 
 | 	hlcdc-display-controller { | 
 | 		pinctrl-names = "default"; | 
 | 		pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb565>; | 
 |  | 
 | 		port@0 { | 
 | 			hlcdc_output: endpoint { | 
 | 				remote-endpoint = <&lvds_encoder_input>; | 
 | 				bus-width = <16>; | 
 | 			}; | 
 | 		}; | 
 | 	}; | 
 | }; | 
 |  | 
 | &mmc0 { | 
 | 	status = "okay"; | 
 |  | 
 | 	pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 | 
 | 		     &pinctrl_mmc0_dat1_3 | 
 | 		     &pinctrl_mmc0_cd>; | 
 |  | 
 | 	slot@0 { | 
 | 		reg = <0>; | 
 | 		bus-width = <4>; | 
 | 		cd-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>; | 
 | 		cd-inverted; | 
 | 	}; | 
 | }; | 
 |  | 
 | &usart0 { | 
 | 	status = "okay"; | 
 |  | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_usart0>; | 
 | 	atmel,use-dma-rx; | 
 | }; | 
 |  | 
 | &nand { | 
 | 	partitions { | 
 | 		compatible = "fixed-partitions"; | 
 | 		#address-cells = <1>; | 
 | 		#size-cells = <1>; | 
 |  | 
 | 		at91bootstrap@0 { | 
 | 			label = "at91bootstrap"; | 
 | 			reg = <0x0 0x40000>; | 
 | 		}; | 
 |  | 
 | 		barebox@40000 { | 
 | 			label = "barebox"; | 
 | 			reg = <0x40000 0x60000>; | 
 | 		}; | 
 |  | 
 | 		bareboxenv@c0000 { | 
 | 			label = "bareboxenv"; | 
 | 			reg = <0xc0000 0x40000>; | 
 | 		}; | 
 |  | 
 | 		bareboxenv2@100000 { | 
 | 			label = "bareboxenv2"; | 
 | 			reg = <0x100000 0x40000>; | 
 | 		}; | 
 |  | 
 | 		oftree@180000 { | 
 | 			label = "oftree"; | 
 | 			reg = <0x180000 0x20000>; | 
 | 		}; | 
 |  | 
 | 		kernel@200000 { | 
 | 			label = "kernel"; | 
 | 			reg = <0x200000 0x500000>; | 
 | 		}; | 
 |  | 
 | 		rootfs@800000 { | 
 | 			label = "rootfs"; | 
 | 			reg = <0x800000 0x1f800000>; | 
 | 		}; | 
 | 	}; | 
 | }; | 
 |  | 
 | &dbgu { | 
 | 	status = "okay"; | 
 |  | 
 | 	atmel,use-dma-rx; | 
 | }; | 
 |  | 
 | &usb0 { | 
 | 	status = "okay"; | 
 |  | 
 | 	atmel,vbus-gpio = <&pioD 28 GPIO_ACTIVE_HIGH>; | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_usba_vbus>; | 
 | }; |