Lines Matching +full:pin +full:- +full:settings
7 * Bernecker & Rainer Industrieelektronik GmbH - http://www.br-automation.com
9 * SPDX-License-Identifier: GPL-2.0+
34 #include "../../../drivers/video/am335x-fb.h"
43 #define FDTPROP(b, c) fdt_getprop_u32_default(gd->fdt_blob, b, c, ~0UL)
44 #define PATHTIM "/panel/display-timings/default"
45 #define PATHINF "/panel/panel-info"
47 /* --------------------------------------------------------------------------*/
53 if (gd->fdt_blob == NULL) { in lcdbacklight()
54 printf("%s: don't have a valid gd->fdt_blob!\n", __func__); in lcdbacklight()
82 case 0: /* PMIC LED-Driver */ in lcdbacklight()
95 timerhw->tiocp_cfg = TCFG_RESET; in lcdbacklight()
97 while (timerhw->tiocp_cfg & TCFG_RESET) in lcdbacklight()
99 tmp = ~0UL-(V_OSCK/pwmfrq); /* bottom value */ in lcdbacklight()
100 timerhw->tldr = tmp; in lcdbacklight()
101 timerhw->tcrr = tmp; in lcdbacklight()
103 timerhw->tmar = tmp; in lcdbacklight()
104 timerhw->tclr = (TCLR_PT | (2 << TCLR_TRG_SHIFT) | in lcdbacklight()
107 puts("invalid pwmfrq in env/dtb! skip PWM-setup.\n"); in lcdbacklight()
125 if (gd->fdt_blob == NULL) { in load_lcdtiming()
126 printf("%s: don't have a valid gd->fdt_blob!\n", __func__); in load_lcdtiming()
127 return -1; in load_lcdtiming()
134 pnltmp.hfp = FDTPROP(PATHTIM, "hfront-porch"); in load_lcdtiming()
135 pnltmp.hbp = FDTPROP(PATHTIM, "hback-porch"); in load_lcdtiming()
136 pnltmp.hsw = FDTPROP(PATHTIM, "hsync-len"); in load_lcdtiming()
137 pnltmp.vfp = FDTPROP(PATHTIM, "vfront-porch"); in load_lcdtiming()
138 pnltmp.vbp = FDTPROP(PATHTIM, "vback-porch"); in load_lcdtiming()
139 pnltmp.vsw = FDTPROP(PATHTIM, "vsync-len"); in load_lcdtiming()
143 /* calc. proper clk-divisor */ in load_lcdtiming()
144 dtbprop = FDTPROP(PATHTIM, "clock-frequency"); in load_lcdtiming()
150 /* check polarity of control-signals */ in load_lcdtiming()
151 dtbprop = FDTPROP(PATHTIM, "hsync-active"); in load_lcdtiming()
154 dtbprop = FDTPROP(PATHTIM, "vsync-active"); in load_lcdtiming()
157 dtbprop = FDTPROP(PATHINF, "sync-ctrl"); in load_lcdtiming()
160 dtbprop = FDTPROP(PATHINF, "sync-edge"); in load_lcdtiming()
163 dtbprop = FDTPROP(PATHTIM, "pixelclk-active"); in load_lcdtiming()
166 dtbprop = FDTPROP(PATHTIM, "de-active"); in load_lcdtiming()
170 nodeoff = fdt_path_offset(gd->fdt_blob, "/factory-settings"); in load_lcdtiming()
172 nodep = fdt_getprop(gd->fdt_blob, nodeoff, "rotation", NULL); in load_lcdtiming()
184 puts("no 'factory-settings / rotation' in dtb!\n"); in load_lcdtiming()
219 puts("lcd-settings in env/dtb incomplete!\n"); in load_lcdtiming()
220 printf("display-timings:\n" in load_lcdtiming()
239 return -1; in load_lcdtiming()
241 debug("lcd-settings in env complete, taking over.\n"); in load_lcdtiming()
258 return -1; in load_devicetree()
271 return -1; in load_devicetree()
276 return -1; in load_devicetree()
281 gd->fdt_blob = (void *)dtbaddr; in load_devicetree()
282 gd->fdt_size = dtbsize; in load_devicetree()
284 (u32)dtbsize, (u32)gd->fdt_blob); in load_devicetree()
289 return -1; in load_devicetree()
299 if (gd->fdt_blob == NULL) { in dtbmacaddr()
300 printf("%s: don't have a valid gd->fdt_blob!\n", __func__); in dtbmacaddr()
304 node = fdt_path_offset(gd->fdt_blob, "/aliases"); in dtbmacaddr()
309 path = fdt_getprop(gd->fdt_blob, node, enet, NULL); in dtbmacaddr()
315 node = fdt_path_offset(gd->fdt_blob, path); in dtbmacaddr()
316 mac = fdt_getprop(gd->fdt_blob, node, "mac-address", &len); in dtbmacaddr()
333 if (gd->fdt_blob == NULL) { in br_summaryscreen_printdtb()
334 printf("%s: don't have a valid gd->fdt_blob!\n", __func__); in br_summaryscreen_printdtb()
347 nodeoffset = fdt_path_offset(gd->fdt_blob, in br_summaryscreen_printdtb()
348 "/factory-settings"); in br_summaryscreen_printdtb()
350 puts("no 'factory-settings' in dtb!\n"); in br_summaryscreen_printdtb()
353 nodep = fdt_getprop(gd->fdt_blob, nodeoffset, name, &len); in br_summaryscreen_printdtb()
364 nodeoffset = fdt_path_offset(blob, "/factory-settings"); in ft_board_setup()
366 puts("set bootloader version 'factory-settings' not in dtb!\n"); in ft_board_setup()
367 return -1; in ft_board_setup()
369 if (fdt_setprop(blob, nodeoffset, "bl-version", in ft_board_setup()
371 puts("set bootloader version 'bl-version' prop. not in dtb!\n"); in ft_board_setup()
372 return -1; in ft_board_setup()
382 /* Setup simplefb devicetree node, also adapt memory-node, in ft_board_setup()
383 * upper limit for kernel e.g. linux is memtop-framebuffer alligned in ft_board_setup()
386 u64 start = gd->bd->bi_dram[0].start; in ft_board_setup()
387 u64 size = (gd->fb_base - start) & ~0xFFFFF; in ft_board_setup()
423 br_summaryscreen_printdtb(" - B&R -", "order-no", "-\n"); in br_summaryscreen()
424 br_summaryscreen_printdtb(" Serial/Rev :", "serial-no", " /"); in br_summaryscreen()
425 br_summaryscreen_printdtb(" ", "hw-revision", "\n"); in br_summaryscreen()
431 br_summaryscreen_printenv(" - B&R -", "br_orderno", 0, "-\n"); in br_summaryscreen()
442 u32 pin, swval, i; in lcdpower() local
444 if (gd->fdt_blob == NULL) { in lcdpower()
445 printf("%s: don't have a valid gd->fdt_blob!\n", __func__); in lcdpower()
448 pin = FDTPROP(PATHINF, "pwrpin"); in lcdpower()
450 pin = env_get_ulong("ds1_pwr", 16, ~0UL); in lcdpower()
452 if (pin == ~0UL) { in lcdpower()
458 if (pin != 0) { in lcdpower()
459 swval = pin & 0x80 ? 0 : 1; in lcdpower()
461 gpio_direction_output(pin & 0x7F, swval); in lcdpower()
463 gpio_direction_output(pin & 0x7F, !swval); in lcdpower()
465 debug("switched pin %d to %d\n", pin & 0x7F, swval); in lcdpower()
467 pin >>= 8; in lcdpower()
498 * lcd-framework. in lcd_ctrl_init()
513 #error "LCD-support with a suitable FB-Driver is mandatory !"
529 printf("detected max. frequency: %d - ", dpll_mpu_opp100.m); in pmicsetup()
533 printf("retuning MPU-PLL to: %d MHz.\n", dpll_mpu_opp100.m); in pmicsetup()
651 mac_lo = readl(&cdev->macid0l); in board_eth_init()
652 mac_hi = readl(&cdev->macid0h); in board_eth_init()
666 printf("<ethaddr> not set. validating E-fuse MAC ... "); in board_eth_init()
676 writel(MII_MODE_ENABLE, &cdev->miisel); in board_eth_init()
693 rc |= omap_mmc_init(0, 0, 0, -1, -1); in board_mmc_init()
694 rc |= omap_mmc_init(1, 0, 0, -1, -1); in board_mmc_init()