Changeset View
Changeset View
Standalone View
Standalone View
sys/arm/ti/am335x/am335x_lcd.c
Show First 20 Lines • Show All 935 Lines • ▼ Show 20 Lines | #endif | ||||
if (!ofw_bus_status_okay(dev)) | if (!ofw_bus_status_okay(dev)) | ||||
return (ENXIO); | return (ENXIO); | ||||
if (!ofw_bus_is_compatible(dev, "ti,am33xx-tilcdc")) | if (!ofw_bus_is_compatible(dev, "ti,am33xx-tilcdc")) | ||||
return (ENXIO); | return (ENXIO); | ||||
device_set_desc(dev, "AM335x LCD controller"); | device_set_desc(dev, "AM335x LCD controller"); | ||||
if (bootverbose == 0) | |||||
device_quiet(dev); | |||||
#ifdef DEV_SC | #ifdef DEV_SC | ||||
err = sc_probe_unit(device_get_unit(dev), | err = sc_probe_unit(device_get_unit(dev), | ||||
device_get_flags(dev) | SC_AUTODETECT_KBD); | device_get_flags(dev) | SC_AUTODETECT_KBD); | ||||
if (err != 0) | if (err != 0) | ||||
return (err); | return (err); | ||||
#endif | #endif | ||||
return (BUS_PROBE_DEFAULT); | return (BUS_PROBE_DEFAULT); | ||||
Show All 17 Lines | am335x_lcd_attach(device_t dev) | ||||
am335x_read_hdmi_property(dev); | am335x_read_hdmi_property(dev); | ||||
root = OF_finddevice("/"); | root = OF_finddevice("/"); | ||||
if (root == -1) { | if (root == -1) { | ||||
device_printf(dev, "failed to get FDT root node\n"); | device_printf(dev, "failed to get FDT root node\n"); | ||||
return (ENXIO); | return (ENXIO); | ||||
} | } | ||||
/* Fixme: Cant find any reference in DTS for dpll_disp_ck@498 for now. */ | /* Fixme: Cant find any reference in DTS for dpll_disp_ck for now. */ | ||||
err = clk_get_by_name(dev, "dpll_disp_ck@498", &sc->sc_clk_dpll_disp_ck); | err = clk_get_by_name(dev, "dpll_disp_ck", &sc->sc_clk_dpll_disp_ck); | ||||
if (err != 0) { | if (err != 0) { | ||||
device_printf(dev, "Cant get dpll_disp_ck@49\n"); | device_printf(dev, "Cant get dpll_disp_ck\n"); | ||||
return (ENXIO); | return (ENXIO); | ||||
} | } | ||||
sc->sc_panel.ac_bias = 255; | sc->sc_panel.ac_bias = 255; | ||||
sc->sc_panel.ac_bias_intrpt = 0; | sc->sc_panel.ac_bias_intrpt = 0; | ||||
sc->sc_panel.dma_burst_sz = 16; | sc->sc_panel.dma_burst_sz = 16; | ||||
sc->sc_panel.bpp = 16; | sc->sc_panel.bpp = 16; | ||||
sc->sc_panel.fdd = 128; | sc->sc_panel.fdd = 128; | ||||
sc->sc_panel.sync_edge = 0; | sc->sc_panel.sync_edge = 0; | ||||
sc->sc_panel.sync_ctrl = 1; | sc->sc_panel.sync_ctrl = 1; | ||||
panel_node = fdt_find_compatible(root, "ti,tilcdc,panel", 1); | panel_node = fdt_find_compatible(root, "ti,tilcdc,panel", 1); | ||||
if (panel_node != 0) { | if (panel_node != 0) { | ||||
if (bootverbose) | |||||
device_printf(dev, "using static panel info\n"); | device_printf(dev, "using static panel info\n"); | ||||
if (am335x_read_panel_info(dev, panel_node, &sc->sc_panel)) { | if (am335x_read_panel_info(dev, panel_node, &sc->sc_panel)) { | ||||
device_printf(dev, "failed to read panel info\n"); | device_printf(dev, "failed to read panel info\n"); | ||||
return (ENXIO); | return (ENXIO); | ||||
} | } | ||||
if (am335x_read_timing(dev, panel_node, &sc->sc_panel)) { | if (am335x_read_timing(dev, panel_node, &sc->sc_panel)) { | ||||
device_printf(dev, "failed to read timings\n"); | device_printf(dev, "failed to read timings\n"); | ||||
return (ENXIO); | return (ENXIO); | ||||
▲ Show 20 Lines • Show All 98 Lines • Show Last 20 Lines |