Rev 2089 | Rev 3672 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2089 | Rev 2510 | ||
---|---|---|---|
Line 61... | Line 61... | ||
61 | 61 | ||
62 | if (strcmp(name, "SUNW,m64B") == 0) |
62 | if (strcmp(name, "SUNW,m64B") == 0) |
63 | scr_type = SCR_ATYFB; |
63 | scr_type = SCR_ATYFB; |
64 | else if (strcmp(name, "SUNW,ffb") == 0) |
64 | else if (strcmp(name, "SUNW,ffb") == 0) |
65 | scr_type = SCR_FFB; |
65 | scr_type = SCR_FFB; |
- | 66 | else if (strcmp(name, "cgsix") == 0) |
|
- | 67 | scr_type = SCR_CGSIX; |
|
66 | 68 | ||
67 | if (scr_type == SCR_UNKNOWN) { |
69 | if (scr_type == SCR_UNKNOWN) { |
68 | printf("Unknown keyboard device.\n"); |
70 | printf("Unknown keyboard device.\n"); |
69 | return; |
71 | return; |
70 | } |
72 | } |
Line 149... | Line 151... | ||
149 | printf("Failed to determine screen address.\n"); |
151 | printf("Failed to determine screen address.\n"); |
150 | return; |
152 | return; |
151 | } |
153 | } |
152 | 154 | ||
153 | break; |
155 | break; |
- | 156 | case SCR_CGSIX: |
|
- | 157 | switch (fb_depth) { |
|
- | 158 | case 8: |
|
- | 159 | fb_scanline = fb_linebytes; |
|
- | 160 | visual = VISUAL_INDIRECT_8; |
|
- | 161 | break; |
|
- | 162 | default: |
|
- | 163 | printf("Not implemented.\n"); |
|
- | 164 | return; |
|
- | 165 | } |
|
- | 166 | ||
- | 167 | ofw_sbus_reg_t *cg6_reg = &((ofw_sbus_reg_t *) prop->value)[0]; |
|
- | 168 | if (!ofw_sbus_apply_ranges(node->parent, cg6_reg, &fb_addr)) { |
|
- | 169 | printf("Failed to determine screen address.\n"); |
|
- | 170 | return; |
|
- | 171 | } |
|
- | 172 | ||
- | 173 | break; |
|
154 | default: |
174 | default: |
155 | panic("Unexpected type.\n"); |
175 | panic("Unexpected type.\n"); |
156 | } |
176 | } |
157 | 177 | ||
158 | fb_init(fb_addr, fb_width, fb_height, fb_scanline, visual); |
178 | fb_init(fb_addr, fb_width, fb_height, fb_scanline, visual); |