Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003  * Samsung's S5PV210 SoC device tree source
0004  *
0005  * Copyright (c) 2013-2014 Samsung Electronics, Co. Ltd.
0006  *
0007  * Mateusz Krawczuk <m.krawczuk@partner.samsung.com>
0008  * Tomasz Figa <t.figa@samsung.com>
0009  *
0010  * Board device tree source for Samsung Goni board.
0011  */
0012 
0013 /dts-v1/;
0014 #include <dt-bindings/gpio/gpio.h>
0015 #include <dt-bindings/interrupt-controller/irq.h>
0016 #include <dt-bindings/input/input.h>
0017 #include "s5pv210.dtsi"
0018 
0019 / {
0020         model = "Samsung Goni based on S5PC110";
0021         compatible = "samsung,goni", "samsung,s5pv210";
0022 
0023         aliases {
0024                 i2c3 = &i2c_pmic;
0025         };
0026 
0027         chosen {
0028                 bootargs = "console=ttySAC0,115200n8 root=/dev/mmcblk0p5 rw rootwait ignore_loglevel earlyprintk";
0029         };
0030 
0031         memory@30000000 {
0032                 device_type = "memory";
0033                 reg = <0x30000000 0x05000000>,
0034                         <0x40000000 0x10000000>,
0035                         <0x50000000 0x08000000>;
0036         };
0037 
0038         pmic_ap_clk: clock-0 {
0039                 /* Workaround for missing clock on PMIC */
0040                 compatible = "fixed-clock";
0041                 #clock-cells = <0>;
0042                 clock-frequency = <32768>;
0043         };
0044 
0045         vtf_reg: regulator-0 {
0046                 compatible = "regulator-fixed";
0047                 regulator-name = "V_TF_2.8V";
0048                 regulator-min-microvolt = <2800000>;
0049                 regulator-max-microvolt = <2800000>;
0050                 gpio = <&mp05 4 GPIO_ACTIVE_HIGH>;
0051                 enable-active-high;
0052         };
0053 
0054         pda_reg: regulator-1 {
0055                 compatible = "regulator-fixed";
0056                 regulator-name = "VCC_1.8V_PDA";
0057                 regulator-min-microvolt = <1800000>;
0058                 regulator-max-microvolt = <1800000>;
0059         };
0060 
0061         bat_reg: regulator-2 {
0062                 compatible = "regulator-fixed";
0063                 regulator-name = "V_BAT";
0064                 regulator-min-microvolt = <3700000>;
0065                 regulator-max-microvolt = <3700000>;
0066         };
0067 
0068         tsp_reg: regulator-3 {
0069                 compatible = "regulator-fixed";
0070                 regulator-name = "TSP_VDD";
0071                 regulator-min-microvolt = <2800000>;
0072                 regulator-max-microvolt = <2800000>;
0073                 gpio = <&gpj1 3 GPIO_ACTIVE_HIGH>;
0074                 enable-active-high;
0075         };
0076 
0077         i2c_pmic: i2c-pmic {
0078                 compatible = "i2c-gpio";
0079                 sda-gpios = <&gpj4 0 GPIO_ACTIVE_HIGH>;
0080                 scl-gpios = <&gpj4 3 GPIO_ACTIVE_HIGH>;
0081                 i2c-gpio,delay-us = <2>;        /* ~100 kHz */
0082                 #address-cells = <1>;
0083                 #size-cells = <0>;
0084 
0085                 pmic@66 {
0086                         compatible = "national,lp3974";
0087                         reg = <0x66>;
0088 
0089                         max8998,pmic-buck1-default-dvs-idx = <0>;
0090                         max8998,pmic-buck1-dvs-gpios = <&gph0 3 GPIO_ACTIVE_HIGH>,
0091                                                         <&gph0 4 GPIO_ACTIVE_HIGH>;
0092                         max8998,pmic-buck1-dvs-voltage = <1200000>, <1200000>,
0093                                                         <1200000>, <1200000>;
0094 
0095                         max8998,pmic-buck2-default-dvs-idx = <0>;
0096                         max8998,pmic-buck2-dvs-gpio = <&gph0 5 GPIO_ACTIVE_HIGH>;
0097                         max8998,pmic-buck2-dvs-voltage = <1200000>, <1200000>;
0098 
0099                         regulators {
0100                                 ldo2_reg: LDO2 {
0101                                         regulator-name = "VALIVE_1.1V";
0102                                         regulator-min-microvolt = <1100000>;
0103                                         regulator-max-microvolt = <1100000>;
0104                                         regulator-always-on;
0105                                 };
0106 
0107                                 ldo3_reg: LDO3 {
0108                                         regulator-name = "VUSB+MIPI_1.1V";
0109                                         regulator-min-microvolt = <1100000>;
0110                                         regulator-max-microvolt = <1100000>;
0111                                         regulator-always-on;
0112                                 };
0113 
0114                                 ldo4_reg: LDO4 {
0115                                         regulator-name = "VADC_3.3V";
0116                                         regulator-min-microvolt = <3300000>;
0117                                         regulator-max-microvolt = <3300000>;
0118                                 };
0119 
0120                                 ldo5_reg: LDO5 {
0121                                         regulator-name = "VTF_2.8V";
0122                                         regulator-min-microvolt = <2800000>;
0123                                         regulator-max-microvolt = <2800000>;
0124                                 };
0125 
0126                                 ldo6_reg: LDO6 {
0127                                         regulator-name = "VCC_3.3V";
0128                                         regulator-min-microvolt = <3300000>;
0129                                         regulator-max-microvolt = <3300000>;
0130                                 };
0131 
0132                                 ldo7_reg: LDO7 {
0133                                         regulator-name = "VLCD_1.8V";
0134                                         regulator-min-microvolt = <1800000>;
0135                                         regulator-max-microvolt = <1800000>;
0136                                         regulator-always-on;
0137                                 };
0138 
0139                                 ldo8_reg: LDO8 {
0140                                         regulator-name = "VUSB+VDAC_3.3V";
0141                                         regulator-min-microvolt = <3300000>;
0142                                         regulator-max-microvolt = <3300000>;
0143                                 };
0144 
0145                                 ldo9_reg: LDO9 {
0146                                         regulator-name = "VCC+VCAM_2.8V";
0147                                         regulator-min-microvolt = <2800000>;
0148                                         regulator-max-microvolt = <2800000>;
0149                                 };
0150 
0151                                 ldo10_reg: LDO10 {
0152                                         regulator-name = "VPLL_1.1V";
0153                                         regulator-min-microvolt = <1100000>;
0154                                         regulator-max-microvolt = <1100000>;
0155                                         regulator-boot-on;
0156                                 };
0157 
0158                                 ldo11_reg: LDO11 {
0159                                         regulator-name = "CAM_IO_2.8V";
0160                                         regulator-min-microvolt = <2800000>;
0161                                         regulator-max-microvolt = <2800000>;
0162                                 };
0163 
0164                                 ldo12_reg: LDO12 {
0165                                         regulator-name = "CAM_ISP_1.2V";
0166                                         regulator-min-microvolt = <1200000>;
0167                                         regulator-max-microvolt = <1200000>;
0168                                 };
0169 
0170                                 ldo13_reg: LDO13 {
0171                                         regulator-name = "CAM_A_2.8V";
0172                                         regulator-min-microvolt = <2800000>;
0173                                         regulator-max-microvolt = <2800000>;
0174                                 };
0175 
0176                                 ldo14_reg: LDO14 {
0177                                         regulator-name = "CAM_CIF_1.8V";
0178                                         regulator-min-microvolt = <1800000>;
0179                                         regulator-max-microvolt = <1800000>;
0180                                 };
0181 
0182                                 ldo15_reg: LDO15 {
0183                                         regulator-name = "CAM_AF_3.3V";
0184                                         regulator-min-microvolt = <3300000>;
0185                                         regulator-max-microvolt = <3300000>;
0186                                 };
0187 
0188                                 ldo16_reg: LDO16 {
0189                                         regulator-name = "VMIPI_1.8V";
0190                                         regulator-min-microvolt = <1800000>;
0191                                         regulator-max-microvolt = <1800000>;
0192                                 };
0193 
0194                                 ldo17_reg: LDO17 {
0195                                         regulator-name = "CAM_8M_1.8V";
0196                                         regulator-min-microvolt = <1800000>;
0197                                         regulator-max-microvolt = <1800000>;
0198                                         regulator-always-on;
0199                                 };
0200 
0201                                 buck1_reg: BUCK1 {
0202                                         regulator-name = "VARM_1.2V";
0203                                         regulator-min-microvolt = <1200000>;
0204                                         regulator-max-microvolt = <1200000>;
0205                                 };
0206 
0207                                 buck2_reg: BUCK2 {
0208                                         regulator-name = "VINT_1.2V";
0209                                         regulator-min-microvolt = <1200000>;
0210                                         regulator-max-microvolt = <1200000>;
0211                                 };
0212 
0213                                 buck3_reg: BUCK3 {
0214                                         regulator-name = "VCC_1.8V";
0215                                         regulator-min-microvolt = <1800000>;
0216                                         regulator-max-microvolt = <1800000>;
0217                                         regulator-always-on;
0218                                 };
0219 
0220                                 buck4_reg: BUCK4 {
0221                                         regulator-name = "CAM_CORE_1.2V";
0222                                         regulator-min-microvolt = <1200000>;
0223                                         regulator-max-microvolt = <1200000>;
0224                                         regulator-always-on;
0225                                 };
0226 
0227                                 ap32khz_reg: EN32KHz-AP {
0228                                         regulator-name = "32KHz AP";
0229                                         regulator-always-on;
0230                                 };
0231                         };
0232                 };
0233         };
0234 
0235         gpio-keys {
0236                 compatible = "gpio-keys";
0237 
0238                 power-key {
0239                         gpios = <&gph2 6 1>;
0240                         linux,code = <KEY_POWER>;
0241                         label = "power";
0242                         debounce-interval = <1>;
0243                         wakeup-source;
0244                 };
0245         };
0246 };
0247 
0248 &xusbxti {
0249         clock-frequency = <24000000>;
0250 };
0251 
0252 &keypad {
0253         linux,input-no-autorepeat;
0254         wakeup-source;
0255         samsung,keypad-num-rows = <3>;
0256         samsung,keypad-num-columns = <3>;
0257         pinctrl-names = "default";
0258         pinctrl-0 = <&keypad_row0>, <&keypad_row1>, <&keypad_row2>,
0259                         <&keypad_col0>, <&keypad_col1>, <&keypad_col2>;
0260         status = "okay";
0261 
0262         key-1 {
0263                 keypad,row = <0>;
0264                 keypad,column = <1>;
0265                 linux,code = <KEY_CONNECT>;
0266         };
0267 
0268         key-2 {
0269                 keypad,row = <0>;
0270                 keypad,column = <2>;
0271                 linux,code = <KEY_BACK>;
0272         };
0273 
0274         key-3 {
0275                 keypad,row = <1>;
0276                 keypad,column = <1>;
0277                 linux,code = <KEY_CAMERA_FOCUS>;
0278         };
0279 
0280         key-4 {
0281                 keypad,row = <1>;
0282                 keypad,column = <2>;
0283                 linux,code = <KEY_VOLUMEUP>;
0284         };
0285 
0286         key-5 {
0287                 keypad,row = <2>;
0288                 keypad,column = <1>;
0289                 linux,code = <KEY_CAMERA>;
0290         };
0291 
0292         key-6 {
0293                 keypad,row = <2>;
0294                 keypad,column = <2>;
0295                 linux,code = <KEY_VOLUMEDOWN>;
0296         };
0297 };
0298 
0299 &uart0 {
0300         status = "okay";
0301 };
0302 
0303 &uart1 {
0304         status = "okay";
0305 };
0306 
0307 &uart2 {
0308         status = "okay";
0309 };
0310 
0311 &uart3 {
0312         status = "okay";
0313 };
0314 
0315 &rtc {
0316         clocks = <&clocks CLK_RTC>, <&pmic_ap_clk>;
0317         clock-names = "rtc", "rtc_src";
0318 };
0319 
0320 &sdhci0 {
0321         bus-width = <4>;
0322         non-removable;
0323         vmmc-supply = <&ldo5_reg>;
0324         pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus1 &sd0_bus4>;
0325         pinctrl-names = "default";
0326         status = "okay";
0327 };
0328 
0329 &sdhci2 {
0330         bus-width = <4>;
0331         cd-gpios = <&gph3 4 1>;
0332         vmmc-supply = <&vtf_reg>;
0333         cd-inverted;
0334         pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
0335         pinctrl-names = "default";
0336         status = "okay";
0337 };
0338 
0339 &hsotg {
0340         vusb_a-supply = <&ldo3_reg>;
0341         vusb_d-supply = <&ldo8_reg>;
0342         dr_mode = "peripheral";
0343         status = "okay";
0344 };
0345 
0346 &usbphy {
0347         status = "okay";
0348 };
0349 
0350 &i2c2 {
0351         samsung,i2c-sda-delay = <100>;
0352         samsung,i2c-max-bus-freq = <400000>;
0353         samsung,i2c-slave-addr = <0x10>;
0354         status = "okay";
0355 
0356         touchscreen@4a {
0357                 compatible = "atmel,maxtouch";
0358                 reg = <0x4a>;
0359                 interrupt-parent = <&gpj0>;
0360                 interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
0361                 vdd-supply = <&tsp_reg>;
0362         };
0363 };
0364 
0365 &i2c0 {
0366         samsung,i2c-sda-delay = <100>;
0367         samsung,i2c-max-bus-freq = <100000>;
0368         samsung,i2c-slave-addr = <0x10>;
0369         status = "okay";
0370 
0371         noon010pc30: sensor@30 {
0372                 compatible = "siliconfile,noon010pc30";
0373                 reg = <0x30>;
0374                 vddio-supply = <&ldo11_reg>;
0375                 vdda-supply = <&ldo13_reg>;
0376                 vdd_core-supply = <&ldo14_reg>;
0377 
0378                 clock-frequency = <16000000>;
0379                 clocks = <&camera 0>;
0380                 clock-names = "mclk";
0381                 nreset-gpios = <&gpb 2 GPIO_ACTIVE_HIGH>;
0382                 nstby-gpios = <&gpb 0 GPIO_ACTIVE_HIGH>;
0383 
0384                 port {
0385                         noon010pc30_ep: endpoint {
0386                                 remote-endpoint = <&fimc0_ep>;
0387                                 bus-width = <8>;
0388                                 hsync-active = <0>;
0389                                 vsync-active = <1>;
0390                                 pclk-sample = <1>;
0391                         };
0392                 };
0393         };
0394 };
0395 
0396 &camera {
0397         pinctrl-0 = <&cam_port_a_io &cam_port_a_clk_active>;
0398         pinctrl-1 = <&cam_port_a_io &cam_port_a_clk_idle>;
0399         pinctrl-names = "default", "idle";
0400 
0401         parallel-ports {
0402                 #address-cells = <1>;
0403                 #size-cells = <0>;
0404 
0405                 /* camera A input */
0406                 port@1 {
0407                         reg = <1>;
0408                         fimc0_ep: endpoint {
0409                                 remote-endpoint = <&noon010pc30_ep>;
0410                                 bus-width = <8>;
0411                                 hsync-active = <1>;
0412                                 vsync-active = <1>;
0413                                 pclk-sample = <0>;
0414                         };
0415                 };
0416         };
0417 };
0418 
0419 &fimd {
0420         pinctrl-0 = <&lcd_clk &lcd_data24>;
0421         pinctrl-names = "default";
0422         status = "okay";
0423 
0424         display-timings {
0425                 native-mode = <&timing0>;
0426                 timing0: timing {
0427                         /* 480x800@55Hz */
0428                         clock-frequency = <23439570>;
0429                         hactive = <480>;
0430                         hfront-porch = <16>;
0431                         hback-porch = <16>;
0432                         hsync-len = <2>;
0433                         vactive = <800>;
0434                         vback-porch = <2>;
0435                         vfront-porch = <28>;
0436                         vsync-len = <1>;
0437                         hsync-active = <0>;
0438                         vsync-active = <0>;
0439                         de-active = <0>;
0440                         pixelclk-active = <0>;
0441                 };
0442         };
0443 };
0444 
0445 &onenand {
0446         status = "okay";
0447 };