| // SPDX-License-Identifier: GPL-2.0-only | 
 |  | 
 | #include <dt-bindings/input/input.h> | 
 |  | 
 | / { | 
 | 	chosen { | 
 | 		stdout-path = &uart1; | 
 | 	}; | 
 |  | 
 | 	cpus { | 
 | 		cpu@0 { | 
 | 			cpu0-supply = <&vcc>; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	memory@80000000 { | 
 | 		device_type = "memory"; | 
 | 		reg = <0x80000000 0>; | 
 | 	}; | 
 |  | 
 | 	leds { | 
 | 		compatible = "gpio-leds"; | 
 | 		user0 { | 
 | 			label = "user0"; | 
 | 			gpios = <&twl_gpio 18 GPIO_ACTIVE_LOW>;	/* LEDA */ | 
 | 			linux,default-trigger = "none"; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	/* fixed 26MHz oscillator */ | 
 | 	hfclk_26m: oscillator { | 
 | 		#clock-cells = <0>; | 
 | 		compatible = "fixed-clock"; | 
 | 		clock-frequency = <26000000>; | 
 | 	}; | 
 | }; | 
 |  | 
 | /* The Torpedo doesn't route the USB host pins */ | 
 | &usbhshost { | 
 | 	status = "disabled"; | 
 | }; | 
 |  | 
 | &gpmc { | 
 | 	ranges = <0 0 0x30000000 0x1000000>;	/* CS0: 16MB for NAND */ | 
 |  | 
 | 	nand@0,0 { | 
 | 		compatible = "ti,omap2-nand"; | 
 | 		reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ | 
 | 		interrupt-parent = <&gpmc>; | 
 | 		interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */ | 
 | 			     <1 IRQ_TYPE_NONE>;	/* termcount */ | 
 | 		linux,mtd-name = "micron,mt29f4g16abbda3w"; | 
 | 		nand-bus-width = <16>; | 
 | 		ti,nand-ecc-opt = "bch8"; | 
 | 		rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 */ | 
 | 		gpmc,sync-clk-ps = <0>; | 
 | 		gpmc,cs-on-ns = <0>; | 
 | 		gpmc,cs-rd-off-ns = <44>; | 
 | 		gpmc,cs-wr-off-ns = <44>; | 
 | 		gpmc,adv-on-ns = <6>; | 
 | 		gpmc,adv-rd-off-ns = <34>; | 
 | 		gpmc,adv-wr-off-ns = <44>; | 
 | 		gpmc,we-off-ns = <40>; | 
 | 		gpmc,oe-off-ns = <54>; | 
 | 		gpmc,access-ns = <64>; | 
 | 		gpmc,rd-cycle-ns = <82>; | 
 | 		gpmc,wr-cycle-ns = <82>; | 
 | 		gpmc,wr-access-ns = <40>; | 
 | 		gpmc,wr-data-mux-bus-ns = <0>; | 
 | 		gpmc,device-width = <2>; | 
 | 		#address-cells = <1>; | 
 | 		#size-cells = <1>; | 
 | 	}; | 
 | }; | 
 |  | 
 | &i2c1 { | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&i2c1_pins>; | 
 | 	clock-frequency = <2600000>; | 
 |  | 
 | 	twl: twl@48 { | 
 | 		reg = <0x48>; | 
 | 		interrupts = <7>; /* SYS_NIRQ cascaded to intc */ | 
 | 		interrupt-parent = <&intc>; | 
 | 		clocks = <&hfclk_26m>; | 
 | 		clock-names = "fck"; | 
 |  | 
 | 		twl_audio: audio { | 
 | 			compatible = "ti,twl4030-audio"; | 
 | 			codec { | 
 | 			}; | 
 | 		}; | 
 | 	}; | 
 | }; | 
 |  | 
 | &i2c2 { | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&i2c2_pins>; | 
 | 	clock-frequency = <400000>; | 
 | }; | 
 |  | 
 | &i2c3 { | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&i2c3_pins>; | 
 | 	clock-frequency = <400000>; | 
 | 	at24@50 { | 
 | 		compatible = "atmel,24c64"; | 
 | 		readonly; | 
 | 		reg = <0x50>; | 
 | 	}; | 
 | }; | 
 |  | 
 | &omap3_pmx_core { | 
 | 	mcbsp2_pins: pinmux_mcbsp2_pins { | 
 | 		pinctrl-single,pins = < | 
 | 			OMAP3_CORE1_IOPAD(0x213c, PIN_INPUT | MUX_MODE0)        /* mcbsp2_fsx */ | 
 | 			OMAP3_CORE1_IOPAD(0x213e, PIN_INPUT | MUX_MODE0)        /* mcbsp2_clkx */ | 
 | 			OMAP3_CORE1_IOPAD(0x2140, PIN_INPUT | MUX_MODE0)        /* mcbsp2_dr */ | 
 | 			OMAP3_CORE1_IOPAD(0x2142, PIN_OUTPUT | MUX_MODE0)       /* mcbsp2_dx */ | 
 | 		>; | 
 | 	}; | 
 | 	uart2_pins: pinmux_uart2_pins { | 
 | 		pinctrl-single,pins = < | 
 | 			OMAP3_CORE1_IOPAD(0x2174, PIN_INPUT | MUX_MODE0)	/* uart2_cts.uart2_cts */ | 
 | 			OMAP3_CORE1_IOPAD(0x2176, PIN_OUTPUT | MUX_MODE0)	/* uart2_rts .uart2_rts*/ | 
 | 			OMAP3_CORE1_IOPAD(0x2178, PIN_OUTPUT | MUX_MODE0)	/* uart2_tx.uart2_tx */ | 
 | 			OMAP3_CORE1_IOPAD(0x217a, PIN_INPUT | MUX_MODE0)	/* uart2_rx.uart2_rx */ | 
 | 			OMAP3_CORE1_IOPAD(0x2198, PIN_OUTPUT | MUX_MODE4)	/* GPIO_162,BT_EN */ | 
 | 		>; | 
 | 	}; | 
 | 	mcspi1_pins: pinmux_mcspi1_pins { | 
 | 		pinctrl-single,pins = < | 
 | 			OMAP3_CORE1_IOPAD(0x21c8, PIN_INPUT | MUX_MODE0)        /* mcspi1_clk.mcspi1_clk */ | 
 | 			OMAP3_CORE1_IOPAD(0x21ca, PIN_OUTPUT | MUX_MODE0)       /* mcspi1_simo.mcspi1_simo */ | 
 | 			OMAP3_CORE1_IOPAD(0x21cc, PIN_INPUT_PULLUP | MUX_MODE0) /* mcspi1_somi.mcspi1_somi */ | 
 | 			OMAP3_CORE1_IOPAD(0x21ce, PIN_OUTPUT | MUX_MODE0)       /* mcspi1_cs0.mcspi1_cs0 */ | 
 | 		>; | 
 | 	}; | 
 | 	hsusb_otg_pins: pinmux_hsusb_otg_pins { | 
 | 		pinctrl-single,pins = < | 
 | 			OMAP3_CORE1_IOPAD(0x21a2, PIN_INPUT | MUX_MODE0)	/* hsusb0_clk.hsusb0_clk */ | 
 | 			OMAP3_CORE1_IOPAD(0x21a4, PIN_OUTPUT | MUX_MODE0)	/* hsusb0_stp.hsusb0_stp */ | 
 | 			OMAP3_CORE1_IOPAD(0x21a6, PIN_INPUT | MUX_MODE0)	/* hsusb0_dir.hsusb0_dir */ | 
 | 			OMAP3_CORE1_IOPAD(0x21a8, PIN_INPUT | MUX_MODE0)	/* hsusb0_nxt.hsusb0_nxt */ | 
 |  | 
 | 			OMAP3_CORE1_IOPAD(0x21aa, PIN_INPUT | MUX_MODE0)	/* hsusb0_data0.hsusb0_data0 */ | 
 | 			OMAP3_CORE1_IOPAD(0x21ac, PIN_INPUT | MUX_MODE0)	/* hsusb0_data1.hsusb0_data1 */ | 
 | 			OMAP3_CORE1_IOPAD(0x21ae, PIN_INPUT | MUX_MODE0)	/* hsusb0_data2.hsusb0_data2 */ | 
 | 			OMAP3_CORE1_IOPAD(0x21b0, PIN_INPUT | MUX_MODE0)	/* hsusb0_data3.hsusb0_data3 */ | 
 | 			OMAP3_CORE1_IOPAD(0x21b2, PIN_INPUT | MUX_MODE0)	/* hsusb0_data4.hsusb0_data4 */ | 
 | 			OMAP3_CORE1_IOPAD(0x21b4, PIN_INPUT | MUX_MODE0)	/* hsusb0_data5.hsusb0_data5 */ | 
 | 			OMAP3_CORE1_IOPAD(0x21b6, PIN_INPUT | MUX_MODE0)	/* hsusb0_data6.hsusb0_data6 */ | 
 | 			OMAP3_CORE1_IOPAD(0x21b8, PIN_INPUT | MUX_MODE0)	/* hsusb0_data7.hsusb0_data7 */ | 
 | 		>; | 
 | 	}; | 
 | 	i2c1_pins: pinmux_i2c1_pins { | 
 | 		pinctrl-single,pins = < | 
 | 			OMAP3_CORE1_IOPAD(0x21ba, PIN_INPUT | MUX_MODE0)        /* i2c1_scl.i2c1_scl */ | 
 | 			OMAP3_CORE1_IOPAD(0x21bc, PIN_INPUT | MUX_MODE0)        /* i2c1_sda.i2c1_sda */ | 
 | 		>; | 
 | 	}; | 
 | 	i2c2_pins: pinmux_i2c2_pins { | 
 | 		pinctrl-single,pins = < | 
 | 			OMAP3_CORE1_IOPAD(0x21be, PIN_INPUT | MUX_MODE0)	/* i2c2_scl */ | 
 | 			OMAP3_CORE1_IOPAD(0x21c0, PIN_INPUT | MUX_MODE0)	/* i2c2_sda */ | 
 | 		>; | 
 | 	}; | 
 | 	i2c3_pins: pinmux_i2c3_pins { | 
 | 		pinctrl-single,pins = < | 
 | 			OMAP3_CORE1_IOPAD(0x21c2, PIN_INPUT | MUX_MODE0)	/* i2c3_scl */ | 
 | 			OMAP3_CORE1_IOPAD(0x21c4, PIN_INPUT | MUX_MODE0)	/* i2c3_sda */ | 
 | 		>; | 
 | 	}; | 
 | }; | 
 |  | 
 | &uart2 { | 
 | 	interrupts-extended = <&intc 73 &omap3_pmx_core OMAP3_UART2_RX>; | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&uart2_pins>; | 
 | }; | 
 |  | 
 | &mcspi1 { | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&mcspi1_pins>; | 
 | }; | 
 |  | 
 | #include "twl4030.dtsi" | 
 | #include "twl4030_omap3.dtsi" | 
 |  | 
 | &twl { | 
 | 	twl_power: power { | 
 | 		compatible = "ti,twl4030-power-idle-osc-off", "ti,twl4030-power-idle"; | 
 | 		ti,use_poweroff; | 
 | 	}; | 
 | }; | 
 |  | 
 | &twl_gpio { | 
 | 	ti,use-leds; | 
 | }; | 
 |  | 
 | &twl_keypad { | 
 | 	status = "disabled"; | 
 | }; |